Linux 파일 조작 명령어
touch, ln, rm -r 명령어를 활용한 효율적인 파일 관리 방법
1. touch - 빈 파일 생성 또는 파일 시간 업데이트
명령어 정의
touch 명령어는 빈 파일을 생성하거나 기존 파일의 접근 및 수정 시간을 현재 시간으로 업데이트하는 데 사용됩니다.
기본 사용법
$ touch [옵션] 파일명
주요 옵션
옵션 | 설명 |
---|---|
-a | 접근 시간(access time)만 변경 |
-m | 수정 시간(modification time)만 변경 |
-c | 파일이 존재하지 않으면 생성하지 않음 |
-t | 지정한 시간으로 변경 (형식: [[CC]YY]MMDDhhmm[.ss]) |
사용 예제
$ touch newfile.txt # 빈 파일 생성
$ touch -t 202301011200 oldfile.txt # 지정 시간으로 변경
$ touch -a file.txt # 접근 시간만 업데이트
$ touch -t 202301011200 oldfile.txt # 지정 시간으로 변경
$ touch -a file.txt # 접근 시간만 업데이트
팁: touch 명령어는 스크립트에서 빈 로그 파일을 생성하거나, 빌드 시스템에서 파일 타임스탬프를 업데이트할 때 유용합니다.
2. ln - 링크 생성
명령어 정의
ln 명령어는 파일이나 디렉토리에 대한 링크(하드 링크 또는 심볼릭 링크)를 생성합니다.
기본 사용법
$ ln [옵션] 원본파일 링크파일
주요 옵션
옵션 | 설명 |
---|---|
-s | 심볼릭 링크 생성 (기본은 하드 링크) |
-f | 기존 링크 파일이 있으면 강제로 덮어씀 |
-i | 기존 링크 파일이 있으면 덮어쓸지 확인 |
-v | 자세한 정보 출력 |
하드 링크 vs 심볼릭 링크
특징 | 하드 링크 | 심볼릭 링크 |
---|---|---|
저장 방식 | 동일한 inode 참조 | 원본 파일 경로 저장 |
원본 삭제 시 | 영향 없음 | 링크 깨짐 |
파일 시스템 | 동일 파일 시스템 내에서만 가능 | 다른 파일 시스템에도 가능 |
디렉토리 링크 | 불가능 | 가능 |
사용 예제
$ ln -s /path/to/original link_name # 심볼릭 링크 생성
$ ln original.txt hardlink.txt # 하드 링크 생성
$ ln -sf new_target existing_link # 기존 링크를 새로운 대상으로 변경
$ ln original.txt hardlink.txt # 하드 링크 생성
$ ln -sf new_target existing_link # 기존 링크를 새로운 대상으로 변경
주의: 심볼릭 링크는 상대 경로로 생성될 수 있으므로, 시스템을 이동할 때 문제가 발생할 수 있습니다. 가능하면 절대 경로를 사용하세요.
3. rm -r - 디렉토리와 내용 재귀적으로 삭제
명령어 정의
rm 명령어에 -r 옵션을 사용하면 디렉토리와 그 하위 내용을 모두 재귀적으로 삭제할 수 있습니다.
기본 사용법
$ rm -r [옵션] 디렉토리명
주요 옵션
옵션 | 설명 |
---|---|
-r, -R, --recursive | 디렉토리와 그 내용을 재귀적으로 삭제 |
-f, --force | 확인 없이 강제 삭제 |
-i | 삭제 전 각 파일마다 확인 |
-v, --verbose | 삭제 과정을 자세히 출력 |
-d, --dir | 빈 디렉토리 삭제 |
사용 예제
$ rm -r my_directory # 디렉토리와 내용 삭제
$ rm -rf old_project # 확인 없이 강제 삭제
$ rm -ri temp_files # 각 파일마다 삭제 확인
$ rm -rf old_project # 확인 없이 강제 삭제
$ rm -ri temp_files # 각 파일마다 삭제 확인
중요 경고: rm -rf 명령어는 시스템을 파괴할 수 있는 강력한 명령어입니다. 특히 루트 디렉토리(/)에서 실행하면 시스템 전체가 삭제될 수 있습니다. 항상 삭제 대상 경로를 두 번 확인하세요.
안전한 삭제 방법: 먼저
ls -R 디렉토리명
으로 삭제할 내용을 확인한 후 rm 명령을 실행하거나, rm -ri
옵션을 사용하여 각 항목을 확인하면서 삭제하세요.
명령어 조합 활용 예시
임시 파일 정리 스크립트
# 30일 이상된 로그 파일 삭제
$ find /var/log -name "*.log" -mtime +30 -exec rm -v {} \;
$ find /var/log -name "*.log" -mtime +30 -exec rm -v {} \;
백업 시스템 구성
# 중요 파일에 대한 심볼릭 링크 생성
$ ln -s /mnt/backup/important_data.txt ~/data_link
# 링크 확인
$ ls -l ~/data_link
$ ln -s /mnt/backup/important_data.txt ~/data_link
# 링크 확인
$ ls -l ~/data_link
빈 디렉토리 정리
# 모든 빈 디렉토리 찾아 삭제
$ find . -type d -empty -delete
$ find . -type d -empty -delete
반응형
'개발 > Linux' 카테고리의 다른 글
리눅스 파일 조작 명령어: cp와 mv 활용 가이드 (0) | 2025.04.18 |
---|---|
파일 조작 명령어: rm과 cp 명령어 활용 가이드 (0) | 2025.04.17 |
리눅스 파일 조작의 핵심: rm, cp, mv 명령어 완벽 가이드 (0) | 2025.04.17 |
리눅스 기본 파일 시스템 명령어: cd와 mkdir 활용법 (0) | 2025.04.16 |
리눅스 기본 파일 시스템 명령어: cd 명령어 완벽 가이드 (0) | 2025.04.16 |