日期按什么顺序排列?当然不是字母数字顺序。
ls -lt按修改时间排序。但我需要创作时间。
我正在使用合并上限从 15 个文件创建合并 pcap 文件。对于合并后的文件,我已将名称更改为 15 个文件中第一个的名称。但我也想将合并文件的属性(如“创建日期”和“上次修改时间”)更改为第一个的属性。有没有办法做到这一点?
FILES_dcn=($(find $dir_dcn -maxdepth 1 -type f -name "*.pcap" -print0 | xargs -0 ls -lt | tail -15 | awk '{print $9}'))
TAG1_dcn=$(basename "${FILES_dcn[14]}" | sed 's/.pcap//')
mergecap -w "${dir_dcn}"/merge_dcn.pcap "${FILES_dcn[@]}"
mv "${dir_dcn}"/merge_dcn.pcap "${dir_dcn}"/"${TAG1_dcn}".pcap
Run Code Online (Sandbox Code Playgroud)
我尝试通过 samba 服务器(Ubuntu)访问合并的文件。以便提取器功能可以访问自动提取文件到 D 文件夹。但是由于合并文件的创建日期将更改,因此提取失败。有没有什么办法解决这一问题?
Linux 上是否有任何(众所周知的、可靠的)文件系统将文件和目录的创建时间存储在 i-node 表中?
如果有,“更改”时间是否被 stat 调用中的 i-node 的创建时间替换?
如何至少在几天内获得给定文件的年龄?
我很清楚ls -lh和类似的命令。我想要一些像这样工作的东西:
getfage <FILE> # prints out '12d' (12 days)
Run Code Online (Sandbox Code Playgroud)
此外,这需要有点跨平台,因为我也想在 Mac OS X 下使用它,但主要用例是在我的 Linux 盒上。
笔记
由于 Linux 不跟踪创建时间,我正在寻找两种解决方案:一种用于mtime (linux)——这是最后一次修改所述文件——另一种用于 Mac OS X,它可以处理mtime或创建时间。
我在我的 Linux 系统上为 Windows 文件存储创建了一个 NTFS 逻辑卷,因为我想保留我的文件的创建日期(我可能会将它们压缩到一个存档中,然后解压缩它们,尽管我不知道这是否可行)。NTFS-3G 是否在 Linux 上保存文件的创建日期?如果是这样,我如何访问它?
阅读此线程,OP 链接了 NTFS 上的文档,该文档提供了用于查找创建日期的 shell 脚本。我修改它试图从十六进制值中获取秒数,但我相信我做错了什么:
#!/bin/sh
CRTIME=`getfattr -h -e hex -n system.ntfs_times $1 | \
grep '=' | sed -e 's/^.*=\(0x................\).*$/\1/'`
SECONDS=$(($CRTIME / 10000000))
echo `date --date=$SECONDS`
Run Code Online (Sandbox Code Playgroud) 如何查看文件何时创建。我看过手册页
ls -lc 用于文件状态的最后修改
ls -lu 访问时间
ls -l 没有确切指出是哪个时间,最后一次更改?
我尝试了这些,但它们没有给我创建文件的时间。
我试图通过检测静默安装程序创建的最后一个文件是否存在来跟踪静默安装程序的完成情况,但为了做到这一点,我需要找出是哪个文件。有什么办法可以做到这一点吗?我找到了很多关于如何查找最近修改的文件的答案,但这并不有效,因为其中许多文件是由原始创建者以与安装程序添加到系统中的顺序不同的顺序修改的。
files ×4
linux ×3
timestamps ×3
command-line ×2
filesystems ×2
bash ×1
date ×1
ls ×1
ntfs ×1
ntfs-3g ×1
samba ×1
time ×1
windows ×1