2日未満のファイルを表示するコマンドは正確に何ですか?私はこのようなものについて考えました:
$ find / -mtime -2
...しかし、見つかったファイルの日付を印刷する方法がわかりません。私の目標は、マウントされたntfsシステム上のファイルで、過去数日のうちに新しくまたは変更されたものを見つけることです。
さらに、結果を新しいものから古いものに並べ替えると非常に役立ちます。それは可能ですか?
2日未満のファイルを表示するコマンドは正確に何ですか?私はこのようなものについて考えました:
$ find / -mtime -2
...しかし、見つかったファイルの日付を印刷する方法がわかりません。私の目標は、マウントされたntfsシステム上のファイルで、過去数日のうちに新しくまたは変更されたものを見つけることです。
さらに、結果を新しいものから古いものに並べ替えると非常に役立ちます。それは可能ですか?
回答:
48時間以内に作成または変更されたファイル
は、新しいものから古いものへと並べ替えられます。
find / -mtime -2 -printf "%T@" -ls | sort
私が見つけた%T@
ものman find
:最終変更時間(エポックからの秒数)
これは、グロブ修飾子のおかげで、zshではより簡単です。
print -l /**/*~/(proc|dev|sys)/*(m-2om)
これには、またはの/
下にあるファイルを除いて、の下にあるすべてのファイルがリストされます。ファイルは、変更日時の新しい順に()、1行に1つ()表示されます。/proc
/dev
/sys
m-2
om
print -l
ファイルのメタデータも一覧表示する場合は、シェルで並べ替える必要はありません。フィルターするだけです。一致するファイルが多すぎる場合、プラットフォームに依存するコマンドラインの長さの制限に遭遇する可能性があります。
ls -dlt /**/*~/(proc|dev|sys)/*(m-2)
通常のファイルのみを照合する場合は.
、括弧内に追加します。
POSIXツールのみを使用してls -dlt
、並べ替えやfind
ファイルリストの生成に使用できます。この場合も、一致するファイルが多すぎると、プラットフォームに依存するコマンドラインの長さの制限に遭遇する可能性があります。通常のファイルのみを照合する場合は、-type f
beforeまたはafterを追加しますmtime -2
。
find / -mtime -2 -exec ls -dlt {} +
(注:質問の1文は元々、テキストで2日より前の日付を要求していましたが、見出しはそれとは逆でした。出力をソートする必要性も後で紹介されました)。
find / -mtime -2 -ls
+2を指定すると、2日より古いファイル、-2は2日未満、2:2日古いファイルのみが表示されます。
-lsを使用すると、出力のようなls -lが表示され、ファイルの日付を確認できます。
find / -ctime -2 -ls
mtimeの代わりにctimeを使用すると、変更日ではなく作成日を取得しますが、/ etc / fstabのファイルシステムの機能と設定によっては、これが機能する場合と機能しない場合があります。