命令`ls -ltu`无法根据上次访问时间列出文件夹/文件

249

首先在Linux桌面上创建2个文件夹。

a
b

现在在终端中运行

ls -ltu

结果是

drwxr-xr-x 2 root root 4096 Aug 30 20:33 b
drwxr-xr-x 2 root root 4096 Aug 30 20:33 a

让我们单击a并重新运行它。
与上述结果完全相同。

让我们单击b并重新运行它。
与上述结果完全相同。

我正在尝试根据上次单击的文件夹来安排文件夹。他们推荐了,ls -ltu但是没有用。

你好

您可以使用该命令stat查看与时间有关的文件和目录信息。

例子

$ mkdir a b

$ ll
total 8
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 a
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 b

$ ls -ltu
total 8
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 a
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 b

统计输出

现在,使用stat命令查看这些目录

$ stat a b
  File: `a'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 5643285     Links: 2
Access: (0775/drwxrwxr-x)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-08-31 00:08:03.621936538 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
  File: `b'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 5643286     Links: 2
Access: (0775/drwxrwxr-x)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-08-31 00:08:03.621936538 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400

存取中 a

现在访问目录a

$ ls a

现在让我们使用以下命令重新检查目录stat

$ stat a b
  File: `a'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 5643285     Links: 2
Access: (0775/drwxrwxr-x)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-08-31 00:08:33.221267791 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
  File: `b'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 5643286     Links: 2
Access: (0775/drwxrwxr-x)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-08-31 00:08:03.621936538 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400

我们可以看到,确实确实影响了目录的统计信息ls a

Access: 2013-08-31 00:08:03.621936538 -0400

Access: 2013-08-31 00:08:33.221267791 -0400

存取中 b

现在,如果我们访问b目录,则ls b

$ ls b

$ ls -ltu
total 8
drwxrwxr-x 2 saml saml 4096 Aug 31 00:17 b
drwxrwxr-x 2 saml saml 4096 Aug 31 00:08 a

统计输出

我们可以看到访问时间已更改,并且上面的输出ls -ltu应为:

$ stat a b
  File: `a'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 5643285     Links: 2
Access: (0775/drwxrwxr-x)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-08-31 00:08:33.221267791 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400
  File: `b'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 5643286     Links: 2
Access: (0775/drwxrwxr-x)  Uid: (  500/    saml)   Gid: (  501/    saml)
Access: 2013-08-31 00:17:15.279776957 -0400
Modify: 2013-08-31 00:08:03.621936538 -0400
Change: 2013-08-31 00:08:03.621936538 -0400

我们可以再次看到一个简单的ls b导致访问时间被更新:

Access: 2013-08-31 00:08:03.621936538 -0400

Access: 2013-08-31 00:17:15.279776957 -0400

概括

在看上面的分析时,我看不出没有任何原因ls -ltu不能显示按预期访问时间排序的目录。

那么这是什么一回事?

也许您已挂载目录,以便不跟踪访问时间?这可以解释为什么没有变化。

如果在手册页中查找mount命令,则会看到以下两个已定义的选项:

atime     Update inode access time for each access. See also the 
          strictatime mount option.

noatime   Do not update inode access times on this filesystem (e.g, 
          for faster access on the news spool to speed up news servers).

您可以使用以下mount命令检查文件系统的安装方式如果安装设备以noatime显示该选件,则表示正在安装该设备,因此不会跟踪访问时间(时间)。通常这样做是为了提高性能。

例子

$ mount
/dev/mapper/vg_grinchy-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda5 on /boot type ext4 (rw)
/dev/mapper/vg_grinchy-lv_home on /home type ext4 (rw)
gvfs-fuse-daemon on /home/saml/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=saml)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用LS命令逐页列出文件夹的文件

'ls $ variable'不列出文件夹内容

使用 bash ls 命令仅根据文件的中间部分列出文件

如何使用bash命令列出文件夹?

列出文件夹差异的 git 命令是什么

ls命令列出隐藏文件

ls命令认为目录是文件

LS命令输出到文件

是否可以从`ls`命令中删除文件夹前缀

从`ls`命令中删除文件夹前缀的别名

如何使用sort命令而不是ls -lrt命令列出文件

命令列出文件夹中的所有文件以及Windows中的子文件夹

如何在Linux shell中使用`ls`列出文件,因为它们在相应的文件夹中列出

批处理命令列出文件夹中的文件并添加文本

linux ls命令列出文件名中包含某些字符的文件

os.listdir打印的文件多于命令“ ls”,但少于“ ls -a”

在Linux中使用ls命令列出文件的完整路径

SCRIPT中的哪个命令将导致下一个“ ls”立即列出文件?

ls -s命令,什么类型的文件大小

Shell脚本列出文件夹中的所有目录并为每个目录运行命令

如何合并两个Powershell命令以列出文件夹和ACL

为什么我的文件的“上次修改”时间戳仅使用“ ls”命令显示年份?

如何在bash中逐个读取ls命令列出的文件?

LS命令未列出Amazon EC2中的文件

为什么ls命令没有列出巨大的文件大小?

ls命令不列出最新目录内容

带ls -a的grep命令无法正常工作?

ls命令仅显示文件,没有文件夹(用空格代替?)

Unix命令获取文件/文件夹的最后修改日期和大小(NOT LS)