리눅스에서 cp와 mv 명령어는 파일과 디렉토리의 복사 및 이동을 담당하는 중요한 명령어입니다. 두 명령어는 사용법이 매우 유사하지만, 기능적으로 차이가 있으며 다양한 옵션을 제공합니다.
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.txt와 file2.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는 원본을 삭제하고 새로운 위치나 이름으로 이동합니다.
'Linux' 카테고리의 다른 글
[리눅스] nano 명령어 완벽 가이드 (0) | 2024.09.23 |
---|---|
[리눅스] head, tail 명령어 완벽 가이드 (0) | 2024.09.23 |
[리눅스] more, less 명령어 완벽 가이드 (0) | 2024.09.23 |
[리눅스] cat 명령어 완벽 가이드 (0) | 2024.09.23 |
[리눅스] rm, rmdir 명령어 완벽 가이드 (0) | 2024.09.23 |
[리눅스] mkdir 명령어 완벽 가이드 (1) | 2024.09.22 |
[리눅스] pwd 명령어 완벽 가이드 (0) | 2024.09.21 |
[리눅스] cd 명령어 완벽 가이드 (0) | 2024.09.21 |