文本/文件查找

grep  目标  文件:   在文件中查找目标 

[root@S opt]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@S opt]# 

grep  -i    忽略大小写

[root@S opt]# grep -i ROOT /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@S opt]# 

grep  -v   取反匹配  

  不显示含有目标内容的行

  grep -v root /etc passwd   -----显示/etc/passwd文件中不包含root的行

grep  -n  显示在原文中所处的行号

[root@S opt]# grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
[root@S opt]# 

grep  ^word  以word开头的行

[root@S opt]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@S opt]# 

grep word$  以word结尾的行

[root@S opt]# grep bash$ /etc/passwd
root:x:0:0:root:/root:/bin/bash
student:x:1000:1000:Student User:/home/student:/bin/bash
harry:x:1001:1001::/home/harry:/bin/bash
[root@S opt]# 

grep ^$     匹配空行

grep -v ^$        去除空行

[root@S opt]# grep -v ^$ /etc/default/useradd 
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[root@S opt]# 

去除配置文件的注释行/空行 显示行号写入到new_file中

grep -v ^# /etc/conf | grep -v ^$ | cat -n > new_file

find:

find dir_name  -type [d f l] : 在目录中查找目录 文件 链接

[root@S /]# find /boot/ -type d
/boot/
/boot/grub2
/boot/grub2/themes
/boot/grub2/themes/system
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub
[root@S /]# 

find dir_name -name  '文档名称‘

[root@S /]# find /etc/ -name 'passwd'
/etc/passwd
/etc/pam.d/passwd
[root@S /]# 
[root@S /]# find /etc/ -name 'passw*'
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/pam.d/password-auth-ac
/etc/pam.d/password-auth
[root@S /]# 

find dir_name -name xxx -type l   多条件查找

# 包含‘nsd'的目录 
[root@S /]# find /root/ -name 'nsd*' -type d /root/nsd01 /root/nsd02 [root@S /]#

find dir_name -size +|- 文件大小(k,M,G)

查找大于10M的文件
[root@S /]# find /boot/ -size +10M /boot/initramfs-0-rescue-946cb0e817ea4adb916183df8c4fc817.img /boot/initramfs-3.10.0-123.el7.x86_64.img [root@S /]# ls -lh /boot/initramfs-* -rw-r--r--. 1 root root 30M 5月 7 2014 /boot/initramfs-0-rescue-946cb0e817ea4adb916183df8c4fc817.img -rw-r--r--. 1 root root 29M 5月 7 2014 /boot/initramfs-3.10.0-123.el7.x86_64.img [root@S /]#

find dir_name -user  用户名

      查找属于某用户的文件

[root@S /]# find / -user student
find: ‘/proc/30816/task/30816/fd/6’: 没有那个文件或目录
find: ‘/proc/30816/task/30816/fdinfo/6’: 没有那个文件或目录
find: ‘/proc/30816/fd/6’: 没有那个文件或目录
find: ‘/proc/30816/fdinfo/6’: 没有那个文件或目录
/var/spool/mail/student
/home/student
/home/student/.bash_logout
/home/student/.bash_profile
/home/student/.bashrc
/home/student/.ssh
/home/student/.ssh/authorized_keys
/home/student/.config
/home/student/.config/gnome-initial-setup-done
/home/student/.config/monitors.xml
/home/student/.config/abrt
/home/student/.cache/abrt/lastnotification
/home/student/.bash_history
[root@S /]# 

 -maxdepth n 限制查找的深度(最大层数)

[root@S /]# find /etc/ -maxdepth 2 -name '*.conf'
/etc/yum/version-groups.conf
/etc/yum/yum-cron-hourly.conf
/etc/yum/yum-cron.conf
/etc/audit/auditd.conf
/etc/fonts/fonts.conf
/etc/prelink.conf.d/fipscheck.conf
/etc/prelink.conf.d/grub2.conf
/etc/prelink.conf.d/libreswan-fips.conf
/etc/tmpfiles.d/tuned.conf
/etc/tmpfiles.d/libstoragemgmt.conf

-mtime 根据文件修改时间查找

-mtime +10 #10天之前   -10#10天之内

1000天之前的文件
[root@S /]# find /var/log/ -mtime +1000 /var/log/tallylog /var/log/btmp /var/log/ppp /var/log/tuned /var/log/qemu-ga /var/log/spooler /var/log/ovirt-guest-agent /var/log/rhsm /var/log/audit
[root@S /]# ls -l //var/log/btmp
-rw-------. 1 root utmp 0 5月   7 2014 //var/log/btmp
[root@S /]#


find ...  -exec 处理命令 {} .. ;

[root@S /]# find /boot/ -size +10M  
/boot/initramfs-0-rescue-946cb0e817ea4adb916183df8c4fc817.img
/boot/initramfs-3.10.0-123.el7.x86_64.img
[root@S /]# find /boot/ -size +10M  -exec cp {} /opt ;
[root@S /]# ls /opt/
initramfs-0-rescue-946cb0e817ea4adb916183df8c4fc817.img  test
initramfs-3.10.0-123.el7.x86_64.img
[root@S /]# 
#查找用户student的文本文件并复制到/root/findfiles
[root@S /]# mkdir /root/findfiles [root@S /]# find / -user student -type f -exec cp {} /root/findfiles/ ; find: ‘/proc/31255/task/31255/fdinfo/6’: 没有那个文件或目录 find: ‘/proc/31255/fdinfo/6’: 没有那个文件或目录 [root@S /]# ls -A /root/findfiles/ authorized_keys .bash_profile lastnotification .bash_history .bashrc monitors.xml .bash_logout gnome-initial-setup-done student [root@S /]#
原文地址:https://www.cnblogs.com/ray-mmss/p/9920928.html