여러가지 명령어
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의 폴더를 '탐색기'로 열기 위해 사용한다.
'Programming-[Base] > OS-Unix, Linux, Ubuntu' 카테고리의 다른 글
macOS launchctl: firebase messaging background scheduling (1) | 2024.10.08 |
---|---|
3. 프로그램 설치하기, 소유권에 대한 이해 (0) | 2020.07.26 |
2. VIM 이해하기 (0) | 2020.07.26 |
1. Unix의 기본 - 1-3. 커맨드 쉽게 사용하기 (0) | 2020.07.26 |
1. Unix의 기본 - 1-1. Unix의 역사, CLI의 기초 사용방법( ls, cd) (0) | 2020.07.03 |