Linux

[리눅스] cp, mv 명령어 완벽 가이드

인생아 2024. 9. 23. 11:55
반응형

리눅스에서 cpmv 명령어는 파일과 디렉토리의 복사 및 이동을 담당하는 중요한 명령어입니다. 두 명령어는 사용법이 매우 유사하지만, 기능적으로 차이가 있으며 다양한 옵션을 제공합니다.

cp 명령어

cp 명령어는 파일 및 디렉토리를 복사할 때 사용됩니다. 원본 파일이나 디렉토리는 그대로 남고, 지정된 경로에 복사본이 생성됩니다.

1. 파일 복사

단일 파일을 다른 위치로 복사할 때 가장 기본적인 형식입니다.

user@linux:~$ cp file.txt /home/user/documents/
user@linux:~$ ls /home/user/documents/
file.txt

이 명령어는 file.txt/home/user/documents/ 디렉토리로 복사한 후, 해당 디렉토리에 복사된 파일이 있는지 확인합니다.

2. 여러 파일 복사

한 번에 여러 파일을 복사할 수도 있습니다.

user@linux:~$ cp file1.txt file2.txt /home/user/documents/
user@linux:~$ ls /home/user/documents/
file1.txt  file2.txt

이 예시는 file1.txtfile2.txt/home/user/documents/ 디렉토리로 한 번에 복사하는 경우입니다.

3. 디렉토리 복사 (-r 옵션)

디렉토리를 복사하려면 -r(recursive) 옵션을 사용해야 합니다. 이 옵션이 없으면 디렉토리는 복사되지 않습니다.

user@linux:~$ cp -r my_folder /home/user/documents/
user@linux:~$ ls /home/user/documents/
my_folder

이 명령어는 my_folder 디렉토리와 그 안의 파일들을 모두 복사하는 예시입니다.

4. 덮어쓰기 여부 확인 (-i 옵션)

기존 파일을 덮어쓸 때 확인 메시지를 받고 싶다면 -i 옵션을 사용합니다.

user@linux:~$ cp -i file.txt /home/user/documents/
cp: overwrite '/home/user/documents/file.txt'? y

사용자가 'y'를 입력하면 기존 파일이 덮어써집니다.

5. 복사 시 진행 상황 표시 (-v 옵션)

복사 과정을 화면에 표시하려면 -v(verbose) 옵션을 사용합니다.

user@linux:~$ cp -v file.txt /home/user/documents/
'file.txt' -> '/home/user/documents/file.txt'

mv 명령어

mv 명령어는 파일과 디렉토리를 이동하거나 이름을 변경할 때 사용됩니다. 원본 파일은 이동하거나 이름을 바꾸면서 삭제됩니다.

1. 파일 이동

파일을 한 디렉토리에서 다른 디렉토리로 이동할 수 있습니다.

user@linux:~$ mv file.txt /home/user/documents/
user@linux:~$ ls /home/user/documents/
file.txt

이 명령어는 file.txt/home/user/documents/로 이동시킵니다. 원본 위치에 file.txt는 더 이상 존재하지 않습니다.

2. 파일 이름 변경

파일의 이름을 변경할 때도 mv 명령어를 사용합니다.

user@linux:~$ mv file.txt new_file.txt
user@linux:~$ ls
new_file.txt

이 명령어는 file.txt의 이름을 new_file.txt로 변경합니다.

3. 디렉토리 이동

디렉토리 이동도 가능하며, 동일한 방식으로 사용됩니다.

user@linux:~$ mv my_folder /home/user/documents/
user@linux:~$ ls /home/user/documents/
my_folder

이 명령어는 my_folder 디렉토리를 /home/user/documents/로 이동하는 예시입니다.

4. 덮어쓰기 확인 (-i 옵션)

기존 파일을 덮어쓰기 전에 확인 메시지를 받고 싶다면 -i 옵션을 사용합니다.

user@linux:~$ mv -i file.txt /home/user/documents/
mv: overwrite '/home/user/documents/file.txt'? y

사용자가 'y'를 입력하면 파일이 이동되며 덮어쓰기가 진행됩니다.

5. 강제 덮어쓰기 (-f 옵션)

덮어쓰기 여부를 묻지 않고 강제로 덮어쓰기 하려면 -f(force) 옵션을 사용합니다.

user@linux:~$ mv -f file.txt /home/user/documents/

cp와 mv의 차이점

cp는 파일과 디렉토리의 복사본을 생성하는 반면, mv는 파일을 이동시키거나 이름을 변경합니다. cp는 원본 파일을 그대로 두고 복사본을 만들지만, mv는 원본을 삭제하고 새로운 위치나 이름으로 이동합니다.

참고사이트

반응형