find

作用:查找文件

1.name: 指定文件名

例子1. 找到以du结尾的文件

╭─root@localhost.localdomain ~
╰─➤ find / -name "*du" | head -3
/var/lib/AccountsService/users/du
/var/db/sudo/du
/var/spool/mail/du

例子2:找到包含du的文件

╭─root@localhost.localdomain ~
╰─➤ find / -name "*du*" | head -3
./.oh-my-zsh/themes/duellj.zsh-theme
./.zcompdump-localhost-5.0.2
./apr-1.5.2/file_io/os2/filedup.c

2. perm:指定文件权限

例子1:找到所有644权限的文件

╭─root@localhost.localdomain ~
╰─➤ find / -perm 644 | head -3
/boot/grub/splash.xpm.gz
/boot/.vmlinuz-3.10.0-514.el7.x86_64.hmac
/boot/config-3.10.0-514.el7.x86_64
╭─root@localhost.localdomain ~
╰─➤ ll /boot/grub/splash.xpm.gz
-rw-r--r--. 1 root root 1.4K 11月 16 2011 /boot/grub/splash.xpm.gz

例子2:模糊匹配644权限

╭─root@localhost.localdomain ~
╰─➤ find / -perm -644 | head -3
/boot/grub
/boot/grub/splash.xpm.gz
/boot/.vmlinuz-3.10.0-514.el7.x86_64.hmac

3. exec: 执行命令

例子1:删除无属主的文件

╭─root@localhost.localdomain ~
╰─➤ find / -nouser -exec rm -rf {} \;

3:xargs

╭─root@localhost.localdomain /home
╰─➤ ls
du
╭─root@localhost.localdomain /home
╰─➤ touch {1..20}cjk
╭─root@localhost.localdomain /home
╰─➤ ls
10cjk 12cjk 14cjk 16cjk 18cjk 1cjk 2cjk 4cjk 6cjk 8cjk du
11cjk 13cjk 15cjk 17cjk 19cjk 20cjk 3cjk 5cjk 7cjk 9cjk
╭─root@localhost.localdomain /home
╰─➤ find /home -name "*cjk" | xargs rm -rf
╭─root@localhost.localdomain /home
╰─➤ ls
du

4.find可以使用-a和-o或!

-a 是而且的意思

-o 是或者的意思

例子1:找到所有权限是644的普通文件

╭─root@localhost.localdomain /home
╰─➤ find / -type f -a -perm 644 | head -3
/boot/grub/splash.xpm.gz
/boot/.vmlinuz-3.10.0-514.el7.x86_64.hmac
/boot/config-3.10.0-514.el7.x86_64

例子二:找到以du开头或以du结尾的普通文件

╭─root@localhost.localdomain /home
╰─➤ find / -name "du*" -o -name "*du" -a -type f

必要时可以用(),但是需要用"\"转义

 删除日志文件(9号机桌面有命令)
find /alidata/www/logs/java/ebs/sys -mtime +7 -type f \( -name "task.log.*" -o -name "dubbo.log.*" -o -name "task-removeSnapshot.log.*" -o -name "service.log.*" -o -name "grandcanal_heartbeat,log,*" -o -name "grandcanal_thread.log.*" \) | xargs rm -f ;

5. user:指定属主

例子1:找到etc目录下属主是root的文件

╭─root@localhost.localdomain ~
╰─➤ find /etc -user root | head -3
/etc/
/etc/fstab
/etc/crypttab

6.group:指定属组

例子1:

╭─root@localhost.localdomain ~
╰─➤ find /etc -group root | head -3
/etc
/etc/fstab
/etc/crypttab

7. nouser:指定无属主

例子1:

╭─root@localhost.localdomain ~
╰─➤ find -nouser | head -5
./httpd-2.4.20
./httpd-2.4.20/.deps
./httpd-2.4.20/.gdbinit
./httpd-2.4.20/ABOUT_APACHE
./httpd-2.4.20/acinclude.m4
╭─root@localhost.localdomain ~
╰─➤ ll ./httpd-2.4.20/.deps
-rw-r--r--. 1 501 games 0 5月 23 20:33 ./httpd-2.4.20/.deps

8. nogroup:指定无属主

╭─root@localhost.localdomain ~
╰─➤ find -nogroup

9.type:指定文件类型

-type         #文件类型

主要的文件类型:
f #普通文件
d #目录
b #块设备
s #套接字
c #字符设备
l #链接
p #管道

例子1:找到所有的链接文件

╭─root@localhost.localdomain ~
╰─➤ find / -type l | head -3
/dev/cdrom
/dev/snd/by-path/pci-0000:02:02.0
/dev/initctl
╭─root@localhost.localdomain ~
╰─➤ find -type l | head -3
./.oh-my-zsh/plugins/fedora/fedora.plugin.zsh
./.oh-my-zsh/plugins/go/go.plugin.zsh
./.oh-my-zsh/plugins/gradle/_gradle
╭─root@localhost.localdomain ~
╰─➤ ll ./.oh-my-zsh/plugins/fedora/fedora.plugin.zsh
lrwxrwxrwx. 1 root root 21 4月 19 11:20 ./.oh-my-zsh/plugins/fedora/fedora.plugin.zsh -> ../dnf/dnf.plugin.zsh

例子2: 找到所有普通文件

╭─root@localhost.localdomain ~
╰─➤ find -type f | head -3
./.bash_logout
./.bash_profile
./.bashrc

10. size:指定文件大小

例子1:找到大于100M的文件

╭─root@localhost.localdomain ~
╰─➤ find / -size +100M
/proc/kcore
/run/media/root/CentOS 7 x86_64/LiveOS/squashfs.img
/sys/devices/pci0000:00/0000:00:0f.0/resource1_wc
/sys/devices/pci0000:00/0000:00:0f.0/resource1
/usr/lib/locale/locale-archive
╭─root@localhost.localdomain ~
╰─➤ ls -lh /usr/lib/locale/locale-archive
-rw-r--r--. 1 root root 102M 4月 18 21:35 /usr/lib/locale/locale-archive

11. mtime: (modify time)指文件修改时间(天)

例子1:找到文件修改时间一天以上的

[root@ken ~]# find / -mtime +1 | head -3
/boot
/boot/efi
/boot/efi/EFI
[root@ken ~]# stat /boot
File: ‘/boot’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 64 Links: 5
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-05-24 19:31:37.453000000 +0800
Modify: 2019-02-26 22:25:57.574000000 +0800
Change: 2019-03-14 18:49:48.066000000 +0800
Birth: –

12. atime:(access time)指定文件访问时间(天)

例子:找到访问时间1天以上的

[root@ken ~]# find / -atime +1 | head -3
/boot/grub2/device.map
/boot/grub2/i386-pc/gcry_rmd160.mod
/boot/grub2/i386-pc/acpi.mod
^C
[root@ken ~]# stat /boot/grub2/device.map
File: ‘/boot/grub2/device.map’
Size: 64 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 1572929 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-02-26 22:25:05.730000000 +0800
Modify: 2019-02-26 22:25:05.582000000 +0800
Change: 2019-02-26 22:25:05.582000000 +0800
Birth: –

13.ctime:(create time)指定创建时间(天)

例子1:指定文件创建时间一天以上

[root@ken ~]# find / -ctime +1 | head -3
/boot
/boot/efi
/boot/efi/EFI
^C^
[root@ken ~]# stat /boot
File: ‘/boot’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 801h/2049d Inode: 64 Links: 5
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-05-24 19:31:37.453000000 +0800
Modify: 2019-02-26 22:25:57.574000000 +0800
Change: 2019-03-14 18:49:48.066000000 +0800
Birth: –

linux系统find命令详解+xargs命令 、exec命令的更多相关文章

  1. linux命令详解——xargs

    1. 简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: find /sbin -perm +700 |ls -l     ...

  2. Linux命令详解:[7]获得命令帮助

    在维护和使用Linux系统时,常常会忘记命令的使用方法,如果旁边又没有相应的资料,那怎么办呢?不用担心,系统本身提供了详细的手册供使用者查询,下面小编就以CentOS6.4系统为例演示如何获得命令帮助 ...

  3. Linux系统僵尸进程详解

    大安好,我是良许. 本文我们将来讨论一下什么是僵尸进程,僵尸进程是怎么产生的,如何杀死一个僵尸进程. Linux中的进程是什么? 讲到进程,我们要先了解一下另一个概念:程序. 程序说白了就是躺在电脑硬 ...

  4. MySQL在Linux系统下配置文件详解

    在日常的的开发过程中接触到了SQLServer和MySQL数据库的操作性问题,可能是以前接触的都是SQL Server,才开始接触MySQL,总感觉使用MySQL没有使用SQLserver那么顺手,一 ...

  5. linux系统开机流程详解

    今天,我们主要来谈谈计算机系统的启动流程 1.BIOS启动 BIOS是写入到主板上的一个韧体(韧体就是写入到硬件上的一个软件程序).开机的时候,BIOS是计算机系统会主动执行的第一个程序.BIOS主要 ...

  6. Linux常用命令详解(二) -- 查找常用命令

    locate:    作用:在后台数据库中按文件名搜索,搜索速度更快    命令格式:locate 文件名    选项或参数:            -l    num(要显示的行数)         ...

  7. Linux命令详解一:基础命令新建、删除、拷贝~~~

    此处跟大家分享一些Linux文件类的基本命令,应该可以满足日常基本操作了. 底部分享了一个链接,介绍的比较全面,也可以参照. 1.创建目录: 1)创建单级目录:mkdir soft: 2)创建层级目录 ...

  8. Linux系统的信号详解

    一.信号类型 1) SIGHUP       2) SIGINT       3) SIGQUIT     4) SIGILL        5) SIGTRAP 6) SIGABRT      7) ...

  9. centos top 命令详解及退出top命令-使用p键及free命令

    1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新的间隔,以秒 ...

随机推荐

  1. 注意力论文解读(1) | Non-local Neural Network | CVPR2018 | 已复现

    文章转自微信公众号:[机器学习炼丹术] 参考目录: 目录 0 概述 1 主要内容 1.1 Non local的优势 1.2 pytorch复现 1.3 代码解读 1.4 论文解读 2 总结 论文名称: ...

  2. phoenix启动报错:org.apache.phoenix.exception.PhoenixIOException: SYSTEM.CATALOG

    错误: org.apache.phoenix.exception.PhoenixIOException: SYSTEM.CATALOG at org.apache.phoenix.util.Serve ...

  3. 在.NET Core中使用Channel(二)

    在我们之前的文章中,看了一些非常简单的例子来说明Channel是如何工作的,我们看到了一些非常漂亮的特性,但大多数情况下它与其他某某Queue实现非常相似.让我们进入一些更高级的话题.我说的是高级,但 ...

  4. Centos7 密钥对登陆(适用于群晖DSM)

    www.swack.cn - 原文链接:Centos7 密钥对登陆(适用于群晖DSM) 1.生成证书 此处证书使用swack用户生成 注:不要使用root生成证书,因为我们后面会禁用root登陆 [s ...

  5. 【SpringBoot1.x】SpringBoot1.x 安全

    SpringBoot1.x 安全 文章源码 环境搭建 SpringSecurity 是针对 Spring 项目的安全框架,也是 SpringBoot 底层安全模块默认的技术选型.他可以实现强大的 we ...

  6. 【Flutter】功能型组件之异步UI更新

    前言 很多时候会依赖一些异步数据来动态更新UI,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显示一个加载框,等获取到数据时我们再渲染页面:又比如想展示Stream(比如文件 ...

  7. LeetCode374 猜数字大小

    我们正在玩一个猜数字游戏. 游戏规则如下:我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字.每次你猜错了,我会告诉你这个数字是大了还是小了.你调用一个预先定义好的接口 guess(int n ...

  8. 深入理解MySQL索引(上)

    简单来说,索引的出现就是为了提高数据查询的效率,就像字典的目录一样.如果你想快速找一个不认识的字,在不借助目录的情况下,那我估计你的找好长时间.索引其实就相当于目录. 几种常见的索引模型 索引的出现是 ...

  9. Centos7安装Jenkins和目录迁移

    Centos7安装Jenkins和目录迁移 内容: 安装Jenkins和相关的配置 尝试目录迁移,模拟磁盘空间不足 1. 安装Jenkins和配置 安装 根据Jenkins的官方安装指引,安装步骤如下 ...

  10. 总结下MySql优化。防止数据灾难的发生。

    在PHP开发中用到的数据库中MySql是最牛逼的数据库,没有之一--^_^ 相比Sqlite个人最喜欢的特性就是"支持多线程,充分利用 CPU 资源",不像Sqlite那样,动不动 ...