现在我知道如何使用 find | grep 关键字来获取我想要的文件。
但之后,我如何知道我找到的每个文件的大小、create_time 信息?
例如,在 find | grep 教程之后,我得到了这个:
./lab/zengjuchen/tutorial
./lab/zengjuchen/tutorial/tutorial
如何查看它们的创建时间和大小?
答案1
您一开始就错误地使用了find
和grep
。find
完全能够过滤文件。 您不需要grep
它 — 事实上,不建议像这样打乱文件名。
这样做:
find -name '*tutorial*' -exec <some-command> {} \;
这里,<some-command>
将对找到的每个文件运行 ,其名称将替换{}
。例如,要获取文件大小:
find -name '*tutorial*' -exec du {} \;
如果给定的命令支持传递多个文件参数,则使用\+
而不是\;
将使命令同时在所有文件上执行。这将加快该过程。find
或者你甚至可以直接用 Bash 来做:
shopt -s globstar
du **/*tutorial*
这里,**
递归遍历所有目录。
至于创建时间:传统上,它不会被存储。您只会获得上次访问、修改和状态更改的时间。查看有关stat
。文件系统确实ext4
将创建时间存储为“出生时间”。因此,stat -c %w
对那些人来说是可行的。阅读有关此问题的更多信息这里。