우리는 이전 공부로 CLI 환경에서 폴더나 파일을 생성할 수 있게 되었습니다.
이번에는 파일의 이름을 변경하거나 위치를 옮기는 방법, 파일을 삭제하는 방법에 대하여 공부해 보겠습니다.
시작하기 전 준비
이번에는 폴더와 파일의 위치를 변경하거나 삭제하는 내용을 공부하기로 하였습니다.
폴더와 파일의 이름을 바꾸고, 위치를 이동하고, 삭제하는 내용이기 때문에 사용할 폴더, 파일을 추가하겠습니다.
$ mkdir hello
$ cd hello
$ pwd
$ mkdir bye
$ touch bye.txt
$ ls
위 명령어를 이용하여 폴더 hello를 생성하고, 폴더에 새로운 폴더와 파일을 만들겠습니다.
rm - 폴더나 파일 삭제하기
명령어 'rm'은 폴더나 파일을 삭제할 때 사용합니다. 명령어 rm의 뜻은 remove(삭제하다)입니다.
명령어 'rm'으로 삭제한 폴더나 파일은, 휴지통을 거치지 않고 삭제됩니다.
$ rm bye.txt
$ ls
이렇게 명령어 'rm'으로 파일을 삭제한 뒤 명령어 'ls'를 입력하면 폴더 'bye'만 출력됩니다.
남아있는 폴더도 삭제해 보겠습니다.
$ rm bye
rm: cannot remove 'bye' : Is a directory
뜻을 해석하자면 " 'bye'는 폴더이므로 rm으로는 삭제할 수 없다. " 정도겠네요.
이처럼 'rm'은 단일 파일을 삭제할 수 있습니다. 폴더를 삭제하고 싶다면 옵션을 사용해야 합니다.
명령어 'ls'에서 사용했던 것처럼 대시(-)를 사용하여 옵션을 입력해 보겠습니다.
사용할 수 있는 옵션은 r과 f입니다.
$ rm -rf bye
$ ls
이렇게 옵션을 사용하여 폴더를 삭제해 보았습니다.
mv - 폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 옮기기
명령어 'mv'는 move의 약자로, 폴더나 파일을 이동할 때 사용합니다.
CLI에서는 명령어 'mv'로 폴더나 파일을 다른 폴더로 옮길 수 있습니다.
앞서 폴더와 파일을 삭제했기 때문에 다시 생성해 줍니다.
$ mkdir bye
$ touch bye.txt
이제 명령어 'mv'를 통해 파일 "bye.txt"를 폴더 "bye"로 옮겨보겠습니다.
$ mv bye.txt bye/
$ ls
이제 폴더 "bye"로 이동하여, 파일 "bye.txt"가 잘 옮겨졌는지 확인해 보겠습니다.
$ cd bye
$ ls
폴더로 진입을 하니 "bye.txt" 파일이 잘 확인되네요. 이렇게, 명령어 'mv'는 폴더나 파일의 위치를 이동시킵니다.
명령어 'mv'에는 또 다른 기능도 있습니다. 바로 이름을 변경하는 기능입니다.
$ ls
$ mv bye.txt helloWorld.txt
$ ls
명령어를 입력하여 "bye.txt" 파일을 bye 폴더로 옮기고, "bye.txt" 파일의 이름을 "helloworld.txt"로 변경해 보았습니다.
cp - 폴더나 파일을 복사하기
명령어 'cp'는 copy의 약자로, 폴더나 파일을 복사할 때 사용합니다.
파일을 복사하기 위해서는 명령어 'cp'를 사용하는 경우에는, cp [원본 파일 이름] [복사할 파일 이름]을 프롬프트에 입력합니다.
$ ls
$ cp helloWorld.txt hiComputer.txt
$ ls
이번에는 폴더를 복사해 보겠습니다. 폴더를 복사하기 위해서 명령어 'cd'를 이용하여 상위폴더 'hello'로 이동해 보겠습니다.
$ cd ..
$ ls
# bye가 출력됩니다.
$ pwd
CLI에서. 은 현재 폴더를 나타냅니다. ..은 현재 폴더(.)를 기준으로, 앞에 . 이 하나 더 붙습니다. 이렇게 만들어진.. 은 현재 폴더보다 상위 폴더를 가리킵니다.
폴더 "bye"를 복사해 새로운 폴더 "hi"를 만들어 보겠습니다. 하지만 폴더를 복사를 위해 명령어 'cp'를 그냥 사용하면, 명령어 'rm'으로 폴더를 삭제할 때처럼 메시지가 출력됩니다.
명령어 'cp'에서 사용하는 옵션은, 명령어 'rm'과 동일합니다.
$ cp -rf bye hi
$ ls
여기서 r은 보통 디렉터리를 복사할 때 안에 내용이 있으면 복사되지 않습니다. 이 경우 하위 디렉토리를 포함한 모든 디렉토리를 복사합니다.
f는 복사대상파일이 이미 그 위치에 존재한다면 파일을 지우고 복사합니다. 강제로 복사합니다.
마침.
'공부' 카테고리의 다른 글
클라이언트 - 서버 아키텍쳐 (1) (0) | 2023.03.15 |
---|---|
리눅스 실습 - 원격 리눅스 서버에 접속하기 (0) | 2023.03.14 |
우분투 리눅스 공부 - 기본적인 명령어 (1) (0) | 2023.03.13 |
2023.03.10 표준스트림과 파이프라인, 리다이렉션 (0) | 2023.03.10 |
DevOps 자율학습 정리 (0) | 2023.03.09 |
댓글