[linux] ‘찾기’명령으로 수정 된 날짜 시간을 표시하는 방법은 무엇입니까?

find명령을 사용하여 여러 수준의 디렉터리 이름을 표시 할 수 있습니다. 다음 명령 /var은 깊이가 2 인 경로 아래의 모든 디렉토리를 표시합니다 .

find /var -maxdepth 2 -type d;

결과는 다음과 같습니다.

/var
/var/log
/var/log/sssd
/var/log/samba
/var/log/audit
/var/log/ConsoleKit
/var/log/gdm
/var/log/sa

stat명령을 사용 하여 수정 된 날짜 시간을 찾을 수 있습니다.

stat /var/log/samba | grep 'Modify:'

결과는 다음과 같습니다.

Modify: 2014-01-02 11:21:27.762346214 -0800

디렉토리가 수정 된 날짜 시간으로 나열되도록 두 명령을 결합하는 방법이 있습니까?



답변

당신은 사용할 수 -exec에 대한 스위치 find및 출력 형식 정의 stat사용하여 -c다음과 같이 스위치를 :

find /var -maxdepth 2 -type d -exec stat -c "%n %y" {} \;

이것은 출력의 같은 줄에 파일 이름 뒤에 수정 시간을 제공해야합니다.


답변

허용되는 답변은 작동하지만 느립니다. 각 디렉토리에 대해 stat를 실행할 필요가 없으며 find는 수정 날짜를 제공하며 직접 인쇄 할 수 있습니다. 다음은 상당히 빠른 동등한 명령입니다.

 find /var -maxdepth 2 -type d -printf "%p %TY-%Tm-%Td %TH:%TM:%TS %Tz\n"


답변

find /var -maxdepth 2 -type d | xargs ls -oAHd

이것은 ls전체 디렉토리 경로를 표시하는 기본 명령 을 얻는 방법 입니다. 재귀 검색에 ls대한 -R매개 변수 가 있지만 경로는 -l또는 -o옵션 (적어도 OSX에서는)을 사용 하여 결과에 표시되지 않습니다 ls -lR.


답변

의 최신 GNU 버전 에는 날짜 필드를 포함 find하는 -printf옵션 도 포함 되어 있습니다. 표준 “C”형식으로 파일 이름과 수정 시간을 인쇄해야하는 경우 -printf "%c %p\n".

특정 형식의 날짜를 원하는 경우 %C뒤에 필드 문자를 사용할 수 있습니다 . 예를 들어, 4 자리 해가 될 것 %CY으로, Y4 자리 연도의 문자 인.
여러 필드가 필요한 경우 %C여러 번 지정해야합니다 . 예를 들어 YYYY-MM-DD 형식은 다음과 같습니다 %CY-%Cm-%Cd.

자세한 내용은 매뉴얼 페이지 또는 온라인 설명서 를 확인 하십시오.

다음은 작동하는 예입니다.

find . -name favicon.ico -printf "%c %p\n"


답변

마지막 날에 수정 된 파일을 인쇄하는 데 사용하는 또 다른 파일입니다. ls -ltr은 수정 시간, 사용자 등과 같은 더 자세한 정보를 제공합니다.

find <my_dir> -mtime -1 -type f -print | xargs ls -ltr


답변

이 줄을 시도하십시오.

find /var -maxdepth 2 -type d|xargs stat|grep -E 'File|Modi'

여기에서 실행하면 다음과 같이 출력됩니다.

....
  File: ‘/var/cache/cups’
Modify: 2013-12-24 00:42:59.808906421 +0100
  File: ‘/var/log’
Modify: 2014-01-01 12:41:50.622172106 +0100
  File: ‘/var/log/old’
Modify: 2013-05-31 20:40:23.000000000 +0200
  File: ‘/var/log/journal’
Modify: 2013-12-15 18:56:58.319351603 +0100
  File: ‘/var/log/speech-dispatcher’
Modify: 2013-10-27 01:00:08.000000000 +0200
  File: ‘/var/log/cups’
Modify: 2013-12-22 00:49:52.888346088 +0100
  File: ‘/var/opt’
Modify: 2013-05-31 20:40:23.000000000 +0200
....


답변