<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>도둑이개발저린다</title>
    <link>https://k-sy.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 24 Jun 2026 16:32:49 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>start_and</managingEditor>
    <image>
      <title>도둑이개발저린다</title>
      <url>https://tistory1.daumcdn.net/tistory/7051177/attach/722795cc60e4460a9df991b709bf3ed3</url>
      <link>https://k-sy.tistory.com</link>
    </image>
    <item>
      <title>[java] 자바 배열 사용하기</title>
      <link>https://k-sy.tistory.com/31</link>
      <description>&lt;pre id=&quot;code_1735680482875&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;배열은 &quot;같은 타입&quot; 의 여러 변수를 하나의 묶음으로 다루는것이다.
ex) 타입[] 변수명;
    변수명 = new 타입[길이];
    
1. 배열은 첫번째 INDEX 값 0으로 시작한다.
ex) int[5] 변수명;
	아래와 같이 지정한 길이는 0부터 4까지의 5개의 배열로 이루어진다.
    int [0],[1],[2],[3],[4]
    
2. 배열의 초기화
	배열은 자동으로 초기화 되기때문에 사용하기전에 초기화를 하지않아도 되지만,
    원하는 값을 저장하려면 아래와 같이 각 요소마다 값을 지정해 줘야한다.
ex) int [] 변수명 = new int[5];
	변수명[0] = 50;
    변수명[1] = 60;
    변수명[2] = 70;
    변수명[3] = 80;
    변수명[4] = 90;
    
위 예제를 반복문으로 쉽게 지정해 보자.

int [] 변수명 = new int[5];
for(int i=0; i&amp;lt;변수명.length; i++) {
	변수명[i] = i * 10 + 50;
}

3. 배열의 출력
	배열에 저장된 값을 확인한다.
ex) int [] 변수명 = {100, 95, 80, 70, 60};
	for(int i=0; i&amp;lt;변수명.length; i++) {
    	System.out.println(변수명[i]);
    }
    
    toString() 를 사용하면 배열의 모든요소를 출력할수도 있다.
    
4. 배열의 복사
	배열은 한번 생성하면 그 길이를 변경할 수 없기 때문에 길이를 늘리려면
    기존 배열보다 큰 새로운 배열을 만들고 기존 배열로부터 내용을 복사해야한다.
4.1 for문을 이용하여 복사
ex) int [] arr = new int [5];

	arr의 2배 길이 배열을 생성합니다.
	
	int [] tmp = new int [arr.length * 2];
    for(int i=0; i&amp;lt;arr.length; i++) {
    	tmp [i] = arr [i];
    }
    
    참조변수 arr이 새로운 배열을 바라보게 합니다.
    
4.2 System.arraycopy() 를 이용한 배열의 복사
	지정된 범위의 값들을 한번에 통째로 복사합니다.
    배열의 몇번째 요소에서 어느배열로 몇개의 값을 복사할 것인지 지정해야 합니다.
    
ex) System.arraycopy(num, 0, newNum, 0, num.length);
=&amp;gt; num [0] 에서 newNum [0] 으로 num.length개의 데이터를 복사합니다.&lt;/code&gt;&lt;/pre&gt;</description>
      <category>java 기초</category>
      <category>Java</category>
      <category>Java 기초</category>
      <category>java 배열</category>
      <category>배열 기초</category>
      <category>배열 반복문</category>
      <category>배열의 복사</category>
      <category>자바 배열</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/31</guid>
      <comments>https://k-sy.tistory.com/31#entry31comment</comments>
      <pubDate>Wed, 1 Jan 2025 07:09:45 +0900</pubDate>
    </item>
    <item>
      <title>[linux] 리눅스 tail, grep, rm, kill 명령어 정리</title>
      <link>https://k-sy.tistory.com/30</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;안녕하세요.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 포스팅에선&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;tail&lt;/b&gt; 파일의 내용을 출력하는 명령어&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;grep&lt;/b&gt; 텍스트 파일에서 특정 문자열을 검색하여 해당 문자열이 포함된 행을 출력하는 명령어&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;rm&lt;/b&gt; 파일 또는 디렉토리를 삭제하는 명령어&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;kill&lt;/b&gt; 실행중인 프로세스ID(PID)를 종료 하는 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4개의 명령어에 대해 포스팅 해보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1730796795459&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. tail
- 파일의 마지막 부분을 출력하는 명령어 입니다.
  기본적으로 파일의 마지막 10줄을 출력합니다.

사용예제 : 
[~]# tail 파일명
결과 : 파일의 마지막 10줄을 출력합니다.

[~]# tail -f 파일명 
결과 : - 를 붙여줌으로써 파일의 끝을 지속적으로 추적한다는 의미로
파일의 끝에서 새로운 내용이 추가될때마다 실시간으로 출력합니다.

[~]# tail -1000f 파일명
결과 : 파일의 마지막 1000줄을 출력한뒤 
새로운 내용이 추가될때마다 실시간으로 출력합니다.

2. grep
- 파일에서 특정 문자열을 검색하여 해당 패턴이 포함된 행을 출력하는 명령어 입니다.

grep [옵션] '패턴' 파일명
(옵션은 필수사항이 아님)
옵션 종류:
-i : 대소문자를 구분하지 않습니다.
-v : 패턴이 포함되지 않은 라인만 출력합니다.
-l : 패턴이 포함된 파일 이름만 출력합니다.
-n : 패턴이 포함된 라인의 번호를 함께 출력합니다.
(파일 내에서 라인번호를 보고싶을땐 :set nu 를 적용하면 볼 수 있습니다.)
-w : 단어 전체가 일치하는 경우만 찾습니다. 
(파일내용이 [test message 12345] 인 경우 띄어쓰기 이전까지의 
test, message, 12345 를 패턴에 넣지않는경우 조회되지 않습니다.

사용예제 : 
[~]# grep &quot;패턴&quot; 파일명
결과 : 파일에 특정문자열이 포함된 행을 출력합니다.

3. rm
- 파일이나 디렉토리를 삭제하는 명령어입니다.
매우 강력한 명령어로 한번 삭제된 파일은 복구가 어려우므로
업체들마다 사용권한을 부여하지않거나, 사용을 지양하는경우를 보았습니다.

rm [옵션] '파일명'
(옵션은 디렉토리를 제외. 필수사항이 아님)
옵션 종류:
-f : 강제로 삭제(삭제여부를 Y/N 묻지 않습니다.)
-r : 디렉토리와 그 안의 모든파일을 삭제합니다. (디렉토리=폴더 삭제시 필수)
-i : 삭제 전에 사용자에게 확인을 요청합니다.
(옵션을 명시하지 않아도 파일이 읽기 전용인 경우
중요한 파일이 실수로 삭제되지 않도록 하기 위한 보호 장치로 확인을 요청합니다)
-v : 삭제되는 파일을 상세히 출력합니다.
(removed `파일명')

사용예제 : 
[~]# rm -rf /디렉토리1/디렉토리2/디렉토리3/파일명
결과 : /디렉토리1/디렉토리2/디렉토리3 경로에 있는 &quot;파일명&quot;만 삭제됩니다.

사용예제 : 
[~]# rm -rf /디렉토리1/디렉토리2/디렉토리3
결과 : /디렉토리1/디렉토리2 경로에 있는 디렉토리3 가 삭제됩니다.
(디렉토리3에 포함된 모든파일도 삭제됩니다.)

4. kill
- 현재 서버에서 실행중인 프로세스를 종료시키는 명령어 입니다.
보통 스타트 쉘, 셧다운 쉘 로 프로세스를 실행 종료 시키지만 
간혹, 프로세스가 셧다운 명령어에 응답하지 않는경우나 좀비상태로 남아있는경우가
있기때문에 강제종료할때 사용했었습니다.
kill 명령어를 사용하기 위해선 프로젝트ID(PID)를 확인하여야 하는데,
ps 명령어와 top 명령어로 확인할 수 있습니다.
서버에 실행중인 프로세스가 많이 있다면 상세조회로 찾는게 용이합니다.

ps -ef | grep '프로세스이름' 으로 상세조회할 수 있습니다.
-e : 모든 프로세스 표시
-f : 상세 정보 출력

사용예제 : 
[~]# kill -9 PID
-9 : 강제로 종료하는 가장 강력한 신호로, 프로세스가 무시할 수 없으며 즉시 종료됩니다.
결과 : 입력한 PID가 즉시 종료됩니다.

추가로 killall 명령어도 존재하는데 kill 은 PID로 종료하는 반면,
killall 은 프로세스 이름으로된 모든 프로세스를 종료시킵니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>리눅스</category>
      <category>리눅스 grep</category>
      <category>리눅스 kill</category>
      <category>리눅스 rm</category>
      <category>리눅스 tail</category>
      <category>리눅스 기본</category>
      <category>리눅스 기초</category>
      <category>리눅스 명령어</category>
      <category>리눅스 파일조회</category>
      <category>리눅스기본명령어</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/30</guid>
      <comments>https://k-sy.tistory.com/30#entry30comment</comments>
      <pubDate>Wed, 6 Nov 2024 16:55:43 +0900</pubDate>
    </item>
    <item>
      <title>[java] do-while문, break문, continue문, 이름붙은 반복문 사용하기</title>
      <link>https://k-sy.tistory.com/29</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이전 while문에 이어서 오늘은 간단한&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;do-while문, break문, continue문, 이름붙은 반복문 사용에 대해서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단하게 다뤄볼려고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1730186504786&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. do-while문
while문 과는다르게 블럭을 먼저 수행한후에 
반복영역을 최소한 한번은 실행하는 구조다.
조건식을 확인하여 반복할지 평가한다.

do{
 // 조건식의 연산결과가 참일때 수행될 반복문
} while(조건식) ;    &amp;lt;---- 세미콜론을 잊지않도록 주의

2. break문
switch문에서 사용한 break문처럼 반복문에서도 break문을 사용할수있다.
자신이 포함된 가장 가까운 반복문 하나를 벗어난다.
주로 if문과 같이 사용하여 특정 조건을 만족하면 벗어나도록 사용한다.

ex) 숫자 100까지 증가하고 멈출생각이라면 무한루프 돌지않게 
if( i &amp;gt; 100)
break;
이런식으로 break를 사용할수있다.

3. continue문
 반복문 내에서만 사용할수 있으며, break문처럼 if 조건식이 참이되면
수행되는데, 블럭의 끝으로 이동한다.
대신 반복문이 break문 과는 다르게 끝나지않고 다음반복문이 실행된다.
전체 반복문 실행중에 특정 조건일때만 제외하고자 할때 유용하다.

break는 반복문을 탈출하지만, continue는 조건문을 탈출한다고 이해하면 된다.

4. 이름붙은 반복문

여러개의 반복문이 중첩된경우 break문으로 반복문을 완전히 벗어날수 없기때문에
 중첩된 반복문 앞에 이름을 붙이고 break문과 continue 문에 이름을 지정해 줌으로써
하나이상의 반복문을 벗어나거나 반복을 건너 뛸수있다.

ex) test1 이라는 이름을 반복문에 지정한뒤 해당 반복문의 이름을 break 처리한다.
test1 : for(조건식){
  if(조건식){
    break test1;
  }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>java 기초</category>
      <category>do while</category>
      <category>java break</category>
      <category>java continue</category>
      <category>java 반복</category>
      <category>java 반복문</category>
      <category>java 반복문이름설정</category>
      <category>java 반복문탈출</category>
      <category>java 백엔드</category>
      <category>java 조건문탈출</category>
      <category>이름붙은 반복문</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/29</guid>
      <comments>https://k-sy.tistory.com/29#entry29comment</comments>
      <pubDate>Tue, 29 Oct 2024 16:26:46 +0900</pubDate>
    </item>
    <item>
      <title>[java] 이모지 유니코드 변환방법</title>
      <link>https://k-sy.tistory.com/28</link>
      <description>&lt;pre id=&quot;code_1729671620291&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;이번 글에선 이모지 유니코드 변환방법에 대해서 소개하고자 합니다. 
JAVA 에서 이모지 사용시 문자열에 포함하려면 유니코드로 표현해줘야 합니다.

1. 이모지 관련 사이트에서 사용할 이모지의 code를 확인합니다.
유니코드 버전 목록 링크 : https://www.emojiall.com/ko/unicode-version-list&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;135315.JPG&quot; data-origin-width=&quot;1405&quot; data-origin-height=&quot;902&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bAYwRQ/btsKgLEjWeK/u49HjdSEbVSeK472Yl5mZK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bAYwRQ/btsKgLEjWeK/u49HjdSEbVSeK472Yl5mZK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bAYwRQ/btsKgLEjWeK/u49HjdSEbVSeK472Yl5mZK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbAYwRQ%2FbtsKgLEjWeK%2Fu49HjdSEbVSeK472Yl5mZK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1405&quot; height=&quot;902&quot; data-filename=&quot;135315.JPG&quot; data-origin-width=&quot;1405&quot; data-origin-height=&quot;902&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;513135.JPG&quot; data-origin-width=&quot;1410&quot; data-origin-height=&quot;901&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cqZ3SO/btsKhJyCBKw/v7ow7S9QkST5TrA0eO066K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cqZ3SO/btsKhJyCBKw/v7ow7S9QkST5TrA0eO066K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cqZ3SO/btsKhJyCBKw/v7ow7S9QkST5TrA0eO066K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqZ3SO%2FbtsKhJyCBKw%2Fv7ow7S9QkST5TrA0eO066K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1410&quot; height=&quot;901&quot; data-filename=&quot;513135.JPG&quot; data-origin-width=&quot;1410&quot; data-origin-height=&quot;901&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1729672024741&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;유니코드값을 검색하는 사이트에서 code 검색 후 matching text 클릭합니다.
유니코드 값 검색 사이트 링크 : http://www.fileformat.info/info/unicode/char/search.htm&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;244662462.JPG&quot; data-origin-width=&quot;1563&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Acd0d/btsKhzXdSgt/IpcKQ5G7y0lcs81A4zXfX1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Acd0d/btsKhzXdSgt/IpcKQ5G7y0lcs81A4zXfX1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Acd0d/btsKhzXdSgt/IpcKQ5G7y0lcs81A4zXfX1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAcd0d%2FbtsKhzXdSgt%2FIpcKQ5G7y0lcs81A4zXfX1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1563&quot; height=&quot;784&quot; data-filename=&quot;244662462.JPG&quot; data-origin-width=&quot;1563&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;135135135135.JPG&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;895&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byOxs4/btsKhcIcJ75/E2oqax6kW7qmrJq04VIAx1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byOxs4/btsKhcIcJ75/E2oqax6kW7qmrJq04VIAx1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byOxs4/btsKhcIcJ75/E2oqax6kW7qmrJq04VIAx1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyOxs4%2FbtsKhcIcJ75%2FE2oqax6kW7qmrJq04VIAx1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1068&quot; height=&quot;895&quot; data-filename=&quot;135135135135.JPG&quot; data-origin-width=&quot;1068&quot; data-origin-height=&quot;895&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1729672429114&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;닌자 라는 이모지의 유니코드값 &quot;\uD83E\uDD77&quot; 가 조회되었습니다.
해당 유니코드값을 사용하면 JAVA에서 닌자 이모지가 표현됩니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>알쓸범잡</category>
      <category>encodings</category>
      <category>Java</category>
      <category>java source code</category>
      <category>java 유니코드</category>
      <category>java 이모지</category>
      <category>유니코드</category>
      <category>이모지</category>
      <category>이모지 code</category>
      <category>이모지 인코딩</category>
      <category>이모티콘</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/28</guid>
      <comments>https://k-sy.tistory.com/28#entry28comment</comments>
      <pubDate>Wed, 23 Oct 2024 17:34:54 +0900</pubDate>
    </item>
    <item>
      <title>[linux] 리눅스 cp, mv 명령어 정리</title>
      <link>https://k-sy.tistory.com/27</link>
      <description>&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이전 cd, vi 명령어 정리에 이어서&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이 포스팅에선&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;cp 파일혹은 폴더를 복사하기 위한 명령어와&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;mv 파일혹은 폴더를 복사하거나 이름을 변경할때 사용하는&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;명령어에 대해서 정리하여 올릴려고 합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1729472926103&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. cp
- 파일혹은 폴더를 복사할때 사용하는 명령어 입니다.
사용예제 : 
[~]# cp 복사할파일혹은폴더입력 후 스페이스, 옴길경로입력 : 
(현재 경로에 있는 파일이면 디렉토리 경로는 입력 하지 않아도됩니다.)&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1.1. cp 명령어 사용 실습&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cfGbXX/btsKb4xUETz/mtK7UscpkYlpPH2IkuLmj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cfGbXX/btsKb4xUETz/mtK7UscpkYlpPH2IkuLmj1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cfGbXX/btsKb4xUETz/mtK7UscpkYlpPH2IkuLmj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcfGbXX%2FbtsKb4xUETz%2FmtK7UscpkYlpPH2IkuLmj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;246&quot; height=&quot;80&quot; data-origin-width=&quot;246&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실습을 위해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/home/sy_test/TEST 경로에 ONE, TWO 폴더 2개를 생성 하였습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;238&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DEt0J/btsKbLefXe9/N89Yz67NzHq1LiNhwOsdFK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DEt0J/btsKbLefXe9/N89Yz67NzHq1LiNhwOsdFK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DEt0J/btsKbLefXe9/N89Yz67NzHq1LiNhwOsdFK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDEt0J%2FbtsKbLefXe9%2FN89Yz67NzHq1LiNhwOsdFK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;238&quot; height=&quot;80&quot; data-origin-width=&quot;238&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;242&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nzlIp/btsKdZn4uvJ/lxOtWX0YKfKWb2rxKd6ur0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nzlIp/btsKdZn4uvJ/lxOtWX0YKfKWb2rxKd6ur0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nzlIp/btsKdZn4uvJ/lxOtWX0YKfKWb2rxKd6ur0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnzlIp%2FbtsKdZn4uvJ%2FlxOtWX0YKfKWb2rxKd6ur0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;242&quot; height=&quot;68&quot; data-origin-width=&quot;242&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/home/sy_test/TEST/ONE 경로에는 cp_test 파일이 존재하나,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TWO 경로에는 존재하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cp 명령어를 사용하여 TWO 경로에도 cp_test를 복사 해보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;68&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SoNv3/btsKcQy6XQe/yjZeDmvMt7szJE5fRjpMOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SoNv3/btsKcQy6XQe/yjZeDmvMt7szJE5fRjpMOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SoNv3/btsKcQy6XQe/yjZeDmvMt7szJE5fRjpMOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSoNv3%2FbtsKcQy6XQe%2FyjZeDmvMt7szJE5fRjpMOK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;480&quot; height=&quot;68&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;68&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cp -rf cp_test /home/sy_test/TEST/TWO 를 입력하여 해당 파일을 복사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;만약 옴기려는 디렉토리 위치의 맨뒤에 추가로 입력한다면 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;cp_test의 파일이 입력한 이름으로 복사됩니다. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;/home/sy_test/TEST/TWO/입력한 이름&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;주로 cp 명령어는 디렉토리의 파일을 백업하는데 사용하기 때문에, &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ex) 파일명.backup, 파일명.백업날짜 등 이름변경이 많이 사용됩니다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-r (recursive): 이 옵션은 디렉토리와 그 안의 모든 파일 및 하위 디렉토리를 복사합니다. 디렉토리를 복사할 때 필수적인 옵션입니다. 파일만 복사해도 -r를 사용하는데 있어서 문제는 안되기때문에 사용하였습니다.&lt;/li&gt;
&lt;li&gt;-f (force): 이 옵션은 복사할 때 대상 파일이 이미 존재하는 경우, 확인을 묻지 않고 덮어쓰도록 강제로 수행합니다. 기존 파일이 있을 때 경고 없이 작업을 진행하게 됩니다. -f를 사용하지 않는경우 덮어쓸거냐는 질문에 Y, N 으로 입력하면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;82&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIPdLp/btsKc2eQS1e/kTogssbUBCn9hy71jx0bMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIPdLp/btsKc2eQS1e/kTogssbUBCn9hy71jx0bMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIPdLp/btsKc2eQS1e/kTogssbUBCn9hy71jx0bMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIPdLp%2FbtsKc2eQS1e%2FkTogssbUBCn9hy71jx0bMK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;229&quot; height=&quot;82&quot; data-origin-width=&quot;229&quot; data-origin-height=&quot;82&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일이 복사된걸 확인할 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1729475395285&quot; class=&quot;html xml&quot; data-ke-language=&quot;html&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;2. mv
- 파일혹은 폴더를 복사하거나 이름을 변경할때 사용하는 명령어 입니다.
cp 명령어와 다른점은 cp는 복사의 역할이지만,
mv 명령어는 잘라내기의 역할입니다.
mv 를 사용하여 파일혹은 폴더를 복사하려고 한다면, 기존 경로에 있던 파일혹은 폴더는 삭제됩니다.

사용예제 : 
[~]# mv 복사할파일혹은폴더입력 후 스페이스, 옴길경로입력 : 
(현재 경로에 있는 파일이면 디렉토리 경로는 입력 하지 않아도됩니다.)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.1. mv 명령어 실습&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;81&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oDpMf/btsKbU92y15/ayrgV2dp8fFWmmCOWxHyik/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oDpMf/btsKbU92y15/ayrgV2dp8fFWmmCOWxHyik/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oDpMf/btsKbU92y15/ayrgV2dp8fFWmmCOWxHyik/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoDpMf%2FbtsKbU92y15%2FayrgV2dp8fFWmmCOWxHyik%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;212&quot; height=&quot;81&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;81&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;228&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d65AVr/btsKcdOIgIX/VHhbKkwAgjnXawuriD6EX1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d65AVr/btsKcdOIgIX/VHhbKkwAgjnXawuriD6EX1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d65AVr/btsKcdOIgIX/VHhbKkwAgjnXawuriD6EX1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd65AVr%2FbtsKcdOIgIX%2FVHhbKkwAgjnXawuriD6EX1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;228&quot; height=&quot;67&quot; data-origin-width=&quot;228&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/home/sy_test/TEST/ONE 경로에 mv_test 파일이 존재하나,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TWO 경로에는 존재하지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mv 명령어를 사용하여 TWO 경로로 mv_test 파일을 옴겨보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;82&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbTp82/btsKdCUhXEM/wuEeXkj61aTIbpxzacpU6K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbTp82/btsKdCUhXEM/wuEeXkj61aTIbpxzacpU6K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbTp82/btsKdCUhXEM/wuEeXkj61aTIbpxzacpU6K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbTp82%2FbtsKdCUhXEM%2FwuEeXkj61aTIbpxzacpU6K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;451&quot; height=&quot;82&quot; data-origin-width=&quot;451&quot; data-origin-height=&quot;82&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;80&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boK4zP/btsKdfynpYJ/vDqRddACmkTSsA9lU3q141/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boK4zP/btsKdfynpYJ/vDqRddACmkTSsA9lU3q141/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boK4zP/btsKdfynpYJ/vDqRddACmkTSsA9lU3q141/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboK4zP%2FbtsKdfynpYJ%2FvDqRddACmkTSsA9lU3q141%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;212&quot; height=&quot;80&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;80&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 설명드린대로 mv mv_test /home/sy_test/TEST/TWO 를 입력하니 ONE경로에 있던 파일은 삭제되고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TWO경로에 파일이 복사 된것을 확인할 수 있습니다.&lt;/p&gt;</description>
      <category>리눅스</category>
      <category>cp</category>
      <category>MV</category>
      <category>리눅스</category>
      <category>리눅스 cp</category>
      <category>리눅스 mv</category>
      <category>리눅스 os</category>
      <category>리눅스 명령어</category>
      <category>리눅스 복사하기</category>
      <category>리눅스 파일이동</category>
      <category>리눅스명령어</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/27</guid>
      <comments>https://k-sy.tistory.com/27#entry27comment</comments>
      <pubDate>Mon, 21 Oct 2024 11:14:32 +0900</pubDate>
    </item>
    <item>
      <title>[linux] 리눅스 cd, vi 명령어 정리</title>
      <link>https://k-sy.tistory.com/26</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;회사 업무에 있어 자주사용 했었던 리눅스 명령어를 정리하기위한 포스팅입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 포스팅에선&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cd 디렉토리 이동 명령어와&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;vi 파일 편집 명령어 를 간단히 정리하여 올리려고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1729038873196&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. cd
- 디렉토리(폴더) 경로로 이동하기 위한 명령어입니다.

사용예제 : 
[~]# cd 진입할 경로입력 : 
(진입할 최상위 경로가 현재 경로에 없는 폴더라면 맨앞에 /를 붙여야합니다.)
최상위 경로는 --&amp;gt; /1번경로/2번경로/3번경로 라고 할때, 1번경로가 최상위 경로이며, 2번과 3번을 하위경로라고 합니다.

[~]# cd .. : (현재 경로에서 하위 경로로 이동합니다.)
..뒤에 / 를 붙여 ..를 원하는 경로만큼 중복해서 입력해주면 원하는 하위경로로 돌아갈 수 있습니다.

[~]# cd ../../.. : (현재 경로에서 3개의 하위 경로로 이동합니다.)

2. vi
- 파일을 편집하기 위한 명령어 입니다. 
(파일이 존재하지 않더라도 해당 파일명으로 열리는데, 내용을 입력 할시 해당 파일이 생성되기도 합니다.)

사용예제 :
[~]# vi 편집할 파일명 입력 : 
(현재 경로에 있는 파일이면 디렉토리 경로는 입력 하지 않아도됩니다.)

현재 경로에 없는 파일 일시 디렉토리 경로까지 입력합니다.
[~]# vi /디렉토리경로/편집할 파일명

- 파일 내에서 입력사항
2.1. :q
- 파일 밖으로 나갑니다.
2.2. :q!
- 수정사항이 있지만 수정사항을 저장하지 않고 파일 밖으로 나갑니다.
2.3. Esc
- 명령 모드로 돌아갑니다.
2.4. Insert, i
- 입력, 수정 할수 있는 모드입니다.
2.5. o
- 현재 줄 아래에 새로운 줄을 생성하고 입력모드로 전환 합니다.
2.6. Delete, x
- 커서 위치로부터 뒤부분을 지웁니다.
2.7. dd
- 현재 줄을 삭제합니다.
2.8. yy
- 현재 줄을 복사합니다. (p 를 입력하면 복사한 줄을 붙여넣습니다)
2.9. :w
- 파일 내용을 저장합니다.
2.10. :wq
- 파일 내용을 저장하고 파일 밖으로 나갑니다.
2.11. :set nu
- 파일 내에서 라인(줄)번호를 표시 합니다.
2.12. :set nonu
- 라인(줄)번호를 숨깁니다.
2.13. :e filename
- 같은 경로에 있던 다른 파일 을 열수 있습니다.
2.14. :r filename
- 다른 파일의 내용을 현재 커서위치의 아래에 붙여넣습니다.
2.15. /검색할 키워드 입력
- 현재 커서로 부터 검색할 키워드의 위치로 이동 합니다.
(n 입력시 다음 위치로 이동합니다. [Caps Lock] 입력 시 역순으로 이동 합니다.)
2.16. ?검색할 키워드 입력
- 파일의 최하단부터 검색할 키워드의 위치로 이동 합니다.
2.17. Shift+G
- 현재 파일의 최하단으로 이동 합니다.
2.18. G+G
- 현재 파일의 최상단으로 이동 합니다.
2.19. Home
- 커서를 현재 줄의 맨 앞으로 이동합니다.
2.20. End
- 커서를 현재 줄의 맨 뒤로 이동합니다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나머지 cp, tail, grep, mv 등 정리하여 다음 포스팅에서 뵙겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;감사합니다.&lt;/p&gt;</description>
      <category>리눅스</category>
      <category>cd</category>
      <category>cp</category>
      <category>grep</category>
      <category>Linux</category>
      <category>linux 명령어</category>
      <category>PWD</category>
      <category>tail</category>
      <category>VI</category>
      <category>리눅스 기초</category>
      <category>리눅스 명령어</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/26</guid>
      <comments>https://k-sy.tistory.com/26#entry26comment</comments>
      <pubDate>Wed, 16 Oct 2024 11:02:24 +0900</pubDate>
    </item>
    <item>
      <title>[java] while 반복문 을 알아보고 for문과 비교</title>
      <link>https://k-sy.tistory.com/25</link>
      <description>&lt;pre id=&quot;code_1728904325688&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. while문
 조건식이 참인동안, 조건식이 거짓이 될때까지 블럭{} 내의 문장을 반복한다.
 조건식을 평가해서 참이면 문장을 수행하고 조건으로 다시 돌아간다.
 거짓인경우 문장 전체를 벗어난다.

while (조건식){
 // 조건식의 연산결과가 true인경우 반복될 문장
}

2. for 문과 while 문 비교 (while문은 조건문 생략불가)
***************************

1부터 10까지 반복되는 반복문
★for문
for(int i=1; i&amp;lt;=10; i++){
 System.out.println(i);
}

1부터 10까지 반복되는 반복문
★while
int i=1;
while(i&amp;lt;=10;){
System.out.println(i);
i++
}
***************************

3. while문 무한루프 방법

while(true){
// 조건식이 항상 참이여서 무한 반복된다.
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러번 소스를 분석하고 로직을 개발하다보면 같은 반복문이여도 한가지만 쓰는것이 아니라, 상황에 맞게 사용된다는것이 정말 놀라웠다. 초기엔 for문외엔 반복문으로 사용하지 않았지만 점차 while문을 써야하는 상황을 만나니 왜 반복문이 여러개인지 알게되었다.&amp;nbsp;&lt;/p&gt;</description>
      <category>java 기초</category>
      <category>for문</category>
      <category>Java</category>
      <category>java 반복문</category>
      <category>while문</category>
      <category>반복문</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/25</guid>
      <comments>https://k-sy.tistory.com/25#entry25comment</comments>
      <pubDate>Mon, 14 Oct 2024 20:18:37 +0900</pubDate>
    </item>
    <item>
      <title>[java] 자바 for문 사용하기</title>
      <link>https://k-sy.tistory.com/24</link>
      <description>&lt;pre id=&quot;code_1727983562285&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;for 반복문
1. for문 (~~하는동안 = 조건식이 참일동안)
 for(초기화; 조건식; 증감식;){
 // 조건식이 참일 때 수행될 문장들을 적는다.
}
조건식이 참인동안 {}블럭내의 문장들을 반복하다가 거짓이되면 반복문을 벗어난다.

조건식이 생략된경우 조건식이 참이되서 무한루프가 돌아간다.
조건식이 거짓인경우 거짓에대한 반복문은 출력되지않고 종료된다.

1-1. 중첩 for문
 if문 안에 또 다른 if문을 넣을수있는것처럼 for문안에 또 다른 for문을 포함시키는것이 가능하고,
 중첩의 횟수는 거의 제한이 없다.

ex) 별5개 5줄 찍기.
for(int i=1; i&amp;lt;=5; i++) {
	for(int j=1; j&amp;lt;=10; j++) {
		System.out.print(&quot;*&quot;);
	}
	System.out.println();
}

ex) 별 1개씩 증가하게 5줄 찍기.
for(int i=1; i&amp;lt;=5; i++) {
	for(int j=1; j&amp;lt;=i; j++) {
		System.out.print(&quot;*&quot;);
	}
	System.out.println();
}

1-2 향상된 for문
 for( 타입 변수명 : 배열 또는 컬렉션 ){
 // 반복할 문장
}

ex) 배열 출력하기 (아래의 기존 for문과 향상된 for문은 동일하다.)
 int [] arr = {10,20,30,40,50};
 
***********************************
기존 for문
 for(int i=0; i&amp;lt;arr.length; i++;){
     System.out.println(arr[i]);
 }

향상된 for문
 for(int tmp : arr){
     System.out.println(tmp);
 }

***********************************&lt;/code&gt;&lt;/pre&gt;</description>
      <category>java 기초</category>
      <category>For</category>
      <category>for문</category>
      <category>for문예제</category>
      <category>Java</category>
      <category>반복문</category>
      <category>자바</category>
      <category>자바반복문</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/24</guid>
      <comments>https://k-sy.tistory.com/24#entry24comment</comments>
      <pubDate>Fri, 4 Oct 2024 04:28:23 +0900</pubDate>
    </item>
    <item>
      <title>[java] switch문 사용하기</title>
      <link>https://k-sy.tistory.com/23</link>
      <description>&lt;pre id=&quot;code_1725707773426&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. switch문은 if문에비해 하나의 조건식으로 많은 경우의 수를 처리할수있다.

 조건식의 결과와 일치하는 case로 이동한다.
 조건식의 결과와 일치하는 case가 없는경우 defaul문으로 이동한다.
 break 나 switch 문의 끝으로 갈 시 문법 밖으로 나온다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1725707786467&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;2. 각 case문 마다 break를 까먹지말고 넣어준다. 

 마지막 case문장 같은경우 break는 생략해도된다.
 break를 넣지 않는경우는 
 조건식에 회원등급 3등급이면 삭제,쓰기,읽기 권한 case문을 들어가게하고, 
 2등급이면 쓰기, 읽기 권한 
 1등급이면 읽기 권한만 주는식으로 
 break를 넣지않는 방법도 있다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1725709739993&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;3. switch문의 조건식 결과는 정수, 문자열 이여야하고
 case문의 값은 정수 상수만 가능함 case를 여러개 걸수있음. 
 대신 중복되면안됨. 

 ex )   switch(ksy)
          case 1: case 5: case 11: case 38:
          System.out.println(&quot;1,5,11,38 이네요.&quot;);
          break;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1725710061814&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;4. 중첩 switch문도 사용가능하다.
 ex) switch(ksy){
       case `1`: case `2`: 
       switch(ksying){
       	case `1`:
		System.out.println(&quot;1이네요.&quot;);
	case `2`:
		System.out.println(&quot;2이네요.&quot;);
       }
       break;
       
       case '3': case '4':
       switch(ksying){
      	case '3':
		System.out.println(&quot;3이네요.&quot;);
	case `4`:
		System.out.println(&quot;4이네요.&quot;);
       }
       break;

    default:  (위의 case 1,2,3,4 조건이 아닐시 디폴트로 온다.)
	System.out.println(&quot;ksying을 다시확인해주세요.&quot;);
     }&lt;/code&gt;&lt;/pre&gt;</description>
      <category>java 기초</category>
      <category>Java</category>
      <category>java switch</category>
      <category>SWITCH</category>
      <category>스위치문</category>
      <category>자바</category>
      <category>자바 스위치</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/23</guid>
      <comments>https://k-sy.tistory.com/23#entry23comment</comments>
      <pubDate>Sat, 7 Sep 2024 20:55:04 +0900</pubDate>
    </item>
    <item>
      <title>[java] 조건문과 반복문 if, if else 문, 중첩 if문</title>
      <link>https://k-sy.tistory.com/22</link>
      <description>&lt;pre id=&quot;code_1725705516134&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. if문
 - if (조건식){
  조건식이 참(true)일때 수행될 문장을 적는다.
  조건식의 결과는 반드시 true, false이어야 한다.
}


{ } : 블럭이라고 한다.
블럭안에 한문장만넣거나, 아무런문장도 넣지 않는경우 생략할 수 있다.
하지만 가능하면 생략하지 않고 사용하는것이 좋다.
나중에 새로운 문장들이 추가되면 블럭 넣어주는걸 까먹을수있기때문에.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1725707243613&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;2. if-else 문
 - if(조건식){
	조건식이 참(true)인경우.
} else{
	조건식이 거짓(false)인경우.
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1725707265672&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;3. if-else if 문
 - if(조건식1){
	조건식1의 결과가 참(true)인경우
} else if(조건식2){
	조건식2의 결과가 참(true)인경우
} else if(조건식3){
	조건식3의 결과가 참(true)인경우
} else{
	조건식1,2,3에 해당되지 않는경우, 블럭은 생략가능
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1725707278666&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;4. 중첩 if문
 - if(조건식1){
	조건식1의 결과가 참(true)인경우
	} if(조건식2){
		조건식2의 결과가 참(true)인경우
	} else {
	조건식1의 결과가 참(true)인경우
} else{
	조건식1이 거짓(false)인경우
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>java 기초</category>
      <category>else if</category>
      <category>If</category>
      <category>if else</category>
      <category>IF문</category>
      <category>Java</category>
      <category>자바 if문</category>
      <category>자바 조건문</category>
      <category>조건문</category>
      <author>start_and</author>
      <guid isPermaLink="true">https://k-sy.tistory.com/22</guid>
      <comments>https://k-sy.tistory.com/22#entry22comment</comments>
      <pubDate>Sat, 7 Sep 2024 20:08:58 +0900</pubDate>
    </item>
  </channel>
</rss>