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

0
620
Linux 랩톱의 터미널 창
Fatmawati Achmad Zaenuri / 셔터 스톡

우리는 리눅스를 사용한다 ls 그것에 대해 생각하지 않고 매일 명령하십시오. 그 유감. 주의를 기울이면 명령 줄 무기고에 추가해야하는 몇 가지 유용한 옵션을 찾을 수 있습니다.

ls는 파일 및 디렉토리를 나열합니다

그만큼 ls command는 아마도 대부분의 Linux 사용자가 겪는 첫 번째 명령 일 것입니다. 커맨드 라인 주위에 매달린 사람들은 그것을 생각조차하지 않고 매일 그것을 사용합니다. 대부분의 사용자가 알고있는 것보다이 명령에 더 많은 이유가 설명 될 수 있습니다. 디렉토리에있는 내용을보기 위해 파일을 나열합니다. 파일에 대한 권한을 보려고 할 때 파일을 긴 형식으로 나열합니다. 그 외에는 거의 고려하지 않습니다.

그만큼 ls command는 다양한 옵션이있는 명령 중 하나입니다. 아마도 이것은 문제의 일부일 것입니다. 너무 많은 옵션이 있습니다. 유용한 옵션을 찾기 위해 어떻게 선별합니까? 그리고 그들을 찾았다면 어떻게 기억합니까?

의 유용한 순열 ls 옵션 및 매개 변수 문자열이 포함 된 명령은 별칭의 완벽한 후보입니다. 실제로 대부분의 배포판에서 “네이 키드”라고 생각하는 것은 ls 명령은 실제로 별명입니다. 무엇보다도 type 명령은 별칭의 기본 정의를 표시하는 데 사용할 수 있습니다. 의 정의를 보자 ls:

타입 ls

터미널 창에 ls를 입력하십시오

그만큼 --color=auto 매개 변수는 사용할 때마다 자동으로 포함됩니다 ls 명령. 이것은 목록에서 다른 파일 형식에 다른 색상을 제공하는 것입니다.

관련 : Linux에서 별명 및 쉘 기능을 작성하는 방법

간단한 ls 리스팅

Linux 터미널을 사용하는 데 시간을 보낸 사람은 기본적으로 ls 현재 디렉토리의 파일 및 디렉토리를 나열합니다.

ls

터미널 창에서 ls

업체 정보를 단일 열로 생성하려면 -1 (한 줄에 하나의 파일) 옵션 :

ls -1

터미널 창에서 ls -1

목록 상단에서 이상한 파일 이름에 대해 잠시 후에 설명하겠습니다.

다른 디렉토리에서 ls 사용

가지고 ls 현재 디렉토리 이외의 디렉토리에 파일을 나열하고 디렉토리 경로를 ls 명령 행에서. 하나 이상의 디렉토리를 전달할 수도 있습니다. ls을 차례로 나열하십시오. 여기, 우리는 묻는다 ls 하나는 “도움말”과 다른 하나는 “gc_help”라는 두 디렉토리에 파일을 나열합니다.

ls Help gc_help

터미널 창에서 ls Help gc_help

언제 ls 첫 번째 디렉토리의 내용을 나열했으며 두 번째 디렉토리의 내용을 나열합니다. 처리 할 때 각 디렉토리의 이름을 인쇄합니다.

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

파일 패턴 사용

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

ls ip_*

터미널 창에서 ls ip_ *

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

ls *.c

터미널 창에서 ls * .c

당신은 또한 사용할 수 있습니다 lsgrep 사용 grep패턴 매칭 기능. 이름에“_pin_”이라는 문자열이있는 파일을 찾으십시오.

ls | grep _pin_

LS | 터미널 창에서 grep _pin_

이것은 거의 사용하는 것과 같습니다 ls 두 개의 와일드 카드를 사용하여 자체적으로

ls | grep _pin_
ls *_pin_*

LS | 터미널 창에서 grep _pin_

거의 똑같다? 다른 레이아웃에 유의하십시오. grep 출력을 한 줄 형식마다 단일 파일 이름으로 만듭니다.

비 인쇄 문자

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

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

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

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

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

당신은 사용할 수 있습니다 -b (이스케이프) 옵션을 사용하면 파일 이름에 실제로 포함 된 내용을 볼 수 있습니다. 이 옵션은 ls 제어 문자를 나타 내기 위해 C 프로그래밍 언어의 이스케이프 시퀀스를 사용합니다.

ls -b a*

터미널 창에서 ls -b a *

신비한 문자는 줄 바꿈 문자로 밝혀졌으며 C에서 ” n”으로 표시됩니다.

파일 무시

목록에서 특정 파일을 생략하려면 --hide 선택권. 목록에서 백업 “.bak”파일을보고 싶지 않다고 가정합니다. 이 명령을 사용할 수 있습니다 :

ls
ls --hide=*.bak

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

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

긴 형식 목록

그만큼 -l (긴 목록) 옵션의 원인 ls 각 파일에 대한 자세한 정보를 제공합니다.

ls -l

터미널 창에서 ls -l

여기에 많은 정보가 있으므로 단계별로 살펴 보겠습니다.

첫 번째 ls 표시는 목록에있는 모든 파일의 총 크기입니다. 그런 다음 각 파일 또는 디렉토리가 한 줄씩 표시됩니다.

첫 10 자 문자와 대시는 파일 형식과 소유자, 그룹 및 기타 파일 권한입니다.

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

  • : 일반 파일.
  • : 블록 특수 파일.
  • : 문자 특수 파일.
  • : 디렉토리.
  • : 심볼릭 링크.
  • : 네트워크 파일.
  • : 명명 된 파이프.
  • 에스: 소켓.

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

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

때때로에 대한 실행 권한 소유자 로 표현된다 s. 이것은 setuid 비트입니다. 존재하는 경우 파일을 실행하는 사용자가 아니라 파일 소유자의 권한으로 파일이 실행됨을 의미합니다.

에 대한 실행 권한 그룹 또한 될 수 있습니다 s. 이것은 setgid 비트입니다. 이것이 파일에 적용되면, 파일이 ower 그룹의 권한으로 실행됨을 의미합니다. 디렉토리와 함께 사용하면, 그 디렉토리 안에 생성 된 모든 파일은 예배 규칙서 파일을 생성 한 사용자가 아닌 내부에서 생성됩니다.

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

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

“/ tmp”디렉토리에서 스티키 비트를 볼 수 있습니다. 사용에 유의하십시오 -d (디렉토리) 옵션. 이 원인 ls 디렉토리의 세부 사항을보고합니다. 이 옵션이 없으면 ls 디렉토리 안의 파일에 대해보고합니다.

ls -l -d /tmp

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

관련 : Linux에서 chmod 명령을 사용하는 방법

권한 뒤에 오는 숫자는 파일 또는 디렉토리에 대한 하드 링크의 수입니다. 파일의 경우 일반적으로 하나이지만 다른 하드 링크를 만들면이 수가 증가합니다. 디렉토리에는 일반적으로 두 개 이상의 하드 링크가 있습니다. 하나는 자체에 대한 링크이고 다른 하나는 상위 디렉토리의 항목입니다.

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

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

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

ls -l -h

터미널 창에서 ls -l -h

숨겨진 파일 표시

숨겨진 파일을 보려면 -a (전체) 옵션 :

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 | 터미널 창에서 head -1

정렬 순서를 반대로하려면

정렬 순서를 반대로 바꾸려면 -r (반전) 옵션.

ls -l -h -S -r

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

이제 목록이 가장 작은 파일에서 가장 큰 파일로 주문되었습니다.

그리고 더있다

매뉴얼 페이지를 확인하십시오 ls더 많은 옵션이 있습니다. 그 중 일부는 다소 모호한 사용 사례를 만족하지만 가끔씩 그 사실을 알게되어 기쁩니다.

리눅스가 제공 할 수있는 최대 정밀도로 파일 타임 스탬프를보아야합니까? 풀 타임 옵션을 사용하십시오.

ls --full-time

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

ls -i

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

  • /: 디렉토리.
  • @: 심볼릭 링크.
  • |: 명명 된 파이프.
  • =: 소켓.
  • *: 실행 파일
ls -F

파기 당신은 그것을 찾을 수 있습니다 ls 정맥이 풍부하고 보석을 계속 돌립니다.