如何查找当前在Unix/Linux中创建的所有文件?
如何在unix/linux中查找仅在今天而不是24小时内创建的所有文件,以查找当前目录及其子目录中仅在今天修改的所有文件(仅从一天开始,即上午12点):如何查找当前在Unix/Linux中创建的所有文件?,linux,unix,Linux,Unix,如何在unix/linux中查找仅在今天而不是24小时内创建的所有文件,以查找当前目录及其子目录中仅在今天修改的所有文件(仅从一天开始,即上午12点): touch -t `date +%m%d0000` /tmp/$$ find . -type f -newer /tmp/$$ rm /tmp/$$ 在我的Fedora 10系统上,带有findutils-4.4.0-1.fc10.i386: find <path> -daystart -ctime 0 -print find-
touch -t `date +%m%d0000` /tmp/$$
find . -type f -newer /tmp/$$
rm /tmp/$$
在我的Fedora 10系统上,带有
findutils-4.4.0-1.fc10.i386
:
find <path> -daystart -ctime 0 -print
find-daystart-ctime 0-打印
-daystart
标志告诉它从今天开始计算,而不是从24小时前开始计算
但是请注意,这实际上会列出在最后一天创建或修改的文件<代码>查找没有查看文件真实创建日期的选项。您不能@Alnitak的答案是您所能做的最好的,它会在检查的时间段内为您提供所有新文件,但是
-ctime
实际上会检查文件inode(文件描述符)的修改时间,因此也会捕获任何旧文件(例如)在最后一天重命名。您可以使用find
和ls
完成以下操作:
find . -mtime -1 -type f -print
find . -type f -exec ls -l {} \; | egrep "Aug 26";
它将查找此目录中的所有文件,显示有用的信息(
-l
),并过滤带有您想要的日期的行。。。它可能有点慢,但在某些情况下仍然有用。请记住在8月和26日之间有2个空格。另外,find命令将不起作用
find . -type f -exec ls -l {} \; | egrep "Aug 26";
如果您不小心将文件重新同步到了错误的目录,以上建议可以帮助您查找新文件,但对我来说,最简单的方法是连接SFTP客户端,如Transmit,然后按日期排序并删除。我经常使用它:
$ ls -altrh --time-style=+%D | grep $(date +%D)
使用ls或find获取今天创建的所有文件 使用ls:
ls-ltr | grep“$(日期'+%b%e')”
使用find:
cd$YOUR_目录
<代码>查找-ls 2>/dev/null | grep“$(日期'+%b%e')”在浏览了5月份的帖子后,我找到了最有效的一个
find $file_path -type f -name "*.txt" -mtime -1 -printf "%f\n"
这只打印文件名,如
abc.txt
不是/path/tofolder/abc.txt
还可以使用
-mtime-1
进行游戏或自定义,这对我很有用。列出5月30日在当前目录中创建的文件
ls -lt | grep 'May 30'
“真正的创建日期”甚至不能作为文件系统存储的信息使用;除了在工作目录中打印(这是
pwd
中的p)外,不要使用pwd
。使用
引用当前目录。此答案不正确-显示过去24小时内创建的文件,而不是今天创建的文件mtime用于修改文件,OP ask for created file:使用-ctime代替标题正确答案,-mtime-1
显示过去24小时内创建的文件我希望这就是为什么我说玩-mtime这应该是一个注释,而不是答案这只适用于特定日期,而不是“今天”。