ls 명령을 사용하여 Linux에서 파일 및 디렉터리를 나열하는 방법

ls 명령을 사용하여 Linux에서 파일 및 디렉터리를 나열하는 방법

주요 시사점

  • ls 명령은 파일과 디렉터리를 나열하는 데 사용할 수 있는 강력한 도구입니다.
  • ls의 기능을 향상시키고 사용하기 더 편리하게 만들 수 있는 유용한 옵션과 매개변수가 많이 있습니다.
  • ls -la는 폴더의 모든 내용을 보려면 사용하기에 좋은 명령입니다.

ls우리는 그것에 대해 생각하지 않고 매일 Linux 명령을 사용합니다 . 그 유감. 주의를 기울이면 명령줄 무기고에 추가해야 하는 옵션을 포함하여 많은 유용한 옵션을 찾을 수 있습니다.

ls는 파일과 디렉터리를 나열합니다.

ls명령은 아마도 대부분의 Linux 사용자가 직면하는 첫 번째 명령일 것입니다. 명령줄을 사용하는 사람들은 그것에 대해 생각조차 하지 않고 매일매일 사용합니다. 이는 대부분의 사용자가 인식하는 것보다 이 명령에 더 많은 것이 있는 이유를 설명할 수 있습니다. 디렉토리에 무엇이 있는지 확인하기 위해 파일을 나열합니다. 파일에 대한 권한을 확인하려는 경우 긴 형식으로 파일을 나열합니다. 그 외에는 거의 고려되지 않습니다.

ls명령은 다양한 옵션이 포함된 명령 중 하나입니다. 아마도 이것이 문제의 일부일 것입니다. 옵션이 너무 많은데 유용한 옵션을 찾기 위해 어떻게 선택합니까? 그리고 그것들을 찾았는데, 당신은 그것들을 어떻게 기억합니까?

옵션 및 매개변수 문자열을 포함하는 명령 의 유용한 순열은 별칭ls 의 완벽한 후보입니다 . 실제로 대부분의 배포판에서 “알몸” 명령으로 생각되는 것은 실제로 별칭입니다. 무엇보다도 ls 유형은lstype command can be used to show the underlying definition of aliases. Let's look at the definition of ls:

터미널 창에 ls를 입력하세요

매개 --color=auto 변수는 명령을 사용할 때마다 자동으로 포함됩니다 ls. 이는 목록의 다양한 파일 형식에 대해 다양한 색상을 제공하는 것입니다.

간단한 ls 목록

Linux 터미널을 사용해 본 적이 있는 사람이라면 누구나 기본적으로 ls현재 디렉터리의 파일과 디렉터리가 나열된다는 사실을 알고 있을 것입니다.

ls

터미널 창의 ls

단일 열에 목록을 작성하려면 -1(한 줄에 하나의 파일) 옵션을 사용하십시오.

ls -1

터미널 창에서 ls -1

잠시 후에 목록 상단에 있는 이상하게 보이는 파일 이름에 대해 논의하겠습니다.

다른 디렉토리에서 ls 사용

현재 디렉터리가 아닌 다른 디렉터리에 있는 파일을 나열 하려면 명령줄에서 ls디렉터리 경로를 전달합니다 . ls또한 하나 이상의 디렉토리를 에 전달할 수 ls있으며 차례로 나열되도록 할 수도 있습니다. 여기서는 ls“Help”라는 디렉터리와 “gc_help”라는 디렉터리의 두 디렉터리에 있는 파일 목록을 요청합니다.

ls Help gc_help

터미널 창의 ls 도움말 gc_help

ls첫 번째 디렉토리의 내용을 나열하면 두 번째 디렉토리의 내용이 나열됩니다 . 처리할 때 각 디렉터리의 이름을 인쇄합니다.

내용이 나열되기 전에 ls에 의해 표시되는 디렉터리 이름입니다.

파일 패턴 사용

파일 세트를 선택적으로 나열하려면 패턴 일치를 사용하십시오. 물음표 ” ?“는 단일 문자를 나타내고 별표 ” *“는 문자열을 나타냅니다. 이름이 “ip_”로 시작하는 파일이나 디렉터리를 나열하려면 다음 형식을 사용하세요.

ls ip_*

ls ip_* 터미널 창에

확장자가 “.c”인 파일을 나열하려면 다음 형식을 사용하십시오.

ls *.c

터미널 창의 ls *.c

lswith grep및 의 grep패턴 일치 기능을 사용할 수도 있습니다 . 이름에 “_pin_” 문자열이 포함된 파일을 찾아보겠습니다.

ls | grep _pin_

ls |  터미널 창에서 grep _pin_

ls이는 두 개의 와일드카드를 사용하여 단독으로 사용하는 것과 거의 동일합니다 .

ls | grep _pin_ ls *_pin_*

ls |  터미널 창에서 grep _pin_

왜 거의 똑같나요? 다양한 레이아웃을 참고하세요. grep출력을 한 줄당 단일 파일 이름 형식으로 강제합니다.

인쇄되지 않는 문자

파일 이름에 인쇄되지 않거나 제어 문자가 포함된 파일 이름으로 자신을 찾을 수 있습니다 . 일반적으로 이는 웹에서 다운로드한 아카이브를 확장하거나 git 저장소를 검색했을 때 원본 작성자가 파일을 만드는 데 실수를 했지만 이를 발견하지 못한 경우에 발생할 수 있습니다.

우리의 이상한 파일은 다음 중 하나입니다:

터미널 창에 제어 문자가 포함된 파일 이름

파일 브라우저에서 보고 “F2″를 눌러 이름을 바꾸면 인쇄되지 않는 문자가 이상한 기호로 표시됩니다.

이름 바꾸기 대화 상자 창에서 제어 문자가 포함된 파일 이름

(escape) 옵션을 사용하면 -b파일 이름에 실제로 무엇이 포함되어 있는지 확인할 수 있습니다. 이 옵션은 C 프로그래밍 언어ls 의 이스케이프 시퀀스를 사용하여 제어 문자를 나타냅니다.

ls -b a*

ls -ba* 터미널 창에서

정체불명의 문자는 C로 ‘\n’으로 표현되는 줄바꿈 문자인 것으로 드러났다.

파일 무시

목록에서 특정 파일을 생략하려면 --hide옵션을 사용하십시오. 목록에서 백업 “.bak” 파일을 보고 싶지 않다고 가정해 보겠습니다. 다음 명령을 사용할 수 있습니다.

ls ls --hide=*.bak

ls --hide=*.bak 터미널 창에서

“.bak” 파일은 두 번째 목록에 포함되지 않습니다.

긴 형식 목록

-l(긴 목록) 옵션을 사용하면 각 ls파일에 대한 자세한 정보를 제공합니다.

ls -l

ls -l 터미널 창에서

여기에는 많은 정보가 있으므로 하나씩 살펴보겠습니다.

가장 먼저 ls표시되는 것은 목록에 있는 모든 파일의 전체 크기입니다. 그런 다음 각 파일이나 디렉터리가 한 줄에 표시됩니다.

10개의 문자와 대시로 구성된 첫 번째 세트는 파일 유형과 소유자, 그룹 및 기타 파일 권한입니다.

첫 번째 문자는 파일 형식을 나타냅니다. 다음 중 하나입니다.

  • : 일반 파일입니다.
  • b : 블록 특수 파일입니다.
  • c : 캐릭터 특수 파일입니다.
  • d : 디렉토리.
  • l : 심볼릭 링크입니다.
  • n : 네트워크 파일입니다.
  • p : 명명된 파이프입니다.
  • s : 소켓입니다.

다음 9개의 문자는 연속적으로 표시되는 3개의 문자로 구성된 3개의 그룹입니다. 세 개로 ​​구성된 각 그룹은 읽기, 쓰기, 실행 권한을 순서대로 나타냅니다. r권한이 부여되면 , w또는 표시 됩니다 x. 권한이 부여되지 않은 경우 하이픈이 -표시됩니다.

세 문자의 첫 번째 세트는 파일 소유자에 대한 권한입니다. 세 가지 권한 중 두 번째 세트는 그룹 구성원을 위한 것이고 마지막 세 가지 권한 세트는 다른 구성원을 위한 것입니다.

때로는 소유자의 실행 권한이 s. 이것은 setuid 비트입니다. 존재한다면 파일을 실행하는 사용자가 아닌 파일 소유자의 권한으로 파일이 실행된다는 의미이다.

그룹의 실행 권한은 s. 이것은 setgid 비트입니다. 파일에 적용하면 해당 파일이 해당 그룹의 권한으로 실행된다는 의미이다. 디렉터리와 함께 사용하면 그 안에 생성된 모든 파일은 파일을 생성하는 사용자가 아니라 생성 중인 디렉터리에서 그룹 권한을 가져옵니다.

다른 실행 권한은 때때로 로 표시될 수 있습니다 t. 이것은 끈끈한 비트 입니다 . 일반적으로 디렉토리에 적용됩니다. 이것이 설정되면 디렉터리의 파일에 설정된 쓰기 및 실행 권한에 관계없이 파일 소유자, 디렉터리 소유자 또는 루트 사용자만 디렉터리에 있는 파일의 이름을 바꾸거나 삭제할 수 있습니다.

고정 비트의 일반적인 용도는 “/tmp”와 같은 폴더입니다. 이는 컴퓨터의 모든 사용자가 쓸 수 있습니다. 디렉터리의 고정 비트는 사용자와 사용자가 시작한 프로세스가 자신의 임시 파일 이름을 바꾸거나 삭제할 수만 있도록 보장합니다.

“/tmp” 디렉터리에서 끈적한 비트를 볼 수 있습니다. (디렉토리) 옵션 의 사용에 유의하세요 -d. 이로 인해 ls디렉토리의 세부사항이 보고됩니다. 이 옵션이 없으면 ls디렉터리 내부의 파일에 대해 보고합니다.

ls -l -d /tmp

ls -l -d /tmp 터미널 창에서

권한 뒤에 오는 숫자는 파일이나 디렉터리에 대한 하드 링크 수입니다. 파일의 경우 일반적으로 1개이지만, 다른 하드링크가 생성되면 이 개수가 늘어납니다. 디렉터리에는 일반적으로 두 개 이상의 하드 링크가 있습니다. 하나는 자신에 대한 링크이고, 다른 하나는 상위 디렉토리에 있는 항목입니다.

소유자 및 그룹의 이름이 다음에 표시됩니다. 그 뒤에는 파일 크기와 파일을 마지막으로 수정한 날짜가 표시됩니다. 마지막으로 파일 이름이 지정됩니다.

사람이 읽을 수 있는 파일 크기

파일 크기를 바이트 단위로 갖는 것이 항상 편리한 것은 아닙니다. 가장 적절한 단위(킬로바이트, 메가바이트 등)로 파일 크기를 보려면 -h(사람이 읽을 수 있는) 옵션을 사용하십시오.

ls -l -h

터미널 창에서 ls -l -h

숨겨진 파일 표시

숨겨진 파일을 보려면 -a(all) 옵션을 사용하십시오:

ls -l -a

ls -l -a 터미널 창에서

두 항목 “.”과 “..”는 각각 현재 디렉터리와 상위 디렉터리를 나타냅니다. 이제 “.base_settings”라는 파일이 처음으로 표시됩니다.

생략. 그리고. . 목록에서

목록이 “.” 및 “..” 항목으로 복잡해지는 것을 원하지 않지만 숨겨진 파일을 보려면 -A(거의 모든) 옵션을 사용하십시오.

ls -l -A

터미널 창의 ls -l -A

숨겨진 파일은 계속 나열되지만 “.” 및 “..” 항목은 표시되지 않습니다.

재귀적으로 디렉터리 나열

ls모든 하위 디렉터리의 파일을 나열 하려면 -R(재귀) 옵션을 사용하세요.

ls -l -R

터미널 창에서 ls -l -R

ls시작 디렉터리 아래의 전체 디렉터리 트리를 통해 작업하며 각 하위 디렉터리의 파일을 나열합니다.

디렉토리를 재귀적으로 나열하는 ls의 출력

UID 및 GID 표시

사용자 이름 및 그룹 이름 대신 사용자 ID 및 그룹 ID를 표시하려면 -n(숫자 uid 및 gid) 옵션을 사용하십시오.

ls -n

터미널 창에서 ls -n

목록 정렬

확장자, 파일 크기 또는 수정 시간을 기준으로 목록을 정렬할 수 있습니다. 이러한 옵션을 긴 목록 형식과 함께 사용할 필요는 없지만 일반적으로 그렇게 하는 것이 좋습니다. 파일 크기별로 정렬하는 경우 목록에서 파일 크기를 확인하는 것이 좋습니다. 확장 유형별로 정렬할 때 긴 목록 형식은 그다지 중요하지 않습니다.

확장자별로 정렬하려면 -X(확장자별 정렬) 옵션을 사용하세요.

ls -X -1

ls -X -1 터미널 창에서

디렉토리가 먼저 나열되고(확장자 없음) 나머지는 확장자에 따라 알파벳 순서로 나열됩니다.

파일 크기별로 정렬하려면 -S(파일 크기별 정렬) 옵션을 사용하세요.

ls -l -h -S

ls -l -h -S 터미널 창에서

정렬 순서는 가장 큰 것부터 가장 작은 것 순입니다.

수정 시간을 기준으로 목록을 정렬하려면 -t(수정 시간 기준 정렬) 옵션을 사용하세요.

ls -l -t

ls -l -t 터미널 창에서

목록은 수정 시간을 기준으로 정렬됩니다.

파일 수정 시간이 현재 연도 이내인 경우 표시되는 정보는 월, 일, 시간입니다. 수정 날짜가 현재 연도가 아닌 경우 표시되는 정보는 월, 일, 연도입니다.

디렉토리에서 가장 최신 파일과 가장 오래된 파일을 가져오는 빠른 방법은 및 명령 ls과 함께 사용하는 것입니다 .headtail

최신 파일이나 디렉터리를 얻으려면 다음 명령을 사용하십시오.

ls -t | head -1

가장 오래된 파일이나 디렉터리를 얻으려면 다음 명령을 사용하세요.

ls -t | tail -1

ls -t |  터미널 창에서 머리 -1

정렬 순서를 반대로 바꾸려면

정렬 순서를 반대로 바꾸려면 -r(역방향) 옵션을 사용하세요.

ls -l -h -S -r

터미널 창에서 ls -l -h -S -r

이제 목록은 가장 작은 파일에서 가장 큰 파일 순으로 정렬됩니다.

그리고 더 많은 것이 있습니다

에 대한 매뉴얼 페이지를 확인해 보십시오 ls. 더 많은 옵션이 있습니다 . 그 중 일부는 다소 모호한 사용 사례를 충족하지만 가끔은 이에 대해 알게 되어 기쁠 것입니다.

Linux가 제공할 수 있는 최대 정밀도로 파일 타임스탬프를 확인해야 합니까? 풀타임 옵션을 사용하세요:

ls --full-time

아마도 파일의 inode 번호를 보고 싶습니까? inode 옵션을 사용하십시오.

ls -i

단색 디스플레이에서 작업 중이고 디렉토리 및 링크 파일이 혼동될 위험을 모두 제거하고 싶습니까? 분류 옵션을 사용하면 ls각 목록 항목에 다음 중 하나가 추가됩니다.

  • / : 디렉터리입니다.
  • @ : 심볼릭 링크입니다.
  • | : 명명된 파이프입니다.
  • = : 소켓.
  • * : 실행 파일

ls -F

좀 파보세요. 당신은 그것이 풍부한 정맥이라는 것을 알게 될 것이고 ls, 계속해서 보석을 만들어 낼 것입니다.

리눅스 명령

파일

tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · Join · jq · fold · uniq · Journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · 보기 · 문자열 · 유형 · 이름 바꾸기 · zip · unzip · 마운트 · umount · 설치 · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · 패치 · 변환 · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc · tr

프로세스

별칭 · 화면 · 상단 · nice · renice · 진행 · strace · systemd · tmux · chsh · 기록 · at · 배치 · 무료 · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · 시간 초과 · · · 종료 · 절전 · sudo · su · 시간 · groupadd · usermod · 그룹 · lshw · 종료 · 재부팅 · 중지 · 전원 끄기 · passwd · lscpu · crontab · 날짜 · bg · fg · pidof · nohup · pmap

네트워킹

netstat · ping · 추적 경로 · ip · ss · whois · 실패2ban · bmon · 발굴 · 손가락 · nmap · ftp · · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · 방화벽d

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다