'ls'의 출력을 마지막 수정 날짜별로 정렬하려면 어떻게해야합니까?


답변:


1638
ls -t

또는 (역순으로, 가장 최근에 맨 아래) :

ls -tr

ls매뉴얼 페이지 자세한 내용이 설명하고 다른 옵션을 나열합니다.


312
ls -halt입니다 human readable, show hidden, print details, sort by date.
Evgeni Sergeev 5

6
궁금한 점이 있으면 POSIX 표준대한 섹션에-t-r인수가 모두 지정되어 있으므로 Unices에서 호환되어야합니다. ls
Mark Amery 12

5
ls -llt정렬과 함께 날짜 시간 소인 표시
Harshul Pandav

4
네 가능합니다
Ashraf.Shk786

6
@EvgeniSergeev DONT MEMORIZE ls -halt간단한 잘못 입력하면 서버가 손상 될 수 있습니다! linux.die.net/man/8/halt
Isaac

148

이것을 시도하십시오 : ls -ltr. 그것은 당신에게 목록의 끝까지 최근을 줄 것입니다


이것을 사용하여 마지막 편집 날짜까지 Git 저장소의 파일 목록을 가져 왔습니다. ls -alt $(git ls-files -m)감사!
NobleUplift

45

완전한 대답을 얻으려면 여기에 내가 사용하는 것이 있습니다. ls -lrth

이것을 시작 스크립트에 /etc/bashrc넣고 다음과 같이 별명을 지정 alias l='ls -lrth'하십시오. 터미널을 다시 시작 l하면 긴 파일 목록 을 입력 하고 볼 수 있어야 합니다.


14
source /etc/bashrc달리는 중에 레퍼토리에 추가하려면 전화를 걸 수도 있습니다 .
cwallenpoole

1
또한 ~/.bash_aliases사용자를 위해 파일을 추가 할 수도 있습니다 (아직 파일이없는 경우 파일을 만들 수 있음
Dinei

29

나는 언젠가 이것을 사용한다 :

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

또는

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

지난 5 분 동안 어떤 파일이 수정되었는지 재귀 적 으로 살펴 봅니다 .

... 또는 현재 최신 버전의 GNU find :

find . -type f -mmin -5 -exec ls -ltr {} +

... 그리고 파일로 제한하지 않는 경우에도 :

find . -mmin -5 -exec ls -ltrd {} +

( 디렉토리의 내용을 표시하지 않으 려면로 -d전환 하십시오 ls)

더 강력한 방법?

(A)에서 찾아 보게 하는 내 답변 수정 날짜별로 찾아 종류


재귀 적으로 하위 디렉토리의 모든 파일을 나열한다는 것을 의미합니다. 이미 전환 할 스위치가 없습니까?
jiggunjer

@jiggunjer ls -Rltr는 dir을 기준으로 정렬 한 다음 날짜 find -type f -mmin -5 -exec ls -ltr {} +를 기준으로 디렉토리 트리에 상관없이 지난 5 분 동안 수정 된 파일을 날짜별로 정렬하여 인쇄합니다.
F. Hauri

파일 목록이 너무 길어서 하나의 쉘 호출로 전달 될 수없는 경우 ls( unix.stackexchange.com/a/118200/27186 ) 이 경우 작동하지 않습니다. 정렬 된 파일 묶음 등이지만 전체 목록은 정렬되지 않습니다. 찾기로 더 긴 목록을 정렬하려면 superuser.com/questions/294161/… 을 참조하십시오 .
unhammer

@unhammer 당신이 옳습니다, 이것이 안전하게 작동하려면 , 최근 유닉스 / 리눅스에
F. Hauri September


15

니모닉

를 들어로 시작하는 항목을 무시하지 않는 .종류 날짜 (최근에서 오래된 것 순으로) :

ls -at

날짜로 시작 .하고 역순으로 정렬 된 항목을 무시하지 마십시오 (가장 오래된 것부터).

ls -art

로 시작하는 항목을 무시하지 않으 .려면 긴 목록 형식을 사용하고 날짜순으로 정렬 하십시오 (가장 먼저).

ls -alt

사람이 읽을 수있는 크기로 인쇄 .하려면로 시작하는 항목을 무시하지 말고 긴 목록 형식을 사용하고 날짜순으로 정렬 하십시오 (가장 먼저) (@ EvgeniSergeev note) :

ls -halt

하지만 마지막에주의 간단한 잘못 입력은 서버 충돌 (@Isaac 주)이 발생할 수 있기 때문에,


14

지금까지 최대 3 * 24 시간 (3 일) 전에 수정 된 파일 시스템의 모든 파일을 찾으십시오.

find / -ctime 3

10

가장 최근에 날짜별로 정렬 된 10을 표시하려면 다음과 같이 사용하십시오.

ls -t ~/Downloads | head -10

또는 가장 오래된 것을 보여주기 위해

ls -tr ~/Downloads | tail -10

그것은 GIV ls -t head -2ls -tr | tail -2같은 결과를 제공, 옵션 (-t / -tr) 고정 둘 다 아무것도 modyfing하지 같다 modifing에, 꼬리 / 머리 또는 그 구절을 수정 보관해야합니다
DDS

7

매우 기본적인 Unix 명령 만 사용 :

ls -nl | sort -k 8,8n -k 6,6M

이것은 Linux에서 작동했습니다. 열 8은 "n"(숫자)이고 열 6은 "M"입니다.

에 처음 왔 sort으므로이 답변을 개선 할 수 있습니다. 아니는에 추가 옵션을 필요로 언급 ls하고 sort정확한 타임 스탬프를 사용하지만, 모든 사람이 필요합니다.


5
나는 그것이 LS의 출력을 구문 분석하기 때문에 당신의 대답은 어떤 업 표를 확보하지 생각되는 - 볼 그렇게에 대한 정식 인수LS 구문 분석하지에 대한이 질문
시조를
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.