web-dev-qa-db-ja.com

ファイルのサブセットを無視して、アクセス時間でディレクトリ内のファイルを並べ替えます

たまに、いくつかのファイルをディレクトリdにダウンロードします。その間、たくさんのファイルがダウンロードされ、ダウンロードされた順に古いものから新しいものへと並べ替えて見ようとしました。

順序はそれほど正確ではないと判断しましたが、「ダウンロード時」以外の方法でアクセスしたファイル(たとえば、興味深いと思ったpdfファイルを開いた)によって順序が変わる可能性があります。

私は次のコマンドを使用しました:

$ ls -rtlu

しかし、すぐにダウンロードされたビデオが、最近興味を示さなかった他の約100個のファイルで区切られていたため、私が探していたものではありませんでした。そして、それらはすべて、出力Feb 11 16:44で同じアクセス時間を持っています。最初のビデオはFeb 11 16:28でダウンロードされ、2番目のビデオはFeb 11 16:45でダウンロードされました。

出力を修正してアクセス時間に応じてファイルを一覧表示しますが、使用しないファイルは除外(または削除)できますか?

例えばそれらにアクセスしたものを見つける(最近インストールした監査アプリケーションである可能性があると思います)

3
xralf

多分 ls -rtlcあなたが望むことをします。 iノード変更時間(ctime)順に並べられています。 iノードの変更時間は、アクセス時間を除いてファイルに関する何かが変更されるたびに変更されます。つまり、読み取り以外の操作を行うと、ctimeが変更されます(作成、書き込み、移動、属性の変更など)。ファイルを移動したり、アクセス許可を変更したりしていない限り、ctimeはダウンロード時間である必要があります。

ダウンロード時間が希望どおりでない場合は、運が悪いと思います。どのプロセスがファイルにアクセスしたかは記録されません。ファイルのアクセス時間は、どのアプリケーションがファイルを読み取るかに関係なく、読み取りごとに更新されます(または、最近のLinuxシステムでは、パフォーマンスの利便性を犠牲にして、一部の読み取りで更新されます)。 PDFリーダーを使用した読み取りと、監査またはインデックス作成アプリケーションを使用した読み取りの間に違いはありません。

最近表示したファイルを知りたい場合は、ファイルビューア自体が開いたファイルの履歴を保持しているかどうかを確認できます。多くのGUIプログラムは、最近開いたファイルのリストを保持しますが、通常、プログラムで簡単にアクセスすることはできません。

コマンドラインからビューアを呼び出した場合は、シェルの履歴を試してください。シェルの構成方法に応じて、その履歴は完全である場合とそうでない場合があり、タイムスタンプが付けられている場合とされていない場合があります。