웹사이트 검색

예제와 함께하는 30가지 필수 Linux ls 명령어


리눅스 터미널에서 자주 'dir'을 입력했다가 정작 올바른 명령어가 'ls'임을 깨닫고 지친 적이 있나요? 이 종합 가이드에서는 리눅스 시스템에서 파일과 디렉토리와 상호작용할 수 있는 관문인 'ls' 명령어의 사용법을 자세히 다룹니다. 실제 사례를 통해 다음을 할 수 있도록 도와드립니다:

  • 파일과 디렉토리를 더 효율적으로 목록화, 정렬 및 필터링하세요.
  • 복잡한 Linux 디렉토리 구조를 어렵지 않게 탐색하세요.
  • Linux 파일 소유권 및 권한에 대한 더 나은 이해를 얻으세요.
  • 당신의 기술을 리눅스 전문가 수준으로 끌어올리세요.

ls 명령어는 Linux에서 디렉토리의 내용을 나열할 때 사용됩니다. ls의 출력 결과를 사용자화하기 위해 여러 옵션들이 있습니다. 여기 초보자와 숙련된 Linux 사용자를 위한 가장 유용한 30가지 ls 명령어가 있습니다.

1. 기본 ls 명령어

$ ls
archive1.tar.gz  archive3.tar.gz  archive5.tar.gz  dir2  file1.txt  file3.txt  file5.txt   image2.jpg  image4.jpg  script1.sh  script3.sh  script5.sh
archive2.tar.gz  archive4.tar.gz  dir1             dir3  file2.txt  file4.txt  image1.jpg  image3.jpg  image5.jpg  script2.sh  script4.sh

현재 디렉토리의 파일과 디렉토리를 나열합니다.

2. 자세한 정보와 함께 목록 -l

파일에 대한 권한, 소유자, 그룹, 링크 수, 크기, 수정 날짜 등 자세한 정보를 표시하려면 -l 옵션을 사용하세요.

$ ls -l
total 92
-rw-r--r-- 1 root root  565 Jul 20 19:26 archive1.tar.gz
-rw-r--r-- 1 root root  336 Jul 20 19:26 archive2.tar.gz
-rw-r--r-- 1 root root  669 Jul 20 19:26 archive3.tar.gz
-rw-r--r-- 1 root root   80 Jul 20 19:26 archive4.tar.gz
-rw-r--r-- 1 root root  457 Jul 20 19:26 archive5.tar.gz
drwxr-xr-x 5 root root 4096 Jul 20 19:26 dir1
drwxr-xr-x 5 root root 4096 Jul 20 19:26 dir2
drwxr-xr-x 5 root root 4096 Jul 20 19:26 dir3
-rw-r--r-- 1 root root  562 Jul 20 19:26 file1.txt
-rw-r--r-- 1 root root  280 Jul 20 19:26 file2.txt
-rw-r--r-- 1 root root  809 Jul 20 19:26 file3.txt
-rw-r--r-- 1 root root  479 Jul 20 19:26 file4.txt
-rw-r--r-- 1 root root  169 Jul 20 19:26 file5.txt
-rw-r--r-- 1 root root  626 Jul 20 19:26 image1.jpg
-rw-r--r-- 1 root root  461 Jul 20 19:26 image2.jpg
-rw-r--r-- 1 root root  461 Jul 20 19:26 image3.jpg
-rw-r--r-- 1 root root  841 Jul 20 19:26 image4.jpg
-rw-r--r-- 1 root root   33 Jul 20 19:26 image5.jpg
-rw-r--r-- 1 root root  835 Jul 20 19:26 script1.sh
-rw-r--r-- 1 root root  545 Jul 20 19:26 script2.sh
-rw-r--r-- 1 root root  409 Jul 20 19:26 script3.sh
-rw-r--r-- 1 root root  208 Jul 20 19:26 script4.sh
-rw-r--r-- 1 root root  943 Jul 20 19:26 script5.sh

3. 모든 파일 나열 (숨김 파일 포함) -a

-a 명령 옵션을 사용하면 다음 예제에서 볼 수 있듯이 점(.)으로 시작하는 숨김 파일을 확인할 수 있습니다.

$  ls  -a
.   archive1.tar.gz  archive3.tar.gz  archive5.tar.gz  dir2  file1.txt  file3.txt  file5.txt      .hidden2.conf  .hidden4.conf  image1.jpg  image3.jpg  image5.jpg  script2.sh  script4.sh
..  archive2.tar.gz  archive4.tar.gz  dir1             dir3  file2.txt  file4.txt  .hidden1.conf  .hidden3.conf  .hidden5.conf  image2.jpg  image4.jpg  script1.sh  script3.sh  script5.sh

4. 사람이 읽기 쉬운 크기로 목록 -h

파일 크기를 사람이 읽을 수 있는 형식(예: KB, MB)으로 표시하고 싶다면 -h 명령어 옵션을 사용하세요.

$ ls -lh ~/goharbor-prepare.tar
-rw-r--r-- 1 root root 203M Jul 20 17:38 /root/goharbor-prepare.tar

5. 수정 시간별 파일 목록 -t

수정 시간별로 파일을 정렬하며, -t를 사용하여 최신 파일이 먼저 표시되도록 합니다.

$ ls -lht ~/
total 835M
drwxr-xr-x 5 root root 4.0K Jul 20 19:27 linux-ls
drwxr-xr-x 3 root root 4.0K Jul 20 18:44 myapp
drwxr-xr-x 3 root root 4.0K Jul 20 18:10 myproject
drwxr-xr-x 2 root root 4.0K Jul 20 18:05 django-app
-rw-r--r-- 1 root root 203M Jul 20 17:38 goharbor-prepare.tar
drwxr-xr-x 3 root root 4.0K Jul 20 16:51 harbor
drwxr-xr-x 5 root root 4.0K Jul 20 00:02 quay
-rw-r--r-- 1 root root 629M Jun  6 09:39 harbor-offline-installer-v2.11.0.tgz
-rw-r--r-- 1 root root  12K Jun  6 09:39 harbor-online-installer-v2.11.0.tgz
-rw-r--r-- 1 root root 3.8M May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz
-rw-r--r-- 1 root root   65 May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz.sha256

6. 역순

목록의 표시 순서를 반대로 바꾸려면 -r 명령 옵션을 사용하세요:

$ ls -lhr ~/
total 835M
-rw-r--r-- 1 root root   65 May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz.sha256
-rw-r--r-- 1 root root 3.8M May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz
drwxr-xr-x 5 root root 4.0K Jul 20 00:02 quay
drwxr-xr-x 3 root root 4.0K Jul 20 18:10 myproject
drwxr-xr-x 3 root root 4.0K Jul 20 18:44 myapp
drwxr-xr-x 5 root root 4.0K Jul 20 19:27 linux-ls
-rw-r--r-- 1 root root  12K Jun  6 09:39 harbor-online-installer-v2.11.0.tgz
-rw-r--r-- 1 root root 629M Jun  6 09:39 harbor-offline-installer-v2.11.0.tgz
drwxr-xr-x 3 root root 4.0K Jul 20 16:51 harbor
-rw-r--r-- 1 root root 203M Jul 20 17:38 goharbor-prepare.tar
drwxr-xr-x 2 root root 4.0K Jul 20 18:05 django-app

7. 파일을 재귀적으로 나열

모든 파일과 디렉토리를 재귀적으로 나열합니다.

$ ls -R ~/
/root/quay:
config  postgres  storage

/root/quay/config:
config.yaml

/root/quay/postgres:
userdata

8. 디렉토리만 나열

현재 디렉터리의 디렉터리만 나열하도록 출력 범위를 제한할 수 있습니다.

$ ls -d */
dir1/  dir2/  dir3/

9. 특정 디렉토리의 상세 목록

다음 명령어를 실행하여 지정된 디렉토리의 파일에 대한 자세한 정보를 표시합니다.

ls -l /path/to/directory

10. 와일드카드로 파일 목록 보기

특정 패턴(예: 모든 .txt 파일)과 일치하는 파일을 나열하려면 다음을 실행하세요:

$ ls *.txt
file1.txt  file2.txt  file3.txt  file4.txt  file5.txt

$ ls *.jpg
image1.jpg  image2.jpg  image3.jpg  image4.jpg  image5.jpg

11. 파일 유형 표시와 함께 목록

각 항목에 문자를 추가하여 파일 유형을 표시합니다 (/는 디렉토리, *는 실행 파일).

ls -F

12. 파일을 크기별로 나열

다음 명령어를 사용하여 파일을 크기 순으로, 가장 큰 파일이 먼저 오도록 정렬하세요.

ls -lS

13. 파일을 유형별로 분류하기

이것은 -F와 비슷하게 작동하며, 파일을 분류할 때 표시자를 덧붙입니다.

ls --classify

14. 디렉터리 트리 나열

다음 명령어를 사용하여 디렉토리 구조를 트리 형태로 확인하세요.

ls -R | grep ":$"

15. 아이노드 번호가 있는 목록

-i 옵션을 사용하여 각 파일의 아이노드 번호 수를 확인하세요.

ls -i

16. 파일을 열(column)로 나열하기

-C 명령어를 사용하여 항목을 열 단위로 나열합니다.

ls -C

17. 접근 시간 기준으로 파일 목록 나열

마지막 접근 시간을 기준으로 파일을 정렬하고 표시하려면 -u를 사용하세요

$ ls -ltu
total 92
drwxr-xr-x 5 root root 4096 Jul 21 22:15 dir3
drwxr-xr-x 5 root root 4096 Jul 21 22:15 dir2
drwxr-xr-x 5 root root 4096 Jul 21 22:15 dir1
-rw-r--r-- 1 root root  457 Jul 20 19:26 archive5.tar.gz
-rw-r--r-- 1 root root   33 Jul 20 19:26 image5.jpg
-rw-r--r-- 1 root root  943 Jul 20 19:26 script5.sh
-rw-r--r-- 1 root root  169 Jul 20 19:26 file5.txt
-rw-r--r-- 1 root root   80 Jul 20 19:26 archive4.tar.gz
...

18. 변경 시간으로 파일 목록 보기

출력을 정렬하고 파일 상태 정보의 마지막 변경 시간을 표시합니다.

ls -lc

19. 색상 목록

가독성을 높이기 위해 색깔이 적용된 출력을 사용하려면 --color 명령 옵션을 사용하세요.

ls --color

20. 이름만 나열

ls 명령어에 -1을 전달하면 파일을 한 줄에 하나씩 나열할 수 있습니다.

ls -1

21. 파일을 크기별로 역순으로 나열

파일을 크기별로 정렬할 수도 있으며, 가장 작은 파일이 먼저 표시됩니다.

$  ls -lhSr ~/
total 835M
-rw-r--r-- 1 root root   65 May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz.sha256
drwxr-xr-x 5 root root 4.0K Jul 20 00:02 quay
drwxr-xr-x 3 root root 4.0K Jul 20 18:10 myproject
drwxr-xr-x 3 root root 4.0K Jul 20 18:44 myapp
drwxr-xr-x 5 root root 4.0K Jul 20 19:27 linux-ls
drwxr-xr-x 3 root root 4.0K Jul 20 16:51 harbor
drwxr-xr-x 2 root root 4.0K Jul 20 18:05 django-app
-rw-r--r-- 1 root root  12K Jun  6 09:39 harbor-online-installer-v2.11.0.tgz
-rw-r--r-- 1 root root 3.8M May 15 17:19 starship-x86_64-unknown-linux-gnu.tar.gz
-rw-r--r-- 1 root root 203M Jul 20 17:38 goharbor-prepare.tar
-rw-r--r-- 1 root root 629M Jun  6 09:39 harbor-offline-installer-v2.11.0.tgz

22. 시간 순으로 파일을 역순으로 나열하기

파일을 수정 시간 순으로 정렬하고, 가장 오래된 것을 첫 번째로 가져옵시다.

ls -ltr

23. 확장자별 파일 목록

파일 확장자별로 알파벳 순으로 정렬

ls -X

24. 컨텍스트와 함께 파일 목록 보기

--context를 사용하여 각 파일의 보안 컨텍스트를 확인하세요

ls --context

25. 인용 스타일 목록

파일 이름에 따옴표가 포함된 출력 결과를 얻으세요.

ls -Q

26. SI 단위를 사용하여 사람이 읽을 수 있는 형식으로 파일 목록 보기

파일 크기에 대한 SI 단위 사용 목록(예: 1K=1000).

ls -lh --si

27. 확장자별로 파일을 역순으로 나열

파일을 확장자별로 역순으로 정렬하려면 아래 명령어를 실행하세요.

ls -Xr

28. 파일 목록을 보고 디렉터리 이름만 표시

현재 디렉터리의 디렉터리만 표시합니다.

$ ls -d */
dir1/  dir2/  dir3/

29. 파일을 알파벳 역순으로 나열

목록의 순서를 반대로 하여 파일을 역알파벳 순으로 표시하려면 -r 명령 옵션을 사용하세요:

ls -r

30. 여러 옵션 결합

여러 옵션을 쉽게 조합할 수 있습니다: 예를 들어 모든 파일을 길게 표시하고, 사람이 읽기 쉬운 크기로 나타내며, 파일 유형을 분류하는 것입니다.

ls -alhF

아래는 30가지 ls 명령어 사용 예제를 요약한 표입니다:

명령설명
ls현재 디렉토리의 파일과 디렉토리를 나열합니다.
ls -l권한, 링크 수, 소유자, 그룹, 크기, 수정 날짜를 포함한 자세한 정보를 표시합니다.
ls -a숨김 파일(점으로 시작하는 파일)을 포함합니다.
ls -lh파일 크기를 사람이 읽기 쉬운 형식(예: KB, MB)으로 표시합니다.
ls -lt수정 시간 순으로 정렬하며, 최신 항목이 먼저 옵니다.
ls -lr리스트의 순서를 반대로 바꿉니다.
ls -R모든 파일과 디렉토리를 재귀적으로 나열합니다.
ls -d */현재 디렉토리에서 디렉토리만 나열합니다.
ls -l /path/to/directory지정된 디렉토리의 파일에 대한 자세한 정보를 표시합니다.
ls *.txt패턴과 일치하는 파일을 나열합니다(예: 모든 .txt 파일).
ls -F각 항목에 문자를 추가하여 파일 유형을 표시합니다 (/는 디렉토리, *는 실행 파일).
ls -lS파일을 크기 순으로 정렬하며, 가장 큰 것부터 시작합니다.
ls --classify-F와 동일하게, 파일을 표시기를 덧붙여 분류합니다.
`ls -Rgrep ":$`
ls -i각 파일의 아이노드 번호를 표시합니다.
ls -C파일을 열로 나열합니다.
ls -lu마지막 액세스 시간을 기준으로 정렬하고 표시합니다.
ls -lc파일 상태 정보의 마지막 변경 시간을 기준으로 정렬하고 표시합니다.
ls --color가독성을 높이기 위해 색상이 적용된 출력을 사용하도록 설정합니다.
ls -1파일을 한 줄에 하나씩 나열합니다.
ls -lSr파일을 크기 순으로 정렬하며, 가장 작은 것부터 시작합니다.
ls -ltr수정 시간을 기준으로 파일을 정렬하며, 가장 오래된 파일이 먼저 옵니다.
ls -X파일을 확장자별로 정렬합니다.
ls --context각 파일의 보안 컨텍스트를 표시합니다.
ls -Q파일 이름을 따옴표로 감싼다.
ls -lh --si파일 크기에 SI 단위를 사용합니다(예: 1K=1000).
ls -Xr파일을 확장자 기준으로 역순 정렬합니다.
ls -d */현재 디렉터리의 디렉터리만 표시합니다.
ls -r목록의 순서를 반대로 하여 파일을 알파벳 역순으로 표시합니다.
ls -alhF여러 옵션을 결합: 모든 파일을 표시하고, 상세 형식으로, 사람이 읽기 쉬운 크기로, 파일 유형을 분류합니다.

결론

이 기사에서는 예제와 함께 ls 명령어의 포괄적인 사용법을 제공했습니다. 일반적인 ls 명령어 옵션을 마스터하면 리눅스 파일 시스템을 쉽게 탐색하고 조작할 수 있습니다.