2

いくつかのディスクシステムからのファイルの所有権、サイズ、および変更された日時を確認したいと思います。

私が知っている唯一の解決策はfindの-mtimeオプションを使用することであり、指定された日付範囲に基づいてファイル名/パスのリストのみを返すため、これらのファイルとディレクトリを再帰的に検索する方法はありますか?所有権、サイズ、日付/時刻も変更する必要があります。

statが後処理で詳細情報を提供することは知っていましたが、多くのファイルシステムにまたがる巨大なファイル/ディレクトリを処理する必要があるため、各ファイルに必要な情報を使用してこれらのファイルを効率的に見つける他のオプションはありますか?

4

3 に答える 3

1

GNU findを使用すると、この-lsオプションを使用して、検索結果をと同様の形式で印刷するls -islか、オプションを使用して目的-printfのフィールドを正確に選択できます。例:

find . -type f -mtime -3 -ls

find . -type f -mtime -3 -printf 'owner=%u (uid %U) size=%s bytes modified=%t name=%p\n'
于 2012-07-26T20:11:05.460 に答える
0

読みやすさと明確さのためにOPを編集しました。

あなたが求めていると私が信じていることに基づいて、あなたはあなたが探しているものをあなたに与えるためにfind組み合わせることができます:ls

find . -type f -mtime -3d -print0 | xargs -0 ls -la

上記のコマンドラインステートメントは、変更されてから3日以内にすべてのファイルを識別し、必要に応じて、出力を-laスイッチを指定してlsコマンドにパイプし、完全なファイル情報を提供します。ステートメントのfind部分をいじって、実際のファイルセットを識別することができますが、後ろの部分には常にファイルの詳細が表示されます。

于 2012-07-26T20:03:40.617 に答える
0

GNUバージョンのfindには、-user(所有者の場合)、-size(ファイルサイズの場合)、-mtime(変更された時間の場合)があります。

これらのオプションは、あなたが必要としているものを正確に提供しませんか?

于 2012-07-26T08:28:14.907 に答える