리눅스 파일 조작 명령어 완벽 가이드
rm, cp, mv 명령어를 마스터하여 리눅스 시스템에서 효율적으로 파일을 관리하는 방법
파일 조작 명령어 소개
리눅스 시스템에서 파일과 디렉토리를 관리하는 것은 시스템 관리의 기본이자 핵심입니다. 이 가이드에서는 가장 많이 사용되는 세 가지 파일 조작 명령어인 rm(삭제), cp(복사), mv(이동/이름 변경)에 대해 자세히 알아보겠습니다.
리눅스 터미널에서 파일 조작 명령어 사용 예시
1. rm 명령어 - 파일/디렉토리 삭제
rm
(remove) 명령어는 파일이나 디렉토리를 삭제하는 데 사용됩니다. 주의해서 사용해야 하는 명령어 중 하나로, 삭제된 파일은 일반적으로 복구가 어렵습니다.
기본 사용법
주요 옵션
옵션 | 설명 |
---|---|
-i | 삭제 전 확인 메시지 출력 (interactive) |
-f | 강제 삭제 (force), 확인 메시지 없이 바로 삭제 |
-r | 디렉토리 및 하위 내용 재귀적으로 삭제 (recursive) |
-v | 삭제 과정 출력 (verbose) |
사용 예시
$ rm file.txt
# 여러 파일 한 번에 삭제
$ rm file1.txt file2.txt file3.txt
# 디렉토리 삭제 (내용 포함)
$ rm -r my_directory
# 삭제 전 확인 메시지 출력
$ rm -i important_file.txt
# 현재 디렉토리의 모든 파일 삭제 (매우 위험!)
$ rm -f *
주의사항
rm -rf /
또는 rm -rf *
와 같은 명령어는 시스템을 완전히 망가뜨릴 수 있습니다. 특히 루트 권한으로 실행할 경우 시스템의 모든 파일을 삭제할 수 있으므로 각별히 주의해야 합니다.
2. cp 명령어 - 파일/디렉토리 복사
cp
(copy) 명령어는 파일이나 디렉토리를 복사하는 데 사용됩니다. 원본 파일은 그대로 유지되고 새로운 사본이 생성됩니다.
기본 사용법
주요 옵션
옵션 | 설명 |
---|---|
-i | 덮어쓰기 전 확인 메시지 출력 |
-r | 디렉토리 및 하위 내용 재귀적으로 복사 |
-p | 원본 파일의 속성(소유자, 권한, 시간 등) 유지 |
-v | 복사 과정 출력 |
-u | 대상이 없거나 원본이 더 최신일 때만 복사 (update) |
사용 예시
$ cp source.txt destination.txt
# 디렉토리 복사 (내용 포함)
$ cp -r source_dir destination_dir
# 여러 파일을 한 디렉토리로 복사
$ cp file1.txt file2.txt file3.txt /target_directory/
# 속성 유지하며 복사
$ cp -p original.txt copy.txt
# 최신 파일만 복사
$ cp -u source/*.txt backup/
팁: cp와 rsync 비교
대량의 파일이나 네트워크를 통해 복사할 때는 rsync
명령어가 더 효율적일 수 있습니다. rsync
는 변경된 부분만 복사하고 진행 상황을 표시하는 등 더 많은 기능을 제공합니다.
3. mv 명령어 - 파일/디렉토리 이동 또는 이름 변경
mv
(move) 명령어는 파일이나 디렉토리를 이동하거나 이름을 변경하는 데 사용됩니다. 윈도우의 '잘라내기 & 붙여넣기' 또는 '이름 바꾸기'에 해당합니다.
기본 사용법
주요 옵션
옵션 | 설명 |
---|---|
-i | 덮어쓰기 전 확인 메시지 출력 |
-v | 이동 과정 출력 |
-n | 기존 파일을 덮어쓰지 않음 (no clobber) |
-u | 대상이 없거나 원본이 더 최신일 때만 이동 |
사용 예시
$ mv oldname.txt newname.txt
# 파일 이동
$ mv file.txt /target_directory/
# 여러 파일을 한 디렉토리로 이동
$ mv file1.txt file2.txt file3.txt /target_directory/
# 디렉토리 이름 변경
$ mv old_dirname new_dirname
# 디렉토리 이동
$ mv source_dir /target_parent_directory/
mv의 효율성
mv
명령어는 실제로 데이터를 이동시키지 않습니다. 대신 파일 시스템의 메타데이터만 변경하므로, 같은 파일 시스템 내에서의 이동은 매우 빠르게 처리됩니다. 다른 파일 시스템 간 이동은 실제 복사 후 삭제 과정이 발생합니다.
명령어 비교 정리
명령어 | 기능 | 원본 유지 | 디렉토리 처리 | 주요 위험 요소 |
---|---|---|---|---|
rm | 파일/디렉토리 삭제 | ❌ (삭제됨) | -r 옵션 필요 | 복구 어려움, 데이터 손실 |
cp | 파일/디렉토리 복사 | ⭕ (유지됨) | -r 옵션 필요 | 디스크 공간 부족, 덮어쓰기 |
mv | 파일/디렉토리 이동 또는 이름 변경 | ❌ (원본 위치에 없음) | 옵션 없이 가능 | 덮어쓰기 |
리눅스 파일 관리 작업 흐름도
실전 팁과 모범 사례
안전하게 명령어 사용하기
- 삭제 전 확인하기:
rm -i
또는mv -i
로 확인 메시지를 활성화 - 중요 파일 백업: 중요한 작업 전에
cp -a
로 백업 생성 - 와일드카드 주의:
rm *
같은 명령어 실행 전 현재 디렉토리 확인 - 루트 권한 주의:
sudo
사용 시 특히 조심
고급 활용법
$ cp *.txt /backup/
# 특정 패턴을 가진 파일 삭제 (10일 이상된 로그 파일)
$ find /var/log -name "*.log" -mtime +10 -exec rm {} \;
# 대화형 모드로 여러 파일 이동
$ mv -i *.bak /old_backups/
# 파일을 복사하면서 이름 변경
$ cp original.txt /new/location/renamed.txt
'개발 > Linux' 카테고리의 다른 글
파일 조작 명령어: rm과 cp 명령어 활용 가이드 (0) | 2025.04.17 |
---|---|
Linux 파일 조작 명령어: touch, ln, rm -r (0) | 2025.04.17 |
리눅스 기본 파일 시스템 명령어: cd와 mkdir 활용법 (0) | 2025.04.16 |
리눅스 기본 파일 시스템 명령어: cd 명령어 완벽 가이드 (0) | 2025.04.16 |
리눅스 파일 시스템 탐색: ls 명령어의 활용법 (0) | 2025.04.16 |