每天积累知识就会有成长,只要付出在不久的将来一定会有收获,可能回来的晚点,但是一定要贵在坚持,今天第一次发博客,如不出意外情况我每天都会发的,这个是我总结的find命令的一些实战,希望我总结的知识点在今后会对大家有帮助。
find
-name "*a" #以a结尾的文件或目录
-name "a*" #以a开头的文件或目录
-name "*a*" #文件名中带有a字符的文件或目录
命令的形式
格式:find pathname –options [-print]
命令字 路径名称 选项 输出
参数:
pathname: find命令所查找的目录路径。例如用 . 来表示当前目录,用 / 来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
find命令选项:
-name 按照文件名查找文件。 “名称”
-perm 按照文件权限来查找文件。666 777 等
-prune 使用这一选项可以使find命令不在当前指定的目录中查找(排除)如果同时使用-depth选项,那么-prune将被find命令忽略
-depth在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
-user 按照文件属主来查找文件
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在
-group 按照文件所属的组来查找文件
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
-mtime –n / +n 按照文件的更改时间来查找文件,
- n表示文件更改时间距现在n天以内
+ n表示文件更改时间距现在n天以前
-type 查找某一类型的文件
b - 块设备文件
d - 目录
c - 字符设备文件
p - 管道文件
l- 符号链接文件
f - 普通文件
-size n [c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
-exec对匹配的文件执行该参数所给出的其他linux命令, 相应命令的形式为‘ 命令 {} \;,注意{ }和 \;之间的空格,{}代表查到的内容
-fstype查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount在查找文件时不跨越文件系统mount点。
-follow如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
1.查找/目录下的以a开头的文件
[root@centos-6-1 ~]# find / -name a.*
/a.txt
[root@centos-6-1 ~]#
2.查找当前目录下文件权限为644的文件
[root@centos-6-1 ~]# find ./ -perm 644
/root/ac
/root/.tcshrc
/root/install.log.syslog
/root/.bashrc
/root/.cshrc
/root/install.log
/root/.bash_logout
/root/a10
/root/.bash_profile
[root@centos-6-1 ~]#
3.查找/目录下名称为aaa的文件或目录
[root@centos-6-1 ~]# find / -name aaa
/aaa
/root/aaa
[root@centos-6-1 ~]#
4.查找/etc/目录下以文件权限为644 的文件或目录,先查看当前目录然后再查其次子目录
[root@centos-6-1 ~]# find /etc/ -depth -perm 644
/etc/login.defs
/etc/adjtime
/etc/rwtab
/etc/printcap
/etc/xdg/autostart/imsettings-start.desktop
/etc/xdg/autostart/restorecond.desktop
/etc/xdg/autostart/gnome-keyring-daemon.desktop
...........
5.查找/etc 目录下所属主是root的文件或目录,只显示前10行
[root@centos-6-1 ~]# find /etc/ -user root | head -10
/etc/
/etc/login.defs
/etc/rc
/etc/adjtime
/etc/rwtab
/etc/xinetd.d
/etc/printcap
/etc/sudoers.d
/etc/xdg
/etc/xdg/autostart
[root@centos-6-1 ~]#
后10行
[root@centos-6-1 ~]# find /etc/ -user root | tail -10
/etc/rc.d/rc4.d/S10network
/etc/rc.d/rc4.d/K89netconsole
/etc/rc.d/rc4.d/S80postfix
/etc/rc.d/rc4.d/S11auditd
/etc/rc.d/rc4.d/S08iptables
/etc/rc.d/rc4.d/K89rdisc
/etc/rc.d/rc4.d/S26udev-post
/etc/rc.d/rc4.d/S55sshd
/etc/rc.d/rc4.d/K10saslauthd
/etc/rc.d/rc4.d/S50kdump
[root@centos-6-1 ~]#
6.查找/etc/目录下 所属组和所属主都是root 先查看当前目录然后再查其次子目录 显示前10行
[root@centos-6-1 ~]# find /etc/ -depth -user root -group root | head -10
/etc/login.defs
/etc/rc
/etc/adjtime
/etc/rwtab
/etc/xinetd.d
/etc/printcap
/etc/sudoers.d
/etc/xdg/autostart/imsettings-start.desktop
/etc/xdg/autostart/restorecond.desktop
/etc/xdg/autostart/gnome-keyring-daemon.desktop
[root@centos-6-1 ~]# ll /etc/login.defs
-rw-r--r--. 1 root root 1816 2月 9 2016 /etc/login.defs
[root@centos-6-1 ~]#
无读写执行文件的权限也可以删除,前提是要备份
[root@centos-6-1 proc]# ll /etc/shadow
----------. 1 root root 612 6月 7 18:05 /etc/shadow
[root@centos-6-1 proc]# rm -rf /etc/shadow
[root@centos-6-1 proc]# ls
7.查看/apps目录下文件但不查看/apps/bin目录
[root@centos-6-1 ~]# find /apps -path "/apps/bin/" -prune -o -print
/apps
/apps/aaa
/apps/bin
[root@centos-6-1 ~]#
8.查看/目录下类型为目录,名称为aaa 并查看
[root@centos-6-1 ~]# find / -type d -name aaa -ls
3670017 4 drwxr-xr-x 2 root root 4096 6月 7 18:54 /aaa
3276811 4 drwxr-xr-x 2 root root 4096 6月 19 14:34 /root/aaa
[root@centos-6-1 ~]#
9.删除/目录下aaa文件
[root@centos-6-1 ~]# find / -name aaa -ls
3538947 0 -rw-r--r-- 1 root root 0 6月 20 15:01 /apps/aaa
3670017 4 drwxr-xr-x 2 root root 4096 6月 7 18:54 /aaa
3276811 4 drwxr-xr-x 2 root root 4096 6月 19 14:34 /root/aaa
[root@centos-6-1 ~]#
[root@centos-6-1 ~]#
[root@centos-6-1 ~]#
[root@centos-6-1 ~]# find / -type f -name aaa -delete
[root@centos-6-1 ~]#
[root@centos-6-1 ~]#
3670017 4 drwxr-xr-x 2 root root 4096 6月 7 18:54 /aaa
3276811 4 drwxr-xr-x 2 root root 4096 6月 19 14:34 /root/aaa
[root@centos-6-1 ~]#
10.查看目录名称为aaa并查看目录下所有文件或目录
[root@centos-6-1 ~]# find / -type d -name aaa | xargs ls
/aaa:
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-fasttrack.repoCentOS-Media.repo CentOS-Vault.repo
/root/aaa:
[root@centos-6-1 ~]#
11.查看/etc/下 以a开头的文件或目录 并以长格式显示
[root@centos-6-1 ~]# find /etc/ -depth -name "a*" -exec ls -l {} \;
-rw-r--r--. 1 root root 46 6月 19 17:28 /etc/adjtime
总用量 12
-rw-r--r--. 1 root root 2733 10月 4 2012 gnome-keyring-daemon.desktop
-rw-r--r--. 1 root root 2178 6月 22 2012 imsettings-start.desktop
-rw-r--r--. 1 root root 173 5月 11 2016 restorecond.desktop
总用量 0
lrwxrwxrwx. 1 root root 23 6月 7 18:02 bin-iptables-xml.x86_64 -> /bin/iptables-xml-1.4.7
lrwxrwxrwx. 1 root root 21 6月 7 18:02 ip6tables.x86_64 -> /sbin/ip6tables-1.4.7
lrwxrwxrwx. 1 root root 20 6月 7 18:02 iptables.x86_64 -> /sbin/iptables-1.4.7
lrwxrwxrwx. 1 root root 30 6月 7 18:02 libip4tc000.x86_64 -> /lib64/libip4tc.so.0.0.0-1.4.7
lrwxrwxrwx. 1 root root 26 6月 7 18:02 libip4tc0.x86_64 -> /lib64/libip4tc.so.0-1.4.7
lrwxrwxrwx. 1 root root 30 6月 7 18:02 libip6tc000.x86_64 -> /lib64/libip6tc.so.0.0.0-1.4.7
lrwxrwxrwx. 1 root root 26 6月 7 18:02 libip6tc0.x86_64 -> /lib64/libip6tc.so.0-1.4.7
返回提示信息是否
[root@centos-6-1 ~]# find / -depth -name "*a" -ok ls -l {} \;
< ls ... /usr/lib64/nss/unsupported-tools/btoa > ? y
-rwxr-xr-x. 1 root root 10408 5月 11 2016 /usr/lib64/nss/unsupported-tools/btoa
< ls ... /usr/lib64/krb5/plugins/authdata > ?
12.查看3天以内修改过的文件
[root@centos-6-1 ~]# find /root/ -mtime -3
/root/
/root/ac
/root/.bash_history
/root/aaa
/root/a10
/root/.Xauthority
[root@centos-6-1 ~]#
13.查看1天以前修改过的文件
[root@centos-6-1 ~]# find /root/ -mtime +1
/root/.tcshrc
/root/install.log.syslog
/root/.bashrc
/root/.cshrc
/root/install.log
/root/.bash_logout
/root/anaconda-ks.cfg
/root/.bash_profile
[root@centos-6-1 ~]#
14.查看/etc 目录下 除了文件以外的类型都显示,显示前10行
[root@centos-6-1 ~]# find /etc -depth ! -type f | head -10
/etc/rc
/etc/xinetd.d
/etc/sudoers.d
/etc/xdg/autostart
/etc/xdg
/etc/gnupg
/etc/pkcs11/modules
/etc/pkcs11
/etc/statetab.d
/etc/cron.d
[root@centos-6-1 ~]#
15.查看/etc目录下 大于1M的文件
[root@centos-6-1 ~]# find /etc/ -size +1M
/etc/selinux/targeted/policy/policy.24
/etc/selinux/targeted/modules/active/policy.kern
[root@centos-6-1 ~]#
[root@centos-6-1 ~]# du -sh /etc/selinux/targeted/policy/policy.24
8.1M/etc/selinux/targeted/policy/policy.24
[root@centos-6-1 ~]#
[root@centos-6-1 ~]# du -sh /etc/selinux/targeted/modules/active/policy.kern
8.1M/etc/selinux/targeted/modules/active/policy.kern
[root@centos-6-1 ~]#
16.查看/etc/目录下 大于10块的文件 前10个 (1b=512字节)一块等于512字节
[root@centos-6-1 ~]# find /etc/ -depth -size +10b | head -10
/etc/sound/events/gtk-events-2.soundlist
/etc/sound/events/gnome-2.soundlist
/etc/rdma/fixup-mtrr.awk
/etc/sysconfig/network-scripts/ifup-ib
/etc/sysconfig/network-scripts/ifup-ippp
/etc/sysconfig/network-scripts/network-functions
/etc/sysconfig/network-scripts/ifdown-eth
/etc/sysconfig/network-scripts/ifup-eth
/etc/sysconfig/network-scripts/network-functions-ipv6
/etc/sysconfig/network-scripts/ifup-aliases
[root@centos-6-1 ~]#
17.查看/etc 目录下 大于20k小于50k的文件或目录
[root@centos-6-1 ~]# find /etc/ -size +20k -size -50k
/etc/sound/events/gnome-2.soundlist
/etc/sysconfig/network-scripts/network-functions-ipv6
/etc/postfix/main.cf
/etc/ld.so.cache
/etc/makedev.d/01linux-2.6.x
/etc/selinux/targeted/modules/active/modules/cups.pp
/etc/selinux/targeted/modules/active/modules/samba.pp
/etc/selinux/targeted/modules/active/modules/unprivuser.pp
/etc/selinux/targeted/modules/active/modules/virt.pp
/etc/selinux/targeted/modules/active/modules/apache.pp
/etc/selinux/targeted/modules/active/modules/postfix.pp
/etc/selinux/targeted/modules/active/modules/xguest.pp
/etc/selinux/targeted/modules/active/modules/nagios.pp
/etc/selinux/targeted/modules/active/modules/rhcs.pp
/etc/selinux/targeted/modules/active/modules/staff.pp
/etc/selinux/targeted/modules/active/modules/unconfineduser.pp
/etc/rc.d/init.d/kdump
/etc/rc.d/init.d/functions
[root@centos-6-1 ~]# du -sh /etc/sound/events/gnome-2.soundlist
28K/etc/sound/events/gnome-2.soundlist
[root@centos-6-1 ~]#
18.查找/etc/目录下以文件权限为644 或者 文件名为dsafadwfwqer
[root@centos-6-1 ~]# find /etc/ -depth -perm 644 -o -name "dsafadwfwqer" | head -10
/etc/login.defs
/etc/adjtime
/etc/rwtab
/etc/printcap
/etc/xdg/autostart/imsettings-start.desktop
/etc/xdg/autostart/restorecond.desktop
/etc/xdg/autostart/gnome-keyring-daemon.desktop
/etc/sysctl.conf
/etc/cron.d/0hourly
/etc/logrotate.conf
[root@centos-6-1 ~]#
19.查找/etc/目录下以文件权限为644 而且要满足 文件名为dsafadwfwqer
[root@centos-6-1 ~]# find /etc/ -perm 644 -a -name "dsafadwfwqer"
/etc/dsafadwfwqer
[root@centos-6-1 ~]#
20.第一个命令不成功则输出hahaha
[root@centos-6-1 ~]# dsafdsafqewrqewr || echo "hahaha"
-bash: dsafdsafqewrqewr: command not found
hahaha
[root@centos-6-1 ~]# echo $?
0
[root@centos-6-1 ~]#
本文出自 “linuxtouch” 博客,请务必保留此出处http://linuxtouch.blog.51cto.com/12429083/1941017
原文地址:http://linuxtouch.blog.51cto.com/12429083/1941017