Linux-文件搜索命令及帮助命令
文件搜索命令:find
find命令用来在指定目录下查找文件。
可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。
常用语法:find [path...] [expression]
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件 。
-user 按照文件属主来查找文件 。
-mtime -n +n 按照文件的更改时间来查找文件。
find 命令有众多查找参数,结合多个参数可以实现成非常复杂和强大的查找功能,详尽的参数可参考man 文档find(1)。
find [搜索范围] [匹配条件] 文件搜索 find /etc -name init 在目录/etc中查找文件init(*匹配任意字符 ?匹配单个字符) find /etc -iname 不区分大小写查找 find [搜索范围] -size [大小] +n 大于 -n小于 n等于 (一个数据块512字节=0.5k) find [搜索范围] -user [username] 查找所有者为username的文件 find [搜索范围] -group [groupname] 查找所属组为groupname的文件 find [搜索范围] -cmin -5 查找5分钟内被修改过属性的文件和目录change find [搜索范围] -amin 访问时间access find [搜索范围] -mmin 文件内容modify find /etc -size +163840 -a -size -204800 在 /etc下查找大于80MB小于100MB的文件 -a 两个条件同时满足 -o 两个条件满足任意一个即可 find /etc -name inittab -exec ls -l {} \; 在 /etc下查找inittab文件并显示其详细信息 查找范例: find -name "*book*" 查找名字中包含了book 的文件 find -user mysql uid 为mysql find -size 0 大小为0 find -type l 文件类型为软连接 find /etc -name "*passwd" 在 /etc 下面查找 find -empty 查找空文件(包括空目录) find -empty -delete 找出空文件并将其删除
find使用示例
按照文件名来查找文件 [root@localhost ~]# find /etc -name passwd /etc/pam.d/passwd /etc/raddb/mods-enabled/passwd /etc/raddb/mods-available/passwd /etc/passwd [root@localhost ~]# find . -name "*.log" ./test01.log ./ping.log ./test02.log ./test03.log ./audit.log [root@localhost ~]# 查找/var/log/anaconda目录中更改时间在7日以前的普通文件。 [root@localhost ~]# find /var/log/anaconda/ -type f -mtime +7 /var/log/anaconda/dnf.librepo.log /var/log/anaconda/syslog /var/log/anaconda/dbus.log /var/log/anaconda/ks-script-cdcy5u0e.log /var/log/anaconda/packaging.log /var/log/anaconda/ifcfg.log /var/log/anaconda/lvm.log /var/log/anaconda/program.log /var/log/anaconda/journal.log /var/log/anaconda/hawkey.log /var/log/anaconda/anaconda.log /var/log/anaconda/storage.log /var/log/anaconda/X.log
文件类型:
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
帮助命令:man
man命令用于查看文档手册(manual),分为以下9类:
Linux 系统提供了丰富的文档,常见的有man 文档,info 文档,txt 分档等,man 文档用man 工具查看,info 文档用info 工具查看,txt 文档可以用各种文本阅读器查看。
man 文档按照标准的分类法分为8类,常用的是1, 4, 5, 8 这四个类。如果在不同的类中有相同名字的文档,则需要明确指定类别,比如:
man 1 passwd
man 5 passwd
查找man 文档的常用方法:
man -k KEYWORD
find /usr/share/man -iname "*KEYWORD*"
man是按照手册的章节号的顺序进行搜索的,比如:man sleep
默认只显示命令的手册,如果想查看库函数就要输入: man 3 sleep
帮助命令:help
在linux系统中,命令太多,记全几乎不太可能,但是,我们可以通过help命令获取帮助。
命令语法:
help [选项] [命令]
其中,选项内容包括如下:
-d 显示命令简短主题描述
-s 显示命令简短语法描述
例如:
[root@localhost ~]# help pwd pwd: pwd [-LP] Print the name of the current working directory. Options: -L print the value of $PWD if it names the current working directory -P print the physical directory, without any symbolic links By default, `pwd' behaves as if `-L' were specified. Exit Status: Returns 0 unless an invalid option is given or the current directory cannot be read.
其他命令
-exec 命令 {}\; 对搜索结果执行操作
-ok命令 {}\; 对搜索结果询问,执行操作
locate 文件名 在文件资料库中查找文件(除开tmp文件) 更新资料库updatedb
which 命令 搜索命令所在目录及别名信息
whereis 命令 搜索命令所在目录及帮助文档路径
grep -iv [指定字串] [文件] 在文件中搜寻字串匹配的行并输出
grep -i [指定字串] [文件] 不区分大小写
grep -v [指定字串] [文件] 排除指定字串
eg:grap -v ^# /etc/inittab 在inittab文件中排除以#开头的注释行搜索inittab
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!