linux - 在 Linux 中按时间戳排序文件直到毫秒

标签 linux file ls milliseconds

我正在尝试通过 SFTP 从辅助服务器获取文件,然后处理这些文件。这些文件是在不到 1 秒的时间内在辅助服务器上创建的,因此所有文件都具有相同的创建时间戳。假设在辅助服务器上创建了 4 个文件(1.txt、2.txt、3.txt 和 4.txt)服务器以相同的顺序。但是,当我在服务器上运行 ls -ltr 命令时,我的输出如下:

enter image description here

此外,当我尝试使用命令 ls --full-time -ltr 根据时间直到毫秒对文件进行排序时,我得到了以下输出:

enter image description here

上面的输出是错误的,因为文件 1 是在其余文件之前创建的。有人可以帮助了解如何在此处获得正确的排序列表。

最佳答案

因为时间戳甚至在几毫秒内都是相同的,我认为正确排序的唯一方法是使用每个文件的 inode 。我认为这个解决方案应该能够在您的场景中工作。

这是我的示例交互,我同时按此顺序创建了文件 1、3、4、2。
使用 ls --full-time -lt 不起作用。但是使用 ls --full-time -i | sort -u 按创建顺序列出这些文件。 enter image description here

关于linux - 在 Linux 中按时间戳排序文件直到毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50367939/

相关文章:

linux - 通过 SSH 和 FTP 安装包管理器

c++ - Linux - 运行 valgrind 时不显示源文件/行

cocoa - 提取二进制文件 cocoa 的内容

c - 在 C 中实现 ls -al 命令

linux - 将命令 'ls | grep x' 从 linux 转换为 DOS

linux - 如何递归搜索具有特定扩展名的文件?

linux - 用户进程的有效地址空间是什么? (OS X 和 Linux)

linux - 我应该如何安装 Debian 上的 Ubuntu 存储库中通常提供的软件包

java - 如何在 Android 上以编程方式删除文件?

C从文件中读取链表并写入另一个文件