3 분 소요

리눅스에서 파일과 디렉토리 관리는 시스템 사용의 핵심입니다. 이번 글에서는 파일 조회, 복사, 삭제, 이동, 생성, 속성 확인, 검색까지 꼭 알아야 할 명령어 7가지를 실용적인 예제 중심으로 정리해 드립니다.


1. ls – 파일 및 디렉토리 목록 확인

설명

디렉토리 내부에 존재하는 파일과 하위 디렉토리를 출력합니다.

주요 옵션

옵션 설명 예시
-a 숨김 파일 포함 ls -a
-l 상세 정보 출력 ls -l
-r 역순 정렬 ls -r
-R 하위 디렉토리 포함 ls -R

Tip: ls -alh은 개발자들이 자주 사용하는 조합입니다.


2. cp – 파일 및 디렉토리 복사

설명

파일 또는 디렉토리를 복사할 때 사용합니다.

주요 옵션

옵션 설명 예시
-b 백업 파일 생성 cp -b a.txt b.txt
-f 강제 덮어쓰기 cp -f a.txt b.txt
-i 덮어쓰기 확인 cp -i a.txt b.txt
-r 디렉토리 전체 복사 cp -r dir1 dir2

주의: -r 옵션 없이는 디렉토리 복사가 안 됩니다.


3. rm – 파일 및 디렉토리 삭제

설명

파일 또는 디렉토리를 삭제합니다.

주요 옵션

옵션 설명 예시
-f 묻지 않고 강제 삭제 rm -f old.txt
-i 삭제 전 확인 rm -i file.txt
-r 디렉토리 재귀 삭제 rm -r old_dir/

rm -rf / 명령은 절대 실행 금지! 시스템 전체 삭제 위험이 있습니다.


4. mv – 파일 이동 또는 이름 변경

설명

파일이나 디렉토리를 다른 위치로 이동하거나 이름을 바꿀 때 사용합니다.

주요 옵션

옵션 설명 예시
-b 이동 전 백업 생성 mv -b file.txt file.bak
-f 강제 이동 mv -f old.txt new.txt
-v 실행 과정 표시 mv -v file1 dir/

이동 시 대상 위치에 동일 이름 파일이 있으면 덮어쓰게 되므로 주의해야 합니다.


5. touch – 빈 파일 생성 또는 시간 수정

설명

빈 파일을 새로 생성하거나, 기존 파일의 접근·수정 시간을 변경합니다.

주요 옵션

옵션 설명 예시
-a 접근 시간 변경 touch -a log.txt
-m 수정 시간 변경 touch -m log.txt
-c 파일이 없으면 무시 touch -c temp.txt
-r 다른 파일의 시간 복사 touch -r ref.txt target.txt

파일 존재 여부를 확인하지 않고 실행하는 경우, -c 옵션을 함께 사용하면 에러 방지에 유용합니다.


6. file – 파일 종류 및 속성 확인

설명

파일 확장자와 무관하게, 실제 내부 데이터를 기반으로 파일의 유형을 판단합니다.

주요 옵션

옵션 설명 예시
-b 파일명 제외 출력 file -b file.txt
-f 파일 목록으로 검사 file -f filelist.txt
-z 압축 파일 내부 분석 file -z archive.gz
-i MIME 타입 출력 file -i file.txttext/plain; charset=us-ascii

의심 파일, 실행 파일, 바이너리 확인 시 유용합니다.


7. find – 조건에 따라 파일 검색

설명

디렉토리 경로 하위에서 조건에 맞는 파일 또는 디렉토리 검색이 가능합니다.

주요 조건 옵션

조건 설명 예시
-name 이름 기준 find /home -name "*.log"
-user 소유자 기준 find /var -user apache
-perm 권한 기준 find . -perm 755
-type 파일 유형 find . -type d (디렉토리 검색)
-exec 명령 실행 find . -name "*.bak" -exec rm {} \\;

-exec는 검색 결과에 자동 작업을 적용할 때 강력한 도구입니다.


실전 예제 묶음

# 1. 숨김 파일 포함하여 상세 목록 확인
ls -al

# 2. 텍스트 파일을 백업하며 복사
cp -b report.txt report_backup.txt

# 3. log 디렉토리 전체 삭제
rm -r logs/

# 4. 파일명 변경 (이동과 동일)
mv notes.txt notes_old.txt

# 5. 빈 파일 생성
touch new_file.txt

# 6. 파일 종류 확인
file script.sh

# 7. 특정 사용자 파일 검색
find /home -user devuser

질문 정리

cpmv의 차이점은?

  • cp: 원본 파일을 복사
  • mv: 원본 파일을 이동 또는 이름 변경

디렉토리 안의 모든 파일을 한 번에 삭제하려면?

rm -rf /path/to/dir/*

touch로 파일을 생성했는데 내용이 없어요. 정상인가요?

네, touch내용 없는 파일(빈 파일)을 생성하는 게 정상 동작입니다.


find 명령이 너무 느려요. 속도 개선 방법은?

  • 경로를 좁게 설정하세요 (/ 대신 /var/log 등)
  • maxdepth, type 등 조건을 명확히 사용하세요.

확장자가 없는 파일의 실제 유형을 확인하려면?

file filename

확장자와 무관하게 내부 구조로 파일 종류를 정확히 판별합니다.


정리

리눅스 파일 작업 명령어들은 일상적으로 쓰이는 기본 도구이자 실무 핵심입니다.

  • ls, cp, rm, mv파일 조작
  • touch, file, find속성 관리와 탐색에 특화되어 있습니다.

카테고리:

업데이트:

댓글남기기