文件搜索命令
一、文件搜索命令find
命令名称: find
命令所在路径: /bin/find
执行权限:所有用户
语法: find [搜索范围] [匹配条件]
功能描述:文件搜索
1. find /etc -name init
在目录/etc中查找文件init
[root@instance-tg0skfi7 tmp]# find /etc -name init
/etc/selinux/targeted/active/modules/100/init
/etc/sysconfig/init
# *匹配任意字符
[root@instance-tg0skfi7 tmp]# find / -name *init*
……
# ?匹配单个字符
[root@instance-tg0skfi7 tmp]# find / -name init???
/dev/initctl
/usr/lib/dracut/modules.d/99base/init.sh
/run/systemd/initctl
/etc/inittab
2. -iname 不区分大小写
[root@instance-tg0skfi7 tmp]# find /tmp -iname init
/tmp/init
/tmp/Init
/tmp/INIT
[root@instance-tg0skfi7 tmp]# find /tmp -name init
/tmp/init
3. find / -size +204800
在根目录下查找大于100MB的文件
+n大于, -n小于 , n等于
4. find /tmp-user root
在tmp目录下查找所有者为root的文件
[root@instance-tg0skfi7 tmp]# find /tmp -user root
/tmp
/tmp/A
/tmp/A/b
/tmp/init
/tmp/.X11-unix
/tmp/Init
/tmp/.Test-unix
-group根据所属组查找
5. find /etc -cmin -5
在/etc下查找5分钟内被修改过属性的文件和目录
-amin访问时间access
-cmin文件属性change
-mmin文件内容modify
# 在五分钟之内被访问的文件
[root@instance-tg0skfi7 tmp]# find /tmp -amin -5
/tmp
/tmp/issue.soft
/tmp/index.html
#30分钟之前文件属性被改变的文件
[root@instance-tg0skfi7 tmp]# find /tmp -amin +30
/tmp/.index.html.swp
/tmp/test
#30分钟内文件内容被改变的
[root@instance-tg0skfi7 tmp]# find /tmp -mmin -30
/tmp
/tmp/init
/tmp/Init
/tmp/INIT
6. find /etc -size +163840 -a -size -204800
在/etc下查找大于80MB小于100MB的文件
-a两个条件同时满足
-o两个条件满足任意-一个即可
7. find /etc -name inittab -exec ls -l {} ;
在/etc下查找inittab文件并显示其详细信息
-exec或-ok命令{};对搜索结果执行操作
[root@instance-tg0skfi7 tmp]# find /etc -name inittab -exec ls -l {} \;
-rw-r--r--. 1 root root 511 Nov 20 2015 /etc/inittab
8. -type根据文件类型查找
f文件
d目录
I软链接文件
# 只显示文件
[root@instance-tg0skfi7 tmp]# find /tmp -type f -iname init
/tmp/init
/tmp/Init
/tmp/INIT
# 只显示文件夹
[root@instance-tg0skfi7 tmp]# find /tmp -type d -iname init
/tmp/InIt
9. -inum根据节点查找
# 通过inode节点找到文件及文件的硬链接(文件和文件的硬链接inode节点相同)
[root@instance-tg0skfi7 tmp]# find / -inum 1179661
/tmp/issue.hard
/etc/issue
# 找到inode节点为263508的文件并删除
[root@instance-tg0skfi7 tmp]# find -inum 263508 -exec rm {} \;
二、文件搜索命令: locate
命令名称: locate
命令所在路径: /usr/bin/locate
执行权限:所有用户
语法: locate 文件名
功能描述:在文件资料库中查找文件
范例:
[root@instance-tg0skfi7 ~]# locate inittab
/etc/inittab
/usr/share/augeas/lenses/dist/inittab.aug
/usr/share/vim/vim74/syntax/inittab.vim
三、文件搜索命令:which
命令名称: which
命令所在路径: /usr/bin/which
执行权限:所有用户
语法: which 命令
功能描述:搜索命令所在目录及别名信息
范例:
[root@instance-tg0skfi7 /]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
四、文件搜索命令: whereis
命令名称: whereis
命令所在路径: /usr/bin/whereis
执行权限:所有用户
语法: whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档路径
范例:
[root@instance-tg0skfi7 /]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
五、命令名称: grep
命令所在路径: /bin/grep
执行权限:所有用户
语法: grep -iv [指定字串] [文件]
功能描述:在文件中搜寻字串匹配的行并输出
-i不区分大小写
-v排除指定字串
范例:
# 在/etc/inittab文件中查找analogous相关内容
[root@instance-tg0skfi7 /]# grep analogous /etc/inittab
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
# 去掉行首注释后显示内容
[root@instance-tg0skfi7 ~]# grep -v ^# /etc/inittab