• 文本/文件查找


    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 /]#
  • 相关阅读:
    http响应状态码大全
    Oracle中start with...connect by子句的用法
    sql的连接查询
    spring框架等web程序在tomcat下的启动顺序
    rest模式get,post,put,delete简单讲解
    context-param和init-param的区别
    spring的webutils包。适用于访问httpservletrequest和httpservletresponse
    java日志的相关配置文件知识
    jquery开发插件提供的几种方法
    Node.js实现网络编程
  • 原文地址:https://www.cnblogs.com/ray-mmss/p/9920928.html
Copyright © 2020-2023  润新知