GNU/Linux >> Linux の 問題 >  >> Linux

Linuxのディレクトリツリーで最も古いファイルを見つける方法

先日、仲間のLinuxユーザーから、Linuxのコマンドラインからディレクトリ内の最も古いファイルを見つける方法を尋ねられました。 GUIモードで日付とタイムスタンプを使用することにより、ディレクトリ内の最も古いファイルを特定できます。しかし、コマンドラインからそれを見つける方法がわかりません。幸い、このソリューションを見つけました グーグルを少し掘り下げた後。ディレクトリ内またはファイルシステム全体で最も古いファイルを見つける方法がわからない場合は、このまま読み進めてください。それほど難しいことではありません。

Linuxのディレクトリツリーで最も古いファイルを検索する

ディレクトリ内の最も古いファイルを検索するには、たとえば / home / sk / ostechnix / 、実行:

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 1

このコマンドを分解して、各コマンドライン引数が何をするかを見てみましょう。

ここで

  • 検索 -ディレクトリ階層でファイルを検索します。
  • / home / sk / ostechnix / -場所を検索します。
  • タイプ-f -通常のファイルのみを検索します。
  • -printf'%T +%p \ n' -ファイルの最終変更日時を+で区切って印刷します シンボル。 (例:2015-07-22 + 13:42:40.0000000000)。ここで、%p ファイル名を示します。 \ n 改行を示します。
  • 並べ替え| head -n 1 -並べ替え コマンドは出力をソートし、出力をヘッドに送信します 最も古いファイルを表示するコマンド。ここでは、 -n 1 1つのファイル、つまり最も古いファイルのみを示します。

ご存知かもしれませんが、説明 Linuxコマンドの各部分が何をするかを見つけるのに役立ちます。

上記のコマンドは次の出力を返しました:

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf

上記の出力にあるように、 Absolute FreeBSD_ 2nd Edition.pdf / home / sk / ostechnix /にある最も古いファイルです ディレクトリ。

Linuxは、ファイルの作成日を使用して最も古いファイルを検出しないことに注意してください。代わりに、ファイルの変更日を使用します それを見つけるために。

ダウンロード -無料のチートシート:「Linuxコマンドラインチートシート」

同様に、特定のディレクトリで最も古い上位5つのファイルを見つけるには、次のコマンドを実行します。

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 5

出力例:

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf
2016-11-28+21:03:05.0000000000 /home/sk/ostechnix/Etcher-linux-x64.AppImage
2016-12-14+18:28:20.5162190000 /home/sk/ostechnix/ubuntu.jpg
2016-12-18+18:14:46.5931480000 /home/sk/ostechnix/Marconi Union - Sleepless.mp3
2017-03-17+19:28:27.8193330000 /home/sk/ostechnix/The Devops toolkit.pdf

最も古いファイルが最初に表示されます。

ルート(/)ファイルシステム全体で最も古いファイルを見つけるには、次のコマンドを実行します。

$ sudo find / -type f -printf '%T+ %p\n' | sort | head -n 1

更新:

仲間のLinuxユーザーが、下のコメントセクションのディレクトリで最も古いファイルまたは最も新しいファイルを見つける方法を指摘しました。私の方法よりもはるかに簡単です。

ディレクトリ内の最も古いファイルを見つけるには、そのディレクトリに移動して次のコマンドを実行します。

$ ls -lt | tail -1

ディレクトリ内の最新のファイルを見つけるには:

$ ls -ltr | tail -1

これがお役に立てば幸いです。


Linux
  1. Linuxでファイルを見つける方法

  2. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  3. Linuxで特定のファイルを提供するパッケージを見つける方法

  1. Linux –ツリーとディレクトリサイズを組み合わせる方法は?

  2. Linux で「find」の結果を mv にパイプする方法

  3. ディレクトリツリーで最も古いファイルを見つけるにはどうすればよいですか

  1. Linux – Unix / linuxファイルのディレクトリ構造情報をどのように検査しますか?

  2. Python でファイルまたはディレクトリの所有者を見つける方法

  3. ファイルを見つけて、Linux でそのディレクトリに cd します