最後のx分、たとえば最近1時間に変更されたファイルを検索しようとしています。ネット上の多くのフォーラムやチュートリアルは、このように、-mminオプションを指定してfindコマンドを使用することをお勧め:予想通り最後のx分で修正されたファイルを見つける方法(-mminが期待どおりに動作しない)
find . -mmin -60 |xargs ls -l
しかし、このコマンドは私のために動作しませんでした。あなたは次のリストから見ることができるように、それはまた、以前よりも1時間前に変更されたファイルを示しています
-rw------- 1 user user 9065 Oct 28 23:13 1446070435.V902I67a5567M283852.harvester
-rw------- 1 user user 1331 Oct 29 01:10 1446077402.V902I67a5b34M538793.harvester
-rw------- 1 user user 1615 Oct 29 01:36 1446078983.V902I67a5b35M267251.harvester
-rw------- 1 user user 72365 Oct 29 02:27 1446082022.V902I67a5b36M873811.harvester
-rw------- 1 user user 69102 Oct 29 02:27 1446082024.V902I67a5b37M142247.harvester
-rw------- 1 user user 2611 Oct 29 02:34 1446082482.V902I67a5b38M258101.harvester
-rw------- 1 user user 2612 Oct 29 02:34 1446082485.V902I67a5b39M607107.harvester
-rw------- 1 user user 2600 Oct 29 02:34 1446082488.V902I67a5b3aM465574.harvester
-rw------- 1 user user 10779 Oct 29 03:27 1446085622.V902I67a5b3bM110329.harvester
-rw------- 1 user user 5836 Oct 29 03:27 1446085623.V902I67a5b3cM254104.harvester
-rw------- 1 user user 8970 Oct 29 04:27 1446089232.V902I67a5b3dM936339.harvester
-rw------- 1 user user 165393 Oct 29 06:10 1446095400.V902I67a5b3eM290158.harvester
-rw------- 1 user user 105054 Oct 29 06:10 1446095430.V902I67a5b3fM265065.harvester
-rw------- 1 user user 1615 Oct 29 06:24 1446096244.V902I67a5b40M55701.harvester
-rw------- 1 user user 1620 Oct 29 06:24 1446096292.V902I67a5b41M337769.harvester
-rw------- 1 user user 10436 Oct 29 06:36 1446096973.V902I67a5b42M707215.harvester
-rw------- 1 user user 7150 Oct 29 06:36 1446097019.V902I67a5b43M415731.harvester
-rw------- 1 user user 4357 Oct 29 06:39 1446097194.V902I67a5b56M446687.harvester
-rw------- 1 user user 4283 Oct 29 06:39 1446097195.V902I67a5b57M957052.harvester
-rw------- 1 user user 4393 Oct 29 06:39 1446097197.V902I67a5b58M774506.harvester
-rw------- 1 user user 4264 Oct 29 06:39 1446097198.V902I67a5b59M532213.harvester
-rw------- 1 user user 4272 Oct 29 06:40 1446097201.V902I67a5b5aM534679.harvester
-rw------- 1 user user 4274 Oct 29 06:40 1446097228.V902I67a5b5dM363553.harvester
-rw------- 1 user user 20905 Oct 29 06:44 1446097455.V902I67a5b5eM918314.harvester
実は、それだけで現在のディレクトリ内のすべてのファイルをリストされています。私たちは、一例として、これらのファイルのいずれかを取ると、lsコマンドで表示されるように、その修正時刻が本当にあるかどうかを確認することができます
stat 1446070435.V902I67a5567M283852.harvester
File: ‘1446070435.V902I67a5567M283852.harvester’
Size: 9065 Blocks: 24 IO Block: 4096 regular file
Device: 902h/2306d Inode: 108680551 Links: 1
Access: (0600/-rw-------) Uid: (1001/ user) Gid: (1027/ user)
Access: 2015-10-28 23:13:55.281515368 +0100
Modify: 2015-10-28 23:13:55.281515368 +0100
Change: 2015-10-28 23:13:55.313515539 +0100
は、我々が見ることができるように、このファイルは間違いなく最後早くより1時間前に変更されました!私もfind -mmin 60
またはfind -mmin +60
を試しましたが、うまくいきませんでした。
なぜこの問題が発生し、findコマンドを正しく使用するのですか?
Ummm..clever .. + 1 – heemayl
また、入力がない場合は実行されているから、それを防ぐために、xargsのに-rフラグを使用することができます。もちろん、xargsの使用時にファイル名のスペースが問題を起こさないようにすることを強く推奨します。例: 'find。 -mmin 60 -print0 | xargs -0r ls -l'です。改行は通常、アクティブな攻撃者を除いてかなり安全です 'find。 -mmin 60 | xargs '-rd \ n' ls -l'もちろん、上記の答えの-execの代替は、両方の問題を解決します。 –