AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 667118
Accepted
Edman
Edman
Asked: 2021-09-01 18:41:05 +0800 CST2021-09-01 18:41:05 +0800 CST 2021-09-01 18:41:05 +0800 CST

令人困惑的 ls 命令:“ls -t”与“ls -u”

  • 772

在 Unixls -l中,我们提供了一个长长的文件和目录列表。 ls -lt另外按时间排序文件,即最后更改或修改。这是要区分的, ls -lu它给出了长列表和访问时间,并从 az 对文件进行排序,而不是按最后一次访问。我希望ls -lu按访问时间对文件进行排序,但为此我需要: ls -lut它以长格式提供列表,打印访问时间,并按访问时间排序。

ERGO, -t必须表示按时间排序,无论是修改时间还是访问时间,而, -u表示仅列出访问时间。这并不意味着按访问时间列出和排序。没有任何进一步的论据,-t似乎意味着按修改时间列出并按修改时间排序。以上是否正确。如果没有,我哪里错了?

ls
  • 3 3 个回答
  • 104 Views

3 个回答

  • Voted
  1. Haxiel
    2021-09-01T19:07:21+08:002021-09-01T19:07:21+08:00

    ls手册页可以帮助阐明这些选项。

    该-l选项控制输出格式,生成“长”列表。

    该-t选项按修改时间排序。该值已经以长格式存在。

    该-u选项的行为根据它所使用的选项而有所不同。

    1. 就其本身而言,ls -u它按访问时间排序。
    2. 使用该-l选项,它会显示访问时间,但按名称排序。在这种情况下,它充当输出修饰符而不是排序选项。
    3. 使用-l和-t,它显示访问时间并按其排序。

    该-c选项与 ctime 属性的工作方式相同。

    复杂性来自于修改长列表格式的需要。其他几个选项-lo以这种方式工作:抑制组信息,-lG抑制所有者信息,-lh以人类可读的格式显示大小,等等)。


    ls手册中的 GNU 样式选项使这更容易理解。

    -l是--format=long。

    -t是--sort=time。

    -u是--time=atime。

    -lu也是如此--format=long --time=atime。也就是说,显示长列表,但使用 atime 而不是默认的 mtime。

    并且-ltu是--format=long --sort=time --time=atime。在这种情况下,显示 atime 并按它排序。

    • 2
  2. G-Man Says 'Reinstate Monica'
    2021-09-01T19:07:33+08:002021-09-01T19:07:33+08:00

    -t表示按时间排序——某个时间字段。

    -u表示使用访问时间而不是修改时间(用于显示和/或排序,如适用)。

    所以你理解正确;你只是让事情变得比现在更复杂,从而让自己感到困惑。退后一步,深吸一口气,你会发现它并没有那么复杂。

    PS 请注意,-t 没有-l (或类似选项,like -oor -g)将不会显示任何时间字段。

    • 1
  3. Best Answer
    Kusalananda
    2021-09-01T22:01:06+08:002021-09-01T22:01:06+08:00

    你是正确的,-t意思是“按时间排序”,-u意思是“使用 atime 时间戳”(当用 排序-t或用 显示时间戳时-l)。POSIX-u选项并不意味着更改默认排序顺序,除非-t也用于显式请求按时间戳排序。

    的 POSIX 规范中ls包含以下文本:

    -u

    使用上次访问时间(请参阅 XBD <sys/stat.h>)而不是上次修改文件进行排序 ( -t) 或写入 ( -l)。

    然而,GNU 人认为 letls -u也按 atime排序ls -u会很方便,因为否则和的输出之间没有区别ls(两者都将按名称排序并且不会显示时间戳)。这就是为什么 GNUls与任何其他系统的ls.

    GNU 系统上的文档将ls其总结为

    -u

    with -lt:按访问时间排序并显示;with -l:显示访问时间并按名称排序;否则:按访问时间排序,最新的在前

    这篇短文中没有提到的是,任何其他提供与 类似的输出格式的选项-l,例如和-o,也会从选项中移除排序效果。这些选项在 GNU手册中都有文本“like but, ...”。-g-n-u-l-lls

    -cGNU中的ls选项以类似的方式依赖于其他选项来排序/显示 ctime 时间戳。

    GNU从 1999 年左右ls开始就是这样工作的。

    无论您使用什么实现ls,要按时间戳对长格式输出进行排序,您都必须使用-t. 用于-l -ut按 atime-l -ct排序、按 ctime 排序或仅-l -t按 mtime 排序。

    • 1

相关问题

  • 检查 Ubuntu 中的磁盘空间(使用 ls)

  • zsh:“ls -S”在实用程序文件夹中不起作用

  • 使用“ls”时如何将文件日期转换为特定格式

  • 管道 ls 是否与 ls -1 相同?

  • 如何使用 ls 的输出打开最后修改的文件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve