[linux] 디렉토리에서 마지막으로 수정 된 5 개의 파일을 어떻게 나열합니까 (ls)?

ls -t수정 된 시간으로 모든 파일을 나열한다는 것을 알고 있습니다. 그러나이 결과를 마지막 n 파일 로만 제한하려면 어떻게해야합니까?



답변

머리 나 꼬리를 사용해보십시오. 가장 최근에 수정 된 5 개의 파일을 원하는 경우 :

ls -1t | head -5

-1 (즉 1)은 한 줄에 하나의 파일을 나타내고 헤드는 처음 5 개의 항목을 가져옵니다.

당신이 마지막 5 시도를 원한다면

ls -1t | tail -5


답변

허용 된 답변에는 파일 이름 만 나열되지만 상위 5 개의 파일을 얻으려면 다음을 사용할 수도 있습니다.

ls -lht | head -6

어디:

-l 목록 형식으로 출력

-h 출력물을 사람이 읽을 수있게합니다 (예 : 파일 크기는 kb, mb 등으로 나타남)

-t 가장 최근에 수정 된 파일을 먼저 배치하여 출력을 정렬합니다

head -6 5 개의 파일을 표시하므로 ls첫 번째 출력 행에 블록 크기를 인쇄 .

나는 이것이 조금 더 우아하고 아마도 더 유용한 접근법이라고 생각합니다.

출력 예 :

total 26960312
-rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py
-rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf
-rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf
-rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf
-rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv


답변

사용 tail명령 :

ls -t | tail -n 5


답변

기본적으로 ls -t 출력을 최신에서 가장 오래된 것으로 정렬하므로 사용할 명령 조합은 출력을 정렬 할 방향에 따라 다릅니다.

최신 파일부터 가장 오래된 파일까지 최신 5 개 파일의 head경우 처음 5 줄의 출력을 사용합니다.

ls -t | head -n 5

가장 오래된 것부터 가장 오래된 것까지 순서대로 정렬 된 최신 5 개 파일의 경우 -r스위치를 사용하여 ls정렬 순서 를 반대로 tail하고 마지막 5 줄의 출력을 사용합니다.

ls -tr | tail -n 5


답변

ls -t마지막 수정 시간이 아닌 작성 시간별로 파일을 나열합니다. ls -ltc마지막으로 수정 한 시간을 기준으로 파일을 마지막에서 처음으로 (위에서 아래로) 나열 하려면 사용하십시오 . 따라서 마지막 n을 나열하려면 다음을 수행하십시오.ls -ltc | head ${n}


답변