✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页
  • 查看文件常用命令
  • locate 命令
  • grep 命令
  • find 命令

这有帮助吗?

  1. Linux--CentOS
  2. 重定向和文件的查找

查找文件的常用命令及应用

上一页重定向的含义及管道、tee命令的使用下一页命令判断——3个特殊符号“;”“﹠﹠”“||”

最后更新于3年前

这有帮助吗?

查看文件常用命令

一般,查找文件常用的有以下几个命令:
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。

命令使用格式:locate [选项] 文件名

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 的文件

查找的目录深度