回答:
これを行う別の方法:
find -name file2 -newer file1
file2が古いか、file1と同じ年齢の場合、nullを返します。file2が新しい場合は、file2の名前(およびディレクトリ)を返します。
Linuxはファイルがいつ作成されたかを追跡しないことに注意してください。これらのテストは、最新の変更日時に対して行われます。
ctime
作成時間ではありません。これはiノードの変更時間であり、所有者や許可などのファイルの属性が変更されたとき、またはファイルを変更したときに更新されます。一部のファイルシステムは出生時間をサポートしていますが、カーネルはサポートしていません。Statは空の出生時刻を示します。unix.stackexchange.com/a/91200を参照してください。OSXは出生時間をサポートしていることに注意してくださいstat -f %SB filename
debugfs
Linuxで作成(誕生)時間を確認する方法については、htrp://unix.stackexchange.com/a/50184も参照してください。
より詳細な情報が必要な場合は、stat
コマンドを使用できます
<tbielawa>@(fridge)[~/SuperUser] 03:15:10
$ touch firstFile
<tbielawa>@(fridge)[~/SuperUser] 03:15:24
$ touch secondFile
<tbielawa>@(fridge)[~/SuperUser] 03:15:45
$ stat firstFile
File: `firstFile'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 151528 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 500/tbielawa) Gid: ( 500/tbielawa)
Access: 2010-09-14 03:15:24.938721003 -0400
Modify: 2010-09-14 03:15:24.938721003 -0400
Change: 2010-09-14 03:15:24.938721003 -0400
<tbielawa>@(fridge)[~/SuperUser] 03:15:48
$ stat secondFile
File: `secondFile'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 805h/2053d Inode: 151529 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 500/tbielawa) Gid: ( 500/tbielawa)
Access: 2010-09-14 03:15:45.074722792 -0400
Modify: 2010-09-14 03:15:45.074722792 -0400
Change: 2010-09-14 03:15:45.074722792 -0400
echo $(($(date -r file1 +%s)-$(date -r file2 +%s)))
2208
結果が> 0の場合、最初のファイルの方が新しいです。(Linuxに保存される作成時間ではなく、最終変更の点で新しい)。
このリンクによると、unixは作成日を保存しません。 http://www.issociate.de/board/post/302628/How_to_check_file_creation_date.html
ただし、最後のアクセスは保存します。
最終アクセス用
ls -t # displays in order of date. So the first one is the
lsは、各ファイルを新しい行に表示します。
そのため、ls -tは最初の行などに最新のファイルを表示します。
sedを使用して最初の行を選択できます。
ls -t php.exe php.ini | sed -n '1p' php.ini
行うことができます-lt
あなたのような二行目を選択して、それは最初の行に合計を提供します..あなたは、あなたが任意のファイルを指定しない場合、ことがわかります...そして、それはディレクトリをしても$ls -lt | sed -n '2p'
良いものは
ls -t | head -n 1
または
ls -lt | head
最初のファイルが最初に変更された順序で最初の10行を表示し、どのファイルであるかを確認できます
-t
変更時刻です。-u
アクセス時間
ここに小さなスクリプトがあります、私はやった:
mtf0=`stat -c %Y file0`
mtf1=`stat -c %Y file1`
dt=$(( mtf1 - mtf0 ))
[[ $dt -gt 0 ]] && echo "File F1 is newer than file F0 "
-ot
、「より古い」です。