Programming-[Base]/OS-Unix, Linux, Ubuntu

1. Unix의 기본 - 1-2. 여러가지 기본 커맨드 살펴보기

컴퓨터 탐험가 찰리 2020. 7. 26. 07:40
728x90
반응형

여러가지 명령어

1. 새로운 파일의 생성 command : touch

touch 인자1

ex) touch test : 'test'라는 이름을 가진 파일을 만듦(기본적으로 txt 파일을 만든다)

 

2. 파일 및 디렉토리의 이동, 이름 변경 command : mv(move)

mv 인자1 인자2

ex) mv test folder: 'folder'라는 폴더에 'test'라는 파일을 이동시킨다.

ex) mv test test1: 'test'라는 파일 또는 폴더의 이름을 'test1'이라는 파일 또는 폴더로 변경해준다.

 

경로 이동을 하면서 이름도 변경하려면, 인자2 부분에 '../folder'와 같이 경로를 써주면 된다.

 

>>> -i 옵션(interactive) : 이동이나 이름 변경 시에, 중복되는 파일이 없는지 검사하여 덮어쓸 것인지 물어봐준다.

(-i 옵션을 사용하지 않으면 기본적으로 파일이나 디렉토리를 덮어쓰기 해버린다.)

ex) mv -i test test1

 

3. 파일 및 디렉토리의 복사, 붙여넣기 command : cp (copy&paste)

cp 인자1 인자2

ex) cp test text1 : 'text'라는 파일을 'text1'이라는 파일로 복사 및 붙여넣기 한다.

 

>>> -i 옵션 : mv command와 같이 -i 옵션을 쓰면 덮어쓸 것인지 물어봐준다. 복사 시에 덮어써버리는 실수가 많으므로 -i 옵션을

기본적으로 써주도록 한다.

 

>>> -r 옵션(recursive) : 디렉토리를 복사 및 붙여넣기할때 써줘야하는 옵션이다.

디렉토리의 경우 안에 파일들이 있을 수 있기 때문에 하위에 존재하는 모든 디렉토리 및 파일을 복사한다는 의미에서 recursive라는 옵션을 작성해준다.

 

4. 파일 및 디렉토리 삭제 command : rm(remove)

rm 인자1

ex) rm text : 'text'라는 파일을 삭제한다.

>> rm을 사용하여 파일을 지우고 나면, 휴지통에 들어가는것이 아니라 파일을 완전히 삭제하므로, 유의해서 사용해야 한다.

 

>> -r옵션 : 디렉토리를 삭제할때 써줘야 한다.(cp command와 동일한 원리)

>> -i옵션 : 디렉토리 안에 있는 파일들을 삭제할 것인지 개별적으로 물어봐준다.

>> -f옵션 : 'forced'의 약자로, 해당 옵션을 사용하면 파일을 강제로 삭제하게 된다.

 

 

이해를 위한 종합 예제)

1. mkdir folder : 'folder'라는 이름을 갖는 폴더를 생성

2. pwd : 현재 위치 확인

3. ls : 현재 위치의 디렉토리 및 파일 조회

4. cd folder : 'folder' 위치로 이동

5. touch test : 'test'라는 이름을 갖는 파일 생성

6. touch test1 : 'test1'라는 이름을 갖는 파일 생성

7. ls : 현재 위치의 디렉토리 및 파일 조회

8. rm -r -i folder : 'folder' 디렉토리 삭제 (-r, -i 옵션 적용)

error >>> 해당 폴더 내에서 rm 명령은 불가하다. 상위 폴더로 이동하여야 하위 폴더에 대한 명령을 할 수 있다.

9. cd .. : 상위 폴더로 이동

10. rm -r -i folder: 'folder' 디렉토리 삭제(-r, -i 옵션 적용)

11. rm: ...      : 디렉토리 및 각 파일을 지울 것인지 물어본다.

error >>> 폴더 내의 'test1'파일은 지우되, 'test'파일은 삭제하지 않도록 하였는데, 'test'파일이 있는 디렉토리 'folder'를 지우도록했다. 'folder'내의 'test' 파일이 남아있도록 했기 때문에 디렉토리 'folder'를 삭제할 수 없어 에러가 발생했다.

 

>>> -i 옵션을 써주지 않으면 디렉토리를 그냥 삭제해버리게 된다. 휴지통에도 남지 않는 형태로 완전히 삭제된다..

 

 

5. 파일 내용 출력 또는 여러 파일내용 이어서 출력 command : cat(concatenate; 이어붙이다.)

cat 인자1 인자2

ex) cat test1 test2 : test1의 code 뒤에 test2의 code를 붙여넣어준다.

 

 cat 인자1

:인자1에 해당하는 파일의 내용만 출력해준다.

 

>>> command : less 인자1 인자2

파일의 내용이 너무 길 때, terminal 화면에서 보기 쉬운 모드로 변환해준다.

화살표 위, 아래 키로 한줄씩 이동할 수 있고, 'space bar'로 한 page 아래, 'b' 키로 한 page 위로 이동할 수 있다.

'소문자 g'로 파일의 처음으로, '대문자 G'로 파일의 마지막으로 이동할 수 있고, 'q'키를 눌러 해당 모드를 빠져나올 수 있다.

 

인자2까지 입력하면 cat command와 같이 파일을 붙여넣어주는데, cat command와 다르게 한 화면에 한 파일만 보여준다.

한 파일의 끝에서 ':n(next)' 키를 누르면 다음 페이지로, ':p(previous)' 키를 누르면 이전 페이지로 이동한다.

 

6. code 내용 수정

code 파일이름

해당 파일을  VScode 로 열어준다.

>> 'explorer 파일이름' : Windows에서 파일 관리자로 파일을 열어준다.

>> 'open 파일이름' : macOS에서 finder로 파일을 열어준다.

 

>> 'code .'을 입력하면, 현재 열려있는 directory(폴더)를 vscode로 열어준다.

 

7. 파일 내용 일부만 출력 command : head, tail

head 인자1

ex) head test1 : test1파일의 맨 앞 10줄을 출력해준다.

 

>>> '-n 옵션' : 기본값으로 설정된 10줄이 아닌 출력하고 싶은 줄의 수를 설정해줄 수 있다.

ex) head -n 20 test1 : test1 파일의 맨 앞 '20줄'을 출력해준다.

 

tail 인자1

ex) tail test1 : test1파일의 맨 뒤 10줄을 출력해준다.

-n 옵션을 head command와 마찬가지로 사용할 수 있다.

 

8. 파일 또는 폴더 열기

xdg-open (파일명 or 주소)

또는 nautilus (파일명 or 주소)

 

현재 directory의 폴더를 '탐색기'로 열기 위해 사용한다.

728x90
반응형