답변:
당신이 사용할 수있는:
ls -Rt
어디 -R
수단 재귀 와 (하위 디렉토리 포함) -t
"일종의 마지막으로 수정 한 날짜"라는 뜻입니다.
수정 된 날짜별로 정렬 된 파일 목록을 보려면 다음을 사용하십시오.
ls -l -Rt
이를 위해 별칭을 만들 수도 있습니다.
alias lt='ls -lht'
lt
어디는 -h
보다 읽기 쉬운 출력을 제공합니다.
ls -lrt[RhA]
. 는 -r
... 목록의 맨 아래에 최근에 편집 물건을두고 정렬 순서를 반전
-ila
당신에게 필요한 거의 모든 정보를 제공합니다. $ ls -ilaRt
ll -Rt
가장 최근에 수정 된 날짜별로 파일을 확인해야 했기 때문에 사용 이 완벽한 솔루션 이었기 때문에이 답변을 확장했습니다 . 이것은 다른 사람들에게 도움이 될 수 있습니다.
ll
는 존재하지 않으며 명령이 아닙니다. 대부분 bash 셸의 별칭이지만 most / some /? 리눅스 배포판. 일부는 그것을 alias ll='ls -l'
/etc/bash.bashrc 또는 /etc/.bashrc에서 정의합니다 . 따라서 작동하지 않을 수 있으며 OP 시스템에 존재하지 않을 수 있습니다. ls -l -Rt
적어도 ls
posix에 정의 된 표준 명령을 사용하십시오 . 또는 의미를 지정하십시오 alias ll='ls -l'; ll -Rt
.
모든 파일 을 수정 날짜 별로 정렬 하여 파일이 있는 디렉토리를 표시하지만 디렉토리별로 그룹화하지 않은 마스터 목록을 원하는 경우 다음 을 사용할 수 있습니다.
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
결과는 다음과 같습니다. ls -l
.
-rw-r--r-- 1 루트 루트 3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r--r-- 1 루트 루트 22946 08/13/2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r--r-- 1 루트 루트 728 08/17/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r--r-- 1 루트 루트 873 08/18/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r--r-- 1 루트 루트 2552 2009-08-19 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r--r-- 1 루트 루트 9546 2009-08-19 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r--r-- 1 루트 루트 2201 08/19/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r--r-- 1 루트 루트 926 08/19/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r--r-- 1 루트 루트 18052 08/19/2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r--r-- 1 개의 루트 루트 1845 08/19/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
Mac OS X을 사용하는 사용자의 경우 BSD find에서 -printf 옵션을 사용할 수 없습니다 (이 오류가 발생합니다 :)find: -printf: unknown primary or operator
. 다행스럽게도 Homebrew를 통해 GNU를 설치할 수 있습니다 ( Fink 및 Macports에 대한 옵션도 있어야 함 ).
brew install findutils
설치 후 GNU 찾기를 gfind
. 따라서 위의 줄을 다음과 같이 변경하기 만하면됩니다.
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
find
저자 만큼 친숙하지 않은 사람들 (나와 같은)의 경우 이러한 인수 -printf
는 man find
( printf
해당 페이지에서 의 다섯 번째 인스턴스 검색) 에서 찾을 수있는 형식 지시문입니다 .
find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' '
내장 유틸리티 만 사용하여 MacOS에서 거의 동일한 출력을 제공합니다
sort -r
정렬을 반대로하고 가장 최근에 수정 된 파일을 맨 위에 표시합니다.
를 들어 zsh
사용자, 당신은 또한 사용할 수 글로브 한정자를 (또한 문서화 man zshexpn
) :
echo *(om)
어디는 o
의미 , 정렬 순서까지 와 m
의 약자 최종 수정 시간 .
이것은 for 루프 또는 다른 명령에서 사용할 때 유용 할 수 있습니다.
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
또는 다른 glob 한정자와 연결 :
last_modified_file=(*(om[1]))