查看文件常用命令
一般,查找文件常用的有以下几个命令:
which:查看可执行文件的位置。
whereis:查看可执行文件及相关文件的位置。
locate:配合数据库缓存,快速查看文件位置。
grep:过滤匹配,它是一个文件搜索工具。
find:查找相关文件。
locate 命令
locate命令和find-name功能差不多,是另外一种写法,但是这个要比find搜索的快,因为find命令查找的是具体目录文件,而locate搜索的是一个数据库/var/lib/mlocate/mlocate.db,这个数据库中存有本地所有的文件信息。
这个数据库是Linux自动创建并且每天自动更新维护的。相关的配置信息在/etc/updatedb.conf,查看定时任务信息在/etc/cron.daily/mlocate。
grep 命令
grep命令的作用:过滤文本内容,它能够使用正则表达式来搜索文本,并把结果打印出来
常用选项如下:
-v:取反。
-i:忽略大小写。
^#:以“#”开头。
#$:以“#”结尾。
^$:空行。
-n:对过滤的内容加上行号。
|:或者。
注意:egrep命令是grep命令的加强版本。
注意:“\”是转义符,因为在Linux下有些符号含有特殊意义,比如“”,表示所有,但如果需要用到“”本身,而不需要用到“*”的特殊含义时,则加上转义符。
find 命令
find命令用于查找文件,支持众多查找标准,如根据文件名、权限、类型、时间戳、容量大小等查找文件,并支持正则表达式对文件名匹配,以及支持遍历指定目录中的所有文件以完成查找。
命令使用格式:find路径名称 [选项]
参数:路径名find命令所查找的目录路径,不输入代表当前目录,用“.”或空字符串来表示当前目录,用“/”来表示系统根目录。
find命令常用选项如下:
-name:按照文件名查找文件。
-perm:按照文件权限来查找文件。
-user:按照文件属主来查找文件。
-group:按照文件所属的组来查找文件。
-mtime -n /+n:按照文件的更改时间来查找文件。
- n:表示文件更改时间距现在n天以内。
+ n:表示文件更改时间距现在n天以前。
-type查找某一类型的文件,包括以下几种。
b:块设备文件。
d:目录。
c:字符设备文件。
p:管道文件。
l:符号链接文件。
f:普通文件。
-size n:查找符合指定文件大小的文件,n替换为文件容量大小。
-exec command {}\;:对匹配的文件执行command操作,注意{ }和 \;之间有空格,{}代表查到的内容。
-print:将查找到的文件输出到标准输出。
查看当前目录下所有的txt格式的文件
[root@testhost ~]# find . -name "*.txt"
./1.txt
./vulhub/python/unpickle/requirements.txt
.
.
.
按照更改时间或访问时间等查找文件。
如果希望按照更改时间来查找文件,可以使用
mtime、atime或ctime选项。
mtime:文件最后一次修改的时间。
atime:文件最后一次访问的时间。
ctime:文件属性最后一次发生变化的时间。
在root目录下查找更改时间在1天以内的文件
[root@testhost ~]# find /root/ -mtime -1
/root/
/root/1.txt
/root/ok.txt
/root/err.txt
/root/dick.log
/root/2.txt
/root/test.txt
/root/a.txt
[root@testhost ~]#
对查找内容执行相应命令
-exec 这个选项参数后面可以跟自定义的Shell命令,格式如图
其中的{}表示把find命令搜索结果调至{}位置当中,而{}前面通常都是Shell命令,即相当于,先用find命令搜索结果,再使用其他命令处理。
把查找到的文件通过exec选项交给ls命令处理
把查找到的文件通过-exec选项交给mv命令处理。
把查找到的文件复制到一个指定的目录
xargs和find命令结合,-i选项表示从find命令传递给xargs的结果由{ }来代替。
查找多个类型文件
使用find命令时,有以下几个比较符可以使用。
-a:并且。
-o:或者。
+:超过。
:低于。
按权限查找
find /bin/ -perm 755 #等于755权限的文件或目录
find /bin/ -perm -644 #-perm -644 不低于权限的文件或目录
查看系统中权限至少为777的文件或目录
find /root/ -perm 777 #查找/root 目录下权限为777 的文件
find /root/ -perm 1777 #查找/root 目录下权限为1777 的文件
find /root/ -perm 4777 #查找/root 目录下权限为4777 的文件
把系统中权限不低于777的危险文件或目录查找出来
find /root/ -perm -777 #查找/root 目录下权限为不低于777 的文件
查找的目录深度