find命令的使用

find [目录] [条件] [动作]

[目录]

不输入代表当前目录

例:

find

find  /boot

[条件]

用户和组:-user -group

例:查找home目录下所有的属于指定的文件

[root@xinsz0861 ~]# find /home/ -user swk

类型:-type ( f 文件 , d 目录 , l 连接 , p 管道 ,c 字符文件 ,b 块文件 ,s socket文件 )

[root@xinsz0861 ~]# find /home/ -type f[root@xinsz0861 ~]# find /home/ -type d

 

文件名:-name

[root@xinsz0861 ~]# useradd user1[root@xinsz0861 ~]# useradd vipuser2[root@xinsz0861 ~]# touch /home/user1/aaauserccc[root@xinsz0861 ~]# find /home/ -name *user*/home/user1/home/user1/aaauserccc/home/vipuser2

大小:-size   +NM  大于N兆    -NM 小于N兆

例:找到boot目录下大于4M文件

[root@xinsz0861 ~]# find /boot/ -size +4M

时间: -mtime  -atime  -ctime

任务:百度一下如何针对分钟进行查找

扩展:Linux系统中ctime , atime  ,mtime 有什么区别

[root@xinsz0861 ~]# touch a.txt

[root@xinsz0861 ~]# stat a.txtFile: ‘a.txt’Size: 0               Blocks: 0          IO Block: 4096   regular empty fileDevice: fd00h/64768d    Inode: 36433014    Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2016-02-20 07:55:13.285056713 -0500Modify: 2016-02-20 07:55:13.285056713 -0500Change: 2016-02-20 07:55:13.285056713 -0500

ctime:“改变时间(change time)”

mtime :“修改时间(modification time)”

atime :“访问时间(access time)”

 

例:

改变和修改之间的区别在于是改文件的属性还是更改它的内容。

chmod a-w myfile,那么这是一个改变;改变的ctime

echo  aaa > bajie 那么这是一个修改。mtime :“修改时间

atime,改变是文件的索引节点发生了改变;mtime 修改是文本本身的内容发生了变化。

总结:当文件的属性发生修改时,ctime

         当文件内容发生修改时,mtime,ctime

         当文件被访问时,atime

[root@xinsz0861 ~]# touch a.txt

[root@xinsz0861 ~]# chmod +x a.txt              #ctime发生改变

[root@xinsz0861 ~]# echo aaa > a.txt             #mtime ,ctime发生改变

[root@xinsz0861 ~]# cat a.txt                         #atime发生改变

ls(1) 命令可用来列出文件的 atime、ctime 和 mtime。
ls -lc filename 
        列出文件的 ctime     ll  -c
ls -lu filename 
        列出文件的 atime     ll   -u
ls -l filename 
         列出文件的 mtime     ll

[root@xinsz0861 ~]# date -s 2016-2-23

Tue Feb 23 00:00:00 EST 2016

[root@xinsz0861 ~]# find /root/  -mtime +1 | grep a.txt

注:查找出root目录48小时之前创建的文件

[root@xinsz0861 ~]# find /root/  -mtime 2 | grep a.txt

注:查找出root目录48小时之前创建的文件

[root@xinsz0861 ~]# find /root/  -mtime -3 | grep a.txt

注:查找root目录下72小时之内创建的文件

权限:-perm

[root@xinsz0861 ~]# find /boot/ -perm 755           #等于0775权限的文件或目录

SUID  4,SGID 2 ,sticky 1

[root@xinsz0861 ~]# find /tmp/ -perm -777           #至少有777权限的文件或目录

辛舒展

操作方便才是硬道理

例:

[root@xinsz0861 ~]# mkdir ccc[root@xinsz0861 ~]# chmod 777 ccc[root@xinsz0861 ~]# mkdir test[root@xinsz0861 ~]# chmod 1777 test/[root@xinsz0861 ~]# touch b.sh[root@xinsz0861 ~]# chmod 4777 b.sh[root@xinsz0861 ~]# find /root/ -perm 777/root/ccc[root@xinsz0861 ~]# find /root/ -perm 1777/root/test[root@xinsz0861 ~]# find /root/ -perm 4777/root/b.sh[root@xinsz0861 ~]# find /root/ -perm -777/root/ccc/root/test/root/b.sh

查找的目录深度:

[root@xinsz0861 ~]# find /boot/  -maxdepth 2

#只查找目录第二层的文件和目录

多条件:

-a   -o  !  或  -and  -or  -not

[root@xinsz0861 ~]# find /boot/ -size +4M -a -size -8M

注:找出来boot目录下文件大小在4~8M之间的文件或目录

[root@xinsz0861 ~]# find -type f -a -perm /o+w

./b.sh

[root@xinsz0861 ~]# find ! -type f -a -perm -001

[动作]

-ls

-ok

-exec

xargs

-print

-printf

[root@xinsz0861 ~]# touch test[root@xinsz0861 ~]# cp /etc/passwd test/[root@xinsz0861 ~]# cp -r /boot/  test/[root@xinsz0861 ~]# find /root/test/ -type f -exec rm {} \;或者:[root@xinsz0861 ~]# find /root/test/ -type f | xargs rm -rf

参数解释:

 -exec             执行命令 

 rm 要执行的命令

 {} 表示find -type f 查找出来了文件内容

 \;   {} 和 \;之间要有空格。 固定语法,就是以这个结尾

作者:互联网老辛
互联网编程手艺人,架构师,一个技术极客,一个布道者;高中起就有一个做讲师的梦想,工作十余载,终于有幸成为云计算讲师,持续钻研云计算和信息安全领域,并继续把自己所学所感真心传授给自己的学员,帮助更多想要进入IT行业的小伙伴。传道授业解惑,深知责任重大,每日战战兢兢,如履薄冰。苦心钻研,一直前行,不敢有丝毫懈怠。

【linux】循序渐进学运维-find相关推荐

  1. [linux]循序渐进学运维-基础命令篇-diff

    写在前面: 博主是一名投身教培事业的标准八零后,叛逆而且追求自由,昵称取自于苏轼的<水调歌头>中的"高处不胜寒",时刻提醒自己要耐得住寂寞,受的了孤独,在技术的道路上, ...

  2. [linux]循序渐进学运维-基础命令篇-文件的归档和压缩

    文章目录 1 . tar: 作用打包压缩文件 1) 把当前的路径下的文件打包,命名为loacl.tar 2) 指定解压位置 -C 3) 不解包查看tar包中的内容 2. tar 归档+压缩 1.创建t ...

  3. [linux] 循序渐进学运维-mv

    文章目录 mv命令介绍 功能: 案例: 1. -b 如果要拷贝过去的文件夹下有目标文件,则加~ 2. -f 强制覆盖 3. -i:默认选项,当目标文件存在时,提示是否覆盖 4. -n 如果文件存在则不 ...

  4. 《循序渐进学运维》第一阶段Linux基础

    前言 循序渐进学运维系列,第一阶段的内容已经全部更新完毕.包含学习方法篇,和基础入门课程. 所有内容均在csdn存档. 想要学习的可以按照这个步骤进行学习,有不完善的地方欢迎在留言区留言,一起交流. ...

  5. 【Linux】循序渐进学运维-day01

    第一天的内容主要包含: 前言,学习方法,系统搭建,实验环境配置 [Linux]循序渐进学运维-前言 [Linux]循序渐进学运维-学习方法篇 [Linux]循序渐进学运维-实验环境搭建 [Linux] ...

  6. fdisk 分区_【linux】循序渐进学运维-基础篇-分区命令fdisk

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第47篇文章. 本文我们来讨论一下fdisk命令的使用,使用fdisk可以做分区管理. 1. 命令概述: fdisk 作用: 磁盘分区 ...

  7. 【linux】循序渐进学运维-基础篇-文件的软硬链接

    文章目录 前言 软硬链接的介绍 1. 硬链接 2. 软连接 案例实战 1) 硬链接原文件删除不会影响链接文件的正常使用 2) 硬链接不能跨分区进行创建 3) 创建软连接,测试删除原文件后,软连接是否还 ...

  8. 【linux】循序渐进学运维-基础篇-linux运维级别

    本文是循序渐进学运维-基础篇系列的第43篇文章 文章目录 Linux的运行级别 运行级别的启动原理 1. 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service) ...

  9. 【linux】循序渐进学运维-基础篇-修复文件系统实战

    文章目录 前言: 实验环境 解决方案 1) 系统出现只读的情况的解决方案 2) 系统文件受损,可以使用fsck命令 a. 创建一个1G的分区 b. 对分区进行格式化 c. 破坏文件系统并重新挂载 d. ...

  10. 【linux】循序渐进学运维-基础篇-netstat命令详解

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第62篇文章 文章目录 前言 一. netstat命令详解 作用 1. 常用参数 2. 命令使用 1) 参数作用详解 2) 网络连接状 ...

最新文章

  1. 1499抢飞天茅台?可惜了,才26万的并发app就崩了!
  2. 为什么linux进程名匹配最多只支持15个字符?
  3. java线上排查利器arthas
  4. boost::math::non_central_chi_squared用法的测试程序
  5. MongoDB数据库使用总结
  6. 机器学习之五:神经网络、反向传播算法推导
  7. “通用卷无法停止”解决方法
  8. Psych101(part3)--Day3
  9. 胖子脸:库珀·布莱克100年
  10. 实例61:python
  11. 【牛客刷题记录】2021-03-10
  12. 人工智障学习笔记——深度学习(2)卷积神经网络
  13. TRUNCATE TABLE 与 DELETE在删除整个表的所有记录时的区别
  14. Qt 实现控件抖动 动画窗口抖动 QQ抖动
  15. 强行结束进程命令ntsd
  16. MDUI中Select初始化问题
  17. mysql导出文件名乱码_快速解决mysql导出scv文件乱码、蹿行的问题
  18. 使用subs和evals函数对sympy中的符号进行赋值并且设置数值位数
  19. matplotlib添加行列标题、axes.axis以及axes.xaxis.set_ticklabels相关使用方法
  20. 微信服务器 系统发生错误,微信系统故障 仍未修复

热门文章

  1. linux 搭建智能dns,Linux配置智能DNS服务
  2. 保姆级NodeJS安装环境配置优化
  3. oracle数据库new关键字,Oracle筑表关键字解释
  4. 绿色荧光ps微球/聚苯乙烯彩色荧光微球具有荧光强度高,性能稳定,粒径分布窄
  5. 爬取央视网节目单栏目信息!
  6. 2022年技术人365篇写作计划-想持续成长需要关注哪些能力
  7. 微普年薪10W版C语言教学视频
  8. 【Android】【TP】TP开发常见问题分析产线检测CTP单体异常
  9. 怎样用ZBrush快速雕刻皮肤纹理
  10. 中国光伏逆变器行业供需调查分析与发展战略规划研究报告2022-2028年版