2日より古いファイルを表示するコマンドは正確に何ですか?私は次のようなことを考えました。
$ find / -mtime -2
...しかし、見つかったファイルの日付をどのように印刷するのかわかりません。私の目標は、インストールされたntfsシステムで過去数日間に新しいファイルまたは変更されたファイルを見つけることです。
また、最新のアイテムから古いアイテムの順に結果を並べ替えることは非常に役立ちます。それは可能ですか?
答え1
48時間以内に作成または変更されたファイルの
最新アイテムから古いアイテムの順に並べ替え:
find / -mtime -2 -printf "%T@" -ls | sort
私が見つけた日付%T@
:man find
最後の修正時間(エポック以来の秒)
答え2
xargsにパイプすることで、出力/フォーマットオプションを簡単に調整して、ls
日付の表示、日付による並べ替えなどを行うことができます。
find / -type f -mtime -2 -print0 | xargs -0 ls -lt
答え3
おかげでzshでは簡単です。グローバル予選。
print -l /**/*~/(proc|dev|sys)/*(m-2om)
/
これには、過去2日間に変更されたファイルまたは以下のファイルを除くすべてのファイルが一覧表示されます()。ファイルは、変更時間()に基づいて逆時間順に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 {} +
答え4
(注:質問の文の1つは元の日付を要求しましたが、日付はテキストの2日前でしたが、タイトルはその逆でした。出力をソートする必要性も後で紹介されました。)
find / -mtime -2 -ls
+2 を使用すると 2 日より古いファイルを表示し、-2 を使用すると 2 日未満のファイルを表示し、2: を使用すると 2 日より古いファイルを表示できます。
-ls を使用すると、ファイルの日付を表示できる ls -l と同様の出力が得られます。
find / -ctime -2 -ls
mtimeの代わりにctimeを使用すると、変更日の代わりに作成日を取得できますが、これは/ etc / fstabのファイルシステムの機能と設定によっては機能しない場合があります。