find [搜索范围] [搜索条件]
搜索文件:
[root@localhost ~]# find / -name install.log(耗时较长)
/root/install.log
避免大范围搜索,会非常耗费系统资源
find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
Linux中的通配符
* 匹配任意内容
运行效果:
[root@localhost ~]# find /root -name "install.log*"
/root/install.log
/root/install.log.syslog
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
运行效果:
[root@localhost ~]# find /root -name "ab[cd]"
/root/abc
/root/abd
find /root -iname install.log
不区分大小写
find /root -user root
按照所有者搜索
find /root -nouser
查找没有所有者的文件
find /var/log/ -mtime +10
查找10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
find . -size 26k
"."代表当前目录
查找文件大小是26KB的文件
-26k 小于26KB的文件
26k 等于26KB的文件
运行效果:
[root@localhost ~]# find . -size 26k
./install.log
+26k 大于26KB的文件
find . -inum 262422
查找i节点是2624222的文件
运行效果:
[root@localhost ~]# find /root -inum 262422
/root/abc
find /etc -size +20k -a -size -50k
查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
运行效果:
[root@localhost ~]# find /etc -size +20k -a -size -50k
/etc/lvm/lvm.conf
/etc/selinux/targeted/modules/active/modules/unconfineduser.pp
/etc/selinux/targeted/modules/active/modules/staff.pp
/etc/selinux/targeted/modules/active/modules/samba.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/unprivuser.pp
/etc/makedev.d/01linux-2.6.x
/etc/mime.types
/etc/libreport/events/report_RHTSupport.xml
/etc/sysconfig/network-scripts/network-functions-ipv6
/etc/ld.so.cache
/etc/sound/events/gnome-2.soundlist
/etc/postfix/main.cf
/etc/vmware-tools/installer.sh
/etc/vmware-tools/services.sh
You have new mail in /var/spool/mail/root
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
-exec/-ok命令{} \;对搜索结果执行操作
运行效果:
[root@localhost ~]# find /etc -size +20k -a -size -50k -exec ls -lh {} \;
-rw-r--r--. 1 root root 34K 6月 22 2012 /etc/lvm/lvm.conf
-rw-------. 1 root root 28K 12月 28 07:48 /etc/selinux/targeted/modules/active/modules/unconfineduser.pp
-rw-------. 1 root root 42K 12月 28 07:48 /etc/selinux/targeted/modules/active/modules/staff.pp
-rw-------. 1 root root 24K 12月 28 07:48 /etc/selinux/targeted/modules/active/modules/samba.pp
-rw-------. 1 root root 26K 12月 28 07:48 /etc/selinux/targeted/modules/active/modules/apache.pp
-rw-------. 1 root root 29K 12月 28 07:48 /etc/selinux/targeted/modules/active/modules/postfix.pp
-rw-------. 1 root root 26K 12月 28 07:48 /etc/selinux/targeted/modules/active/modules/xguest.pp
-rw-------. 1 root root 36K 12月 28 07:48 /etc/selinux/targeted/modules/active/modules/unprivuser.pp
-rw-r--r--. 1 root root 28K 11月 11 2010 /etc/makedev.d/01linux-2.6.x
-rw-r--r--. 1 root root 43K 9月 23 2011 /etc/mime.types
-rw-r--r--. 1 root root 22K 6月 28 2012 /etc/libreport/events/report_RHTSupport.xml
-rw-r--r--. 1 root root 30K 4月 27 2012 /etc/sysconfig/network-scripts/network-functions-ipv6
-rw-r--r--. 1 root root 37K 12月 28 07:48 /etc/ld.so.cache
-rw-r--r--. 1 root root 27K 11月 12 2010 /etc/sound/events/gnome-2.soundlist
-rw-r--r--. 1 root root 27K 12月 3 2011 /etc/postfix/main.cf
-rwxr-xr-x. 1 root root 30K 12月 28 07:47 /etc/vmware-tools/installer.sh
-rwxr-xr-x. 1 root root 39K 12月 28 07:47 /etc/vmware-tools/services.sh
grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
运行效果:
[root@localhost ~]# grep "size" anaconda-ks.cfg
#part /boot --fstype=ext4 --size=200
#part /home --fstype=ext4 --size=2000
#part swap --size=1000
#part / --fstype=ext4 --grow --size=200
选项:
-i 忽略大小写
运行效果:
[root@localhost ~]# grep -i "size" anaconda-ks.cfg
#part /boot --fstype=ext4 --size=200
#part /home --fstype=ext4 --size=2000
#part swap --size=1000
#part / --fstype=ext4 --grow --size=200
-v 排除制定字符串
运行效果:
[root@localhost ~]# grep -v "size" anaconda-ks.cfg
Kickstart file automatically generated by anaconda.
#version=DEVEL
install
cdrom
lang zh_CN.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp --noipv6
rootpw --iscrypted $6$iYfOQvs4D3NQXs87$fz549ygML.f5zHZJWJLEAnWsJ7gSiVenV.PTy/gFSm96XNzssW8CiFNuQk/0n9uugkwsxj1acNmQnhJB5xpnL1
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
#clearpart --none
repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100
%packages
@base
@chinese-support
@console-internet
@core
@debugging
@directory-client
@hardware-monitoring
@java-platform
@large-systems
@network-file-system-client
@performance
@perl-runtime
@server-platform
@server-policy
pax
oddjob
sgpio
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配。