리눅스 시스템을 사용하다 보면 파일과 디렉토리를 효율적으로 관리하는 것이 필수적입니다. 이번 포스트에서는 리눅스에서 가장 많이 사용되는 파일 관리 명령어인 ls, cp, mv, rm, mkdir에 대해 알아보겠습니다. 이 명령어들을 제대로 익히면 리눅스 시스템에서 파일과 디렉토리를 더욱 효과적으로 관리할 수 있습니다.

 

1. ls 명령어: 파일 목록 확인하기

ls 명령어는 ‘list’의 약자로, 현재 디렉토리에 있는 파일과 폴더의 목록을 보여줍니다.

기본 사용법

현재 디렉토리의 파일과 폴더 목록을 확인합니다.

ls

주요 옵션

  • -l: 파일의 상세 정보(권한, 소유자, 크기, 수정 날짜 등)를 표시합니다.
  • -a: 숨김 파일을 포함한 모든 파일을 표시합니다.
  • -h: 파일 크기를 사람이 읽기 쉬운 형태(KB, MB, GB)로 표시합니다.
  • -R: 하위 디렉토리의 내용까지 재귀적으로 표시합니다.
  • -t: 수정 시간을 기준으로 정렬합니다.
  • -S: 파일 크기를 기준으로 정렬합니다.

사용 예시

상세 정보와 함께 파일 목록을 확인하려면:

ls -l

숨김 파일을 포함한 모든 파일을 확인하려면:

ls -a

사람이 읽기 쉬운 형태로 상세 정보를 확인하려면:

ls -lh

여러 옵션을 조합하여 사용할 수도 있습니다. 예를 들어, 숨김 파일을 포함한 상세 목록을 확인하려면:

ls -la

특정 디렉토리의 내용을 확인하려면:

ls /home/username/Documents

 

2. cp 명령어: 파일 복사하기

cp 명령어는 ‘copy’의 약자로, 파일이나 디렉토리를 복사할 때 사용합니다.

기본 사용법

파일을 복사합니다.

cp 원본파일 대상파일

주요 옵션

  • -r, -R: 디렉토리를 재귀적으로 복사합니다.
  • -i: 덮어쓰기 전에 사용자에게 확인을 요청합니다.
  • -v: 복사 과정을 자세히 보여줍니다(verbose).
  • -p: 파일의 속성(소유자, 권한, 타임스탬프)을 유지합니다.
  • -u: 대상 파일이 없거나 원본 파일이 더 최신일 때만 복사합니다.

사용 예시

file1.txt를 file2.txt로 복사하려면:

cp file1.txt file2.txt

여러 파일을 한 디렉토리로 복사하려면:

cp file1.txt file2.txt file3.txt /destination/directory/

디렉토리를 복사하려면 -r 옵션이 필요합니다:

cp -r source_directory/ destination_directory/

덮어쓰기 전에 확인하려면:

cp -i file1.txt file2.txt

주의사항

  • cp 명령어는 기존 파일을 별도의 경고 없이 덮어쓸 수 있으므로, 중요한 파일을 복사할 때는 -i 옵션을 사용하는 것이 좋습니다.
  • 디렉토리를 복사할 때는 반드시 -r 옵션을 사용해야 합니다.

 

3. mv 명령어: 파일 이동 및 이름 변경하기

mv 명령어는 ‘move’의 약자로, 파일이나 디렉토리를 이동하거나 이름을 변경할 때 사용합니다.

기본 사용법

파일을 이동하거나 이름을 변경합니다.

mv 원본파일 대상파일

주요 옵션

  • -i: 덮어쓰기 전에 사용자에게 확인을 요청합니다.
  • -v: 이동 과정을 자세히 보여줍니다(verbose).
  • -u: 대상 파일이 없거나 원본 파일이 더 최신일 때만 이동합니다.
  • -b: 덮어쓰기 전에 백업 파일을 생성합니다.

사용 예시

파일 이름을 변경하려면:

mv oldname.txt newname.txt

파일을 다른 디렉토리로 이동하려면:

mv file.txt /destination/directory/

여러 파일을 한 디렉토리로 이동하려면:

mv file1.txt file2.txt file3.txt /destination/directory/

디렉토리 이름을 변경하려면:

mv old_directory/ new_directory/

덮어쓰기 전에 확인하려면:

mv -i file1.txt file2.txt

주의사항

  • mv 명령어도 cp와 마찬가지로 기존 파일을 별도의 경고 없이 덮어쓸 수 있으므로, 중요한 파일을 이동할 때는 -i 옵션을 사용하는 것이 좋습니다.
  • 이름 변경과 이동은 같은 명령어를 사용하지만, 목적지가 디렉토리인지 파일인지에 따라 동작이 달라집니다.

 

4. rm 명령어: 파일 삭제하기

rm 명령어는 ‘remove’의 약자로, 파일이나 디렉토리를 삭제할 때 사용합니다.

기본 사용법

파일을 삭제합니다.

rm 파일명

주요 옵션

  • -r, -R: 디렉토리를 재귀적으로 삭제합니다.
  • -f: 강제로 삭제합니다(확인 요청 없음).
  • -i: 삭제 전에 사용자에게 확인을 요청합니다.
  • -v: 삭제 과정을 자세히 보여줍니다(verbose).

사용 예시

파일을 삭제하려면:

rm file.txt

여러 파일을 삭제하려면:

rm file1.txt file2.txt file3.txt

디렉토리와 그 내용을 삭제하려면:

rm -r directory/

확인 없이 강제로 삭제하려면:

rm -f file.txt

디렉토리와 그 내용을 강제로 삭제하려면:

rm -rf directory/

삭제 전에 확인하려면:

rm -i file.txt

주의사항

  • rm 명령어는 매우 강력하며, 삭제된 파일은 복구하기 어렵거나 불가능할 수 있습니다.
  • 특히 rm -rf 명령어는 매우 위험하므로 신중하게 사용해야 합니다.
  • 시스템 디렉토리나 중요한 파일을 삭제하지 않도록 주의해야 합니다.
  • 루트 디렉토리에서 rm -rf /와 같은 명령어는 절대 실행하지 마세요! 시스템 전체가 삭제될 수 있습니다.

 

5. mkdir 명령어: 디렉토리 생성하기

mkdir 명령어는 ‘make directory’의 약자로, 새로운 디렉토리를 생성할 때 사용합니다.

기본 사용법

새 디렉토리를 생성합니다.

mkdir 디렉토리명

주요 옵션

  • -p: 필요한 경우 상위 디렉토리도 함께 생성합니다.
  • -v: 생성 과정을 자세히 보여줍니다(verbose).
  • -m: 생성되는 디렉토리의 권한을 설정합니다.

사용 예시

새 디렉토리를 생성하려면:

mkdir new_directory

여러 디렉토리를 한 번에 생성하려면:

mkdir dir1 dir2 dir3

상위 디렉토리가 없는 경우에도 전체 경로를 생성하려면:

mkdir -p parent/child/grandchild

특정 권한을 가진 디렉토리를 생성하려면:

mkdir -m 755 directory_name

디렉토리 생성 과정을 자세히 보려면:

mkdir -v directory_name

 

6. 실용적인 팁

명령어 조합하기

여러 명령어를 파이프(|)로 연결하여 더 복잡한 작업을 수행할 수 있습니다.

예를 들어, 파일 크기순으로 상위 5개 파일을 확인하려면:

ls -lh | sort -rh | head -5

와일드카드 사용하기

패턴 매칭을 위해 와일드카드를 사용할 수 있습니다.

  • *: 0개 이상의 문자와 일치
  • ?: 정확히 1개의 문자와 일치
  • []: 대괄호 안의 문자 중 하나와 일치

예를 들어, 모든 txt 파일을 삭제하려면:

rm *.txt

상대 경로와 절대 경로

  • 절대 경로: 루트 디렉토리(/)부터 시작하는 전체 경로
  • 상대 경로: 현재 위치를 기준으로 하는 경로

.: 현재 디렉토리 ..: 상위 디렉토리

예를 들어, 상위 디렉토리로 파일을 복사하려면:

cp file.txt ..

 

이러한 리눅스 파일 관리 명령어들을 잘 활용하면, 터미널에서 빠르고 효율적으로 파일 작업을 수행할 수 있습니다. 명령어의 기본 사용법을 익히고 다양한 옵션을 조합해보면서 자신만의 워크플로우를 만들어보세요. 🙂

 

댓글 남기기