명령줄에서 하는 일 대부분은 파일 생성과 삭제, 복사하거나 이름을 바꾸는 것과 같이 어떤 식으로든 파일과 함께 작업하는 것입니다. 여기서는 파일, 디렉터리와 상호작용하는 데 필요한 내용을 다루겠습니다.
디렉터리 만들기
디렉터리를 생성하려면 mkdir(make directory) 명령을 사용합니다. 실제 Finder에 표시되지요. Documents 디렉터리에 example이라는 디렉터리를 만들려면 다름과 같이 입력합니다.
mkdir ~/Documents/example
만약 mkdir ~/Documents/apple/orange/example처럼 Documents 디렉터리에 apple, orange라는 디렉터리를 만들고 그 안에 example 디렉터리를 생성하고 싶습니다. 이처럼 다양한 계층 구조를 한꺼번에 만들고 싶다면 -p(parent directory) 플래그를 추가하세요.
mkdir -p ~/Documents/apple/orange/example
파일, 디렉터리 복사
같은 위치, 또는 서로 다른 위치에 있는 파일을 복제하려면 cp(copy) 명령을 사용합니다. 여기에는 복사할 파일과 복사 대상, 두 가지 인수가 필요합니다. 홈 디렉터리(~)에서 myfile을 복사해서 Documents에 넣고 싶으면 다음과 같이 입력합니다.
cp myfile Documents
복사하려는 파일과 대상은 다음과 같이 상대, 절대 경로를 모두 입력할 수 있습니다.
cp myfile /Users/Shared
cp /Users/gorae/Documents/myfile /Users/Shared
파일을 복사하고 복사본을 같은 디렉터리에 보관하려면 복사본이 가질 이름을 입력하세요.
cp myfile myfile2
디렉터리 복사하기
cp 명령을 사용하여 디렉터리를 복사할 수는 있지만 -r(recursive) 플래그를 추가해야 합니다. 예를 들어 example이라는 디렉터리를 아래와 같이 복사하면 오류 메시지를 표시합니다.
cp example ~/Documents
올바르게 입력하려면 다음과 같이 입력합니다.
cp -r example ~/Documents
cp -r을 사용할 때 복사할 디렉터리 끝에 슬래시(/)는 사용하지 않도록 합니다. 복사할 디렉터리에 슬래시(/)를 쓰면 디렉터리가 아닌 그 안의 모든 항목만 복사합니다. 예를 들어 cp -r example/ ~/Documents라고 입력하면 example 디렉터리는 복사하지 않고 example 속의 항목만 Documents로 복사합니다.
항목 이동, 이름 바꾸기
파일을 다른 위치로 이동하려면 mv(move) 명령을 사용합니다. 이 명령도 cp처럼 소스와 대상이 필요한데요. myfile을 현재 디렉터리에서 Documents 디렉터리로 이동하려면 다음을 입력합니다.
mv myfile Documents
파일 이름 변경할 때도 mv를 사용합니다. 다소 이상한 얘기인 것처럼 들릴 수 있는데 mv는 이동하기도 하지만 같은 디렉터리에서 이름을 바꾸는 두 가지 역할을 합니다. myfile을 myfile2로 바꾸려면 다음과 같이 입력합니다.
mv myfile myfile2
파일, 디렉터리 삭제
파일을 삭제하려면 rm(remove)과 파일 이름을 차례로 사용하세요. 한 번에 여러 파일을 삭제할 수도 있습니다. 와일드카드(*)를 사용하면 편리하나 주의하십시오.
- rm myfile
- rm myfile myfile2 myfile3
- rm my*
디렉터리 삭제하는 것도 비슷합니다. rmdir(remove directory) 명령을 사용합니다.
rmdir mydirectory
Finder에서는 일단 휴지통을 한 번 거치기 때문에 실수로 삭제하거나 다시 필요하게 된 파일을 복구할 수 있지만, re, rmdir을 사용할 때는 그런 안전 장치가 없으므로 주의합니다.
'macOS 터미널 테크닉' 카테고리의 다른 글
macOS 터미널_권한 작업_07 (1) | 2022.07.11 |
---|---|
macOS 터미널_명령줄, 그래픽 인터페이스로 가져오기_06 (0) | 2022.07.06 |
macOS 터미널_둘러보기_04 (1) | 2022.06.30 |
macOS 터미널_둘러보기_03 (0) | 2022.06.28 |
macOS 터미널_기본 개념_02 (0) | 2022.06.27 |