新しいファイルをディレクトリにログイン

新しいファイルをディレクトリにログイン

最近作成されたファイルについて教えてくれるツールはありますか?

階層的なファイルシステムを使用するまだ一般的な方法では、ファイルを別の場所に保存することが困難であるため、コンテンツは通常のトピックフォルダに分類され、時にはディレクトリなどのコンテンツに直接関連する場所にソートされます。ツール。

私が尋ねることができるツールは次のとおりです。

  • 作成/保管期間

  • ファイル形式/名前/拡張子

  • 除外/含めるディレクトリのブラック/ホワイトリスト

答え1

これらのタスクをサポートするコマンドラインツールは次のとおりですfind

はい

find /path -iname '*.ext' # search for extension (don't forget the quotes)
find /path -mtime n       # search for last modified `n*24h` ago
find /path -atime n       # search for last accessed `n*24h` ago
find /path -newer ref     # newer than ref
find /path -size +100M    # larger than 100MB
find /path -perm 664      # example to search for files with a specific permission
find /path -type <t>      # search for file `f`, directory `d`, symbolic link `l` ...

ファイル形式の詳細については、以下を実行することをお勧めします。

find /path -type f -exec file '{}' \; | grep 'Vorbis audio'

find.

答え2

inotifyすぐに知る必要がある場合は、以下を使用してください。

新しく作成されたファイルについてすぐに知る必要がある場合は、実際にinotifyLinuxでAPIを使用してディレクトリまたはディレクトリツリーにファイルが作成されたときにイベントを待つことができます(参考資料を参照man 7 inotify)。

他のソリューションの一部と組み合わせて、ファイルに関する詳細情報を見つけることができます。

ファイル生成観察例

次に、コマンドがinotifywait -e create -m /path開始されます。この行の後に待っている間、Watches established.他の端末に新しいファイルが作成されます。foo/path

term1$ inotifywait -e create -m /path
Setting up watches.
Watches established.

term2$ touch /path/foo

term1$ inotifywait -e create -m /path
Setting up watches.
Watches established.
./ CREATE foo
^C

(最初の3行は上記のように繰り返されます)

-m--monitor)オプションがない場合は、inotifywait最初のイベントの後に停止し、これはスクリプトループに役立ちます。

関連情報