• RHCSA认证考试---11.查找文件


    红帽RHCE考试上午-RHCSA(RH200)

    servera.example.com 任务

    11. 查找文件

    • 查找属于 harry 用户所属的目录,并拷贝到/root/findlist/目录下


    实操演示过程:

    1. [root@servera tmp]# mkdir /root/findlist
    2. [root@servera ~]# find / -user harry -type d -exec cp -av {} /root/findlist/ \;

    命令解析:

    find:查找需要的内容

    /:表示需要查找的范围

    -user:表示匹配的用户规则

    -type:表匹配的类型

    d:表示匹配目录

    -exec:表示查找匹配之后需要关联的动作

    {}:表示前面find查到的内容形成的数组

    \;:表示结束标志

    验证

    1. [root@servera ~]# cd /root/findlist/
    2. [root@servera findlist]# ll
    3. total 0
    4. drwx------. 2 root root 62 May 2 02:14 harry

    find语法:

    find 路径 选项 动作

    find 查询的路径 查询的条件 条件相关的参数 动作

    路径:

    不指定路径 默认查找当前目录的文件 在查找的时候是递归查找(目录及其子目录下查找)

    动作:

    对find找到的文件执行指定的操作,可以是复制、删除等

    选项:

    选项的作用:定义以名称、类型、大小、时间、权限、用户、组等各种条件来查找。

    -name 文件名 //按文件名查找,

    实例如下

    1. [root@root ~]# find /etc -name host* 在/etc目录下查找名称以host开头的所有文件
    2. [root@root ~]# find / -name *.conf 在/根目录下查找名称以.conf结尾的所有文件
    1. -iname 文件名 //按文件名查找 不区分大小写
    2. [root@root ~]# find /etc -iname HOST*
    1. -size 大小[cwbkMG] //按文件大小查找
    2. +3G 大于3G的文件
    3. -3G 小于3G的文件
    4. 3G 等于3G的文件
    5. [root@root ~]# find / -size +3G //在根目录下查找文件大于3G的文件
    6. [root@root ~]# find /boot -size +10M //在/boot目录下查找文件大于10M的文件
    1. 多条件查找 逻辑符号表达式
    2. expr1 -and expr2 逻辑与 -and == -a
    3. expr1 -or expr2 逻辑或 -or == -o
    4. !expr 取反
    5. -not expr 不是
    6. 例:文件大小大于3G且小于4G的文件
    7. [root@root ~]# find / -size +3G -a -size -4G
    1. 以时间戳 查找
    2. -amin 访问时间 //min 分钟
    3. -atime 访问时间 //time 天数
    4. -cmin 改动时间
    5. -ctime 改动时间
    6. -mmin 修改时间
    7. -mtime 修改时间
    8. [root@root ~]# find / -atime 2
    9. n 2 列出在2天之前的“一天之内”被访问过的文件
    10. +n +2 列出2天之前被访问过的文件
    11. -n -2 列出2天之内被访问过的文件

    -perm 文件权限查找

    1. [root@root ~]# find / -perm -4000 查找文件权限设置了suid的文件
    2. [root@root ~]# find / -perm -2000 查找文件权限设置了sgid的文件
    3. [root@root ~]# find / -perm -0755 查找权限等于0755的文件

    -type 根据文件类型查找

    1. d 目录(即文件夹)
    2. f 普通文件,即word文档、txt文本文档、jpg图片、mp3音乐、avi视频。find /etc -type f
    3. b 块设备文件,即硬盘、u盘、硬盘分区,例:find /dev -type b
    4. c 字符设备文件,即终端tty,例:find /dev -type c
    5. p 管道文件
    6. l 符号链接(也称软链接),即快捷方式,例:find / -type l
    7. s 套接字,ip+port。例:find / -type s
    1. [root@root ~]# find /etc -type d 在/etc目录下查找类型为d目录的文件
    2. [root@root ~]# find / -type c -a -user root 在/根目录下查找类型为c且属主为root的文件
    3. 以文件的属主或属组查找:
    4. -gid 用户的gid //文件的所属组
    5. -group 用户组名 //文件的所属组
    6. -uid 用户的uid //文件的所有者
    7. -user 用户的名字 //文件的所有者

    -inum inode号 //查找指定inode号是多少的文件,inode是文件的索引号,

    1. 显示索引号 //ls -li /etc/hosts
    2. [root@root ~]# find / -uid 1000 在根目录下查找uid(属主)为1000的文件
    3. [root@root ~]# find / -inum 16777341

    动作:对查找到的文件做额外的操作(可以cp复制、mv移动、rm删除、ls -l等)

    1. [-exec | -ok 要操作的命令 {} \;] //非交互式 或 交互式
    2. [ | xargs -i 动作 ] //非交互式的 -i支持使用{}
    3. 解释:{}代表用find命令找到的文件,\;是动作的结束符号
    4. -exec 操作时无提示
    5. -ok 操作是有提示
    6. 要操作的命令
    7. ls -l {} \;
    8. cp -rv {} /tmp/ \;

    例:

    在/etc目录下查找host*文件,将找到的文件用ls -ld查看属性

    1. [root@root ~]# find /etc -name host* -exec ls -ld {} \;
    2. -rw-r--r--. 1 root root 9 6月 7 2013 /etc/host.conf
    3. -rw-r--r-- 1 root root 187 2月 1 18:36 /etc/hosts
    4. -rw-r--r--. 1 root root 370 6月 7 2013 /etc/hosts.allow
    5. -rw-r--r--. 1 root root 460 6月 7 2013 /etc/hosts.deny
    6. -rw-r--r--. 1 root root 9003 11月 21 2015 /etc/selinux/targeted/modules/active/modules/hostname.pp
    7. -rw-r--r-- 1 root root 5 2月 1 17:39 /etc/hostname

    将找到的文件复制到/tmp目录中

    1. [root@root ~]# find /etc -name host* -exec cp -rv {} /tmp/ \;
    2. "/etc/host.conf" -> "/tmp/host.conf"
    3. "/etc/hosts" -> "/tmp/hosts"
    4. "/etc/hosts.allow" -> "/tmp/hosts.allow"
    5. "/etc/hosts.deny" -> "/tmp/hosts.deny"
    6. "/etc/selinux/targeted/modules/active/modules/hostname.pp" -> "/tmp/hostname.pp"
    7. "/etc/hostname" -> "/tmp/hostname"

  • 相关阅读:
    分割、合并字符串
    Jenkins配置远程服务器之Publish over SSH、SSH Servers
    网络PXE启动WinPE,支持UEFI和LEGACY引导
    力扣刷题第二十三天--栈与队列
    服务器端使用django websocket,客户端使用uniapp 请问服务端和客户端群组互发消息的代码怎么写的参考笔记
    vscode+eslint一键格式化代码
    软件测试学习笔记丨Selenium复用已打开浏览器
    HTML和CSS入门学习
    为华生物NH2-PEG-NH2氨基聚乙二醇氨基的简介及应用说明
    java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver解决方案
  • 原文地址:https://blog.csdn.net/jiang0615csdn/article/details/127589708