ls -all
コマンドを発行すると、一部のファイルまたはディレクトリには年があり、一部には時間がありますか?他の人が時間を表示するのに、なぜ一部の人は年を表示するのですか?時間は、ファイルが作成された時間の代表ですか?
ls -all
コマンドを発行すると、一部のファイルまたはディレクトリには年があり、一部には時間がありますか?他の人が時間を表示するのに、なぜ一部の人は年を表示するのですか?時間は、ファイルが作成された時間の代表ですか?
回答:
デフォルトでは、ファイルのタイムスタンプは短縮形でリストされ、最近ではないタイムスタンプには「2002年3月30日」のような日付が使用され、最近のタイムスタンプには「3月30日23:45」のような年と日付のない日付が使用されます。以下に詳述するように、この形式は現在のロケールに応じて変更できます。
タイムスタンプは、6か月未満であり、将来の日付ではない場合、最新であると見なされます。今日の日付のタイムスタンプが最近の形式でリストされていない場合、そのタイムスタンプは将来のものです。つまり、ファイルのタイムスタンプに依存するmakeのようなプログラムを壊す可能性のあるクロックスキューの問題がある可能性があります。
ソース:http : //www.gnu.org/software/coreutils/manual/coreutils.html#Formatting-file-timestamps
説明する:
$ for i in {1..7}; do touch -d "$i months ago" file$i; done
$ ls -l
total 0
-rw-r--r-- 1 terdon terdon 0 Sep 21 02:38 file1
-rw-r--r-- 1 terdon terdon 0 Aug 21 02:38 file2
-rw-r--r-- 1 terdon terdon 0 Jul 21 02:38 file3
-rw-r--r-- 1 terdon terdon 0 Jun 21 02:38 file4
-rw-r--r-- 1 terdon terdon 0 May 21 02:38 file5
-rw-r--r-- 1 terdon terdon 0 Apr 21 2015 file6
-rw-r--r-- 1 terdon terdon 0 Mar 21 2015 file7
表示しようとしている日付/時刻が過去6か月の場合
ls
、日付と時刻を表示します。6か月より前の場合、または将来の場合ls
は、日付と年を表示します。
他の回答で述べたように、
ls -ll
相当しls -l
、そしてls -all
等価であるls -al
に相当する、ls -a -l
、ls -l -a
、とls -la
。では-l
オプション、ls
(「すべてはファイルである」ことから、ディレクトリを含む)、ファイルの変更日付/時刻を表示しない限り、
-c
また、指定されます。その場合、変更時間を表示します。または-u
も指定されます。この場合、アクセス時間が表示されます。詳細については、ls(1)を参照してください。
あなたは何かを実現しましたか?それは、10月20日の1時間(今日)に表示されます。つまり、ファイルを最後に変更した時刻が表示されますが、今日ではない他の日には、時刻なしの日付のみが表示されます。
トーマスが答えたように、これはこれではないことがわかりました。私は演method法を使用しようとしましたが、結局正しい結論を得ることが保証されていません。
Aug 6 19:50 .config
、Aug 6 19:48 VNCHOWTO
。
-all
ます。最後のLは不要であることに注意してください。これall
は、「すべて」という単語を表すのではなく、-a
(すべてのファイルを表示する)および-l
(長いリスト形式)を表すためです。すべて一緒に、ls -al
あなたが使用しているものと同じです。