在使用Linux的过程中我们常常要查找某些特定的文件,比如查找最近或者今天被修改过的文件。如果我们事先做好笔记记录好位置那还好找,但如果没有做这一步工作的话那我们查找起来可谓是大海捞针了。那么我们如何在linux系统中快速便捷的查找到这些文件呢?为此在本文中课课家笔者就为大家简单介绍两个命令行的技巧让大家开业快速便捷的查找到最近或者今天被修改过的文件,从而提高大家的工作和学习的效率。
◎使用ls命令
第一种方法我们可以通过使用ls命令来查找最近被修改的文件。
格式:# ls -al --time-style=+%D | grep 'date +%D'
下面是具体的命令含义解释:
● -a- 表示的是列出所有文件,包括隐藏文件。
● -l- 表示的是启用长列表格式。
● --time-style=FORMAT- 表示的是显示指定FORMAT的时间。
● +%D- 表示的是以%m/%d/%y(月/日/年)格式显示或使用日期。
另外我们可以通过使用 -X 标志来按字母顺序对结果排序,具体的命令格式如下所示:
# ls -alX --time-style=+%D | grep 'date+%D'
当然我们也可以通过使用 -S 标志来基于大小(由大到小)来排序,具体的命令格式如下所示:
# ls -alS --time-style=+%D | grep 'date+%D'
◎使用find命令
第二种方法我们可以通过使用find命令来查找最近被修改的文件。
-maxdepth 级别用于指定在搜索操作的起点下(在这个情况下为当前目录)的搜索层级(子目录层级数)。
-newerXY 用于所寻找的文件的时间戳 X 比参照文件的时间戳 Y 更新一些的文件。
X 和 Y 表示以下任何字母:
● -a- 表示的是参照文件的访问时间。
● -B- 表示的是参照文件的创建时间。
● -c- 表示的是参照文件的inode状态改变时间。
● -m- 表示的是参照文件的修改时间。
● -t- 表示的是直接指定一个绝对时间。
举个例子,比如下面的命令是只找出2016-12-06这一天修改的文件:
# find . -maxdepth 1 -newermt"2016-12-06"
另外下面两个也是正确的输入格式:
# find . -maxdepth 1 -newermt"12/06/2016"
# find . -maxdepth 1 -newermt"12/06/16"
需要我们注意的一点是,我们在上面的find命令中一定要使用正确的日期格式作为参照时间,否则如果我们使用了错误的格式就会得到如下的错误显示:
# find . -maxdepth 1 -newermt"12-06-2016"
find: I cannot figure out how to interpret'12-06-2016'as a date or time
以上就是在Linux中查找近期被修改文件的方法介绍。
本次的Linux学堂之快捷查出近期被修改文件的讲解到此就暂告一段落,如果以后有什么相关的内容继续进行补充或者修改的话,笔者会在此继续进行相关的内容的补充或者修改的工作,同时也欢迎大家对本次的讲解提出自己的建议和补充。最后笔者希望本次的讲解对大家学习Linux和Linux认证能够起到一定的帮助作用!
¥399.00
¥399.00
¥699.00
¥299.00