Answers:
默认情况下,文件时间戳以缩写形式列出,对于非最近时间戳使用日期,例如“ Mar 30 2002”,对于最近时间戳,使用日期,没有年份和时间,例如“ Mar 30 23:45”。该格式可以根据当前区域设置而更改,如下所述。
如果时间戳记少于六个月且未过时,则认为该时间戳记是最近的。如果今天的时间戳记未以最新形式列出,则该时间戳记将在将来出现,这意味着您可能存在时钟偏斜问题,这些问题可能会破坏诸如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
表示的时间是修改时间。请注意,ls -all
这与相同ls -l -a
,与有所不同ls --all
。l
在您的示例中没有理由使用double 。如果要查看每个文件的修改时间,可以使用ls -al --full-time
。
ls
,正常使用--time-style=long-iso
可能会更有用。--full-time
显示秒,其中通常不需要十进制小数点后包括九个密码(!)。
--full-time
暗示-l
,因此您可以使用ls -a --full-time
。
如果它试图显示的日期/时间是过去六个月,则
ls
显示日期和时间。如果时间早于六个月(或者将来),则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日的小时时间,即今天,这表示它将显示您最后一次修改文件的时间,但是在其他日期(不是今天)中,它将仅显示日期而没有时间。
托马斯回答说,事实证明并非如此。我只是尝试使用演绎法,毕竟不能保证得出正确的结论。
Aug 6 19:50 .config
,Aug 6 19:48 VNCHOWTO
。
-all
。请注意,最后一个L是多余的,因为all
它不代表单词“ all”,而是代表-a
(显示所有文件)和-l
(长列表格式)。总而言之,ls -al
与您所使用的相同。