标签: timestamps

为命令的每一行输出添加时间戳

我希望在命令的每一行输出前添加一个时间戳。例如:

foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

会成为

[2011-12-13 12:20:38] foo
[2011-12-13 12:21:32] bar
[2011-12-13 12:22:20] baz
Run Code Online (Sandbox Code Playgroud)

...前缀的时间是打印行的时间。我怎样才能做到这一点?

shell timestamps

282
推荐指数
8
解决办法
16万
查看次数

获取文件创建/创建时间?

可能的重复:
如何执行 ls 然后按创建日期对结果进行排序?

Linux 中是否有显示文件创建时间的命令?我看到ls -l给出了上次修改时间,但是我可以获得创建的时间/日期吗?

timestamps files

231
推荐指数
3
解决办法
74万
查看次数

删除超过 X 天的文件 +

我找到了删除文件夹中超过 5 天的文件的命令

find /path/to/files* -mtime +5 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

但是我该如何对该文件夹中的子目录执行此操作?

find timestamps rm files

185
推荐指数
3
解决办法
53万
查看次数

如何执行 ls 然后按创建日期对结果进行排序?

日期按什么顺序排列?当然不是字母数字顺序。

ls -lt按修改时间排序。但我需要创作时间。

ls timestamps files

155
推荐指数
4
解决办法
24万
查看次数

为什么 find -mtime +1 只返回早于 2 天的文件?

我挣扎来包装我的脑海里围绕为什么find解释文件修改时间它的方式。具体来说,我不明白为什么-mtime +1不显示小于 48 小时的文件。

作为示例测试,我创建了三个具有不同修改日期的测试文件:

[root@foobox findtest]# ls -l
total 0
-rw-r--r-- 1 root root 0 Sep 25 08:44 foo1
-rw-r--r-- 1 root root 0 Sep 24 08:14 foo2
-rw-r--r-- 1 root root 0 Sep 23 08:14 foo3
Run Code Online (Sandbox Code Playgroud)

然后我用-mtime +1开关运行 find并得到以下输出:

[root@foobox findtest]# find -mtime +1
./foo3
Run Code Online (Sandbox Code Playgroud)

然后我运行 find-mmin +1440并得到以下输出:

[root@foobox findtest]# find -mmin +1440
./foo3
./foo2
Run Code Online (Sandbox Code Playgroud)

根据 find 的手册页,我知道这是预期的行为:

 -mtime n
        File’s  data was last modified n*24 hours ago. …
Run Code Online (Sandbox Code Playgroud)

find timestamps

154
推荐指数
5
解决办法
59万
查看次数

stat 命令上下文中的修改和更改有什么区别?

stat命令的手册页说:

   %x     Time of last access
   %y     Time of last modification
   %z     Time of last change
Run Code Online (Sandbox Code Playgroud)

我无法理解modifychange之间的区别。我明白这些词是同义词(英语不是我的母语),但它们的输出不同。

我尝试了以下命令

stat --printf="Change %z\nAccess %x\nModify %y\n" p.txt
Run Code Online (Sandbox Code Playgroud)

现在当我打开 p.txt 时,访问时间改变了,我进入插入模式,编辑文件,修改和更改时间保持不变。

更改 2010-10-06 12:48:39.286252389 +0500
访问 2010-10-06 12:49:14。962243456 +0500
修改 2010-10-06 12:48:39.234498878 +0500

当我将更改写入 file :w、 modify 和 change 时,两者都会更改但给出不同的值。

更改 2010-10-06 12:51:21。949082169 +0500
访问 2010-10-06 12:51:21.908246082 +0500
修改 2010-10-06 12:51:21。908246082 +0500

那么在这种情况下,“修改”和“更改”的含义是什么?也就是说,修改和更改的时间给出了哪些事件的时间?

谢谢

command-line timestamps files

153
推荐指数
1
解决办法
11万
查看次数

如何找到文件的创建日期?

我想找出特定文件的创建日期,而不是修改日期或访问日期。

我已经尝试过ls -ltrhstat filename

linux stat timestamps files

121
推荐指数
6
解决办法
37万
查看次数

`touch` 命令的合法用途是什么?

什么是点touch命令?我知道我可以用它创建空文件,但echo -n.

否则,为什么有人需要更改文件的时间戳?除非造成关于文件年龄的错误印象,否则我看不到任何其他用途,而且这不是合法用途(从我的角度来看)。

timestamps command touch

83
推荐指数
9
解决办法
2万
查看次数

如何列出在特定时间范围内更改的文件?

如何递归列出在 22.12.2011 和 24.12.2011 之间更改的所有文件?

recursive timestamps files

44
推荐指数
4
解决办法
8万
查看次数

如何进行“更改后复制”操作?

我想将一组文件从目录 A 复制到目录 B,但需要注意的是,如果目录 A 中的文件与目录 B 中的文件相同,则不应复制该文件(因此其修改时间不应为更新)。有没有办法用现有的工具做到这一点,而无需编写自己的脚本来做到这一点?

详细说明我的用例:我正在.c临时目录中自动生成一堆文件(通过必须无条件生成所有文件的方法),当我重新生成它们时,我只想复制已更改为实际源目录的那些,保留未更改的(使用它们的旧创建时间)保持不变,以便make知道不需要重新编译它们。(.c不过,并非所有生成的文件都是文件,因此我需要进行二进制比较而不是文本比较。)

(注意:这是我在/sf/ask/628708671/#8981762 上提出的问题,我在那里尝试为了加快我用来执行此操作的脚本文件的速度,但我突然想到,我真的应该问是否有比编写自己的脚本更好的方法来执行此操作——尤其是因为在 shell 中执行此操作的任何简单方法脚本将cmp在每对文件上调用类似的东西,并且启动所有这些进程需要很长时间。)

timestamps synchronization files

43
推荐指数
4
解决办法
7万
查看次数

标签 统计

timestamps ×10

files ×7

find ×2

command ×1

command-line ×1

linux ×1

ls ×1

recursive ×1

rm ×1

shell ×1

stat ×1

synchronization ×1

touch ×1