iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >find命令全集
  • 898
分享到

find命令全集

find命令详解find命令 2022-12-08 20:12:17 898人浏览 独家记忆
摘要

目录find命令详解1. find命令作用2. find命令选项基本格式3. 常用选项:4. 常用动作:5. 根据文件名进行匹配6. 根据文件类型进行搜索7. 基于目录深度搜索8.

find命令详解

1. find命令作用

find命令用来在指定目录下查找文件。

2. find命令选项基本格式

find 目录 -选项 动作[-print -exec -ok ...]

3. 常用选项:

-a:and 必须满足两个条件才显示
-o:or 只要满足一个条件就显示
-name:按照文件名查找文件
-iname:按照文件名查找文件(忽略大小写)
-type:根据文件类型进行搜索
-perm:按照文件权限来查找文件
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-fprint 文件名:将匹配的文件输出到文件。
-newer file1 ! newer file2 查找更改时间比文件file1新但比文件file2旧的文件

4. 常用动作:

-print 默认动作,将匹配的文件输出到标准输出
-exec 对匹配的文件执行该参数所给出的命令。相应命令的形式为 'command' { } \;,注意{ }和\;之间的空格。
-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
-delete 将匹配到的文件删除
|xargs  将匹配到的文件删除   |xargs rm -rf 

5. 根据文件名进行匹配

5.1 列出当前目录及子目录下所有文件和文件夹

命令:find .

命令:find .

[root@host-134 ~]# find .
.
./.bash_loGout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg
./.bash_history
./.Mysql_history
./zuoye
./zuoye/lnmp.sh
./zuoye/system.sh
./Nginx-1.18.0
./nginx-1.18.0/auto
./nginx-1.18.0/auto/cc
./nginx-1.18.0/auto/cc/acc
./nginx-1.18.0/auto/cc/bcc

5.2 在/home目录下查找以.txt结尾的文件名

 find /home/ -name "*.txt" 

5.3 在/home目录下查找以.txt结尾的文件名,但忽略大小写

find /home -iname "*.txt"

5.4 查找 /home/ 下所有以.txt或.pdf结尾的文件

find /home/ -name "*.txt" -o -name "*.pdf"

5.5 查找 /home/ 下所有以a开头和以.txt结尾的文件

find /home/ -name "*.txt" -a -name "a*"

5.6 搜索/home目录下txt结尾的文件,并将输出到指定文件中(re.txt)

[root@localhost home]# find /home/ -type f -name "*.txt" -fprint /tmp/re.txt 
[root@localhost home]# cat /tmp/re.txt
/home/a.txt
/home/b.txt

6. 根据文件类型进行搜索

-type 类型参数

类型参数列
f 普通文件
l 符号连接(软连接)
d 目录
b 块设备
s 套接字

6.1

[root@host-136 ~]# find /home/ -type f
/home/frank/.bash_logout
/home/frank/.bash_profile
/home/frank/.bashrc

6.2

[root@host-136 ~]# find /usr/bin/ -type l
/usr/bin/bashbug
/usr/bin/lastb
/usr/bin/sh
/usr/bin/geqn
/usr/bin/ex
/usr/bin/lz4cat
/usr/bin/gneqn
/usr/bin/gnroff

6.3

[root@host-136 ~]# find /usr/local/ -type d
/usr/local/
/usr/local/bin
/usr/local/etc
/usr/local/games
/usr/local/include
/usr/local/lib
/usr/local/lib64
/usr/local/libexec
/usr/local/sbin

6.4

[root@host-134 ~]# find /dev/ -type b
/dev/dm-1
/dev/dm-0
/dev/sda2
/dev/sda1
/dev/sda
/dev/sr0

6.5

[root@localhost home]# find /var/lib/ -type s
/var/lib/mysql/mysql.sock

7. 基于目录深度搜索

7.1 向下最大深度限制为3

[root@host-136 ~]# find /usr/local/ -maxdepth 3 -type d
/usr/local/
/usr/local/bin
/usr/local/etc
/usr/local/games
/usr/local/include
/usr/local/lib
/usr/local/lib64
/usr/local/libexec
/usr/local/sbin
/usr/local/share
/usr/local/share/applications
/usr/local/share/info
/usr/local/share/man
/usr/local/share/man/man1
/usr/local/share/man/man1x

7.2 搜索出深度距离当前目录至少2个子目录的所有文件

[root@host-136 ~]# find /usr/local/ -mindepth 2 -type f
/usr/local/sbin/mail.py

8. 根据文件时间戳进行搜索

8.1 UNIX/linux文件系统每个文件都有三种时间戳:

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

8.2 stat 命令查看:

[root@host-136 ~]# stat /etc/passwd
File: ‘/etc/passwd'
Size: 950 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d    Inode: 33818061 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:passwd_file_t:s0
Access: 2021-01-06 09:17:36.122732027 +0800
Modify: 2021-01-06 09:17:36.114732083 +0800
Change: 2021-01-06 09:17:36.115732076 +0800
Birth: -

8.3 搜索最近七天内被访问过的所有文件

[root@host-136 ~]# find /etc/ -type f -atime -7
/etc/fstab
/etc/crypttab
/etc/resolv.conf
/etc/pki/rpm-gpg/RPM-GPG-KEY-Centos-7
/etc/pki/ca-trust/ca-legacy.conf
/etc/pki/ca-trust/extracted/java/cacerts
/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
/etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem
/etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem

8.4 搜索超过七天内(7天外)被访问过的所有文件

[root@host-136 ~]# find /etc -type f -atime +7
/etc/sasl2/smtpd.conf
/etc/ethertypes
/etc/makedumpfile.conf.sample
/etc/postfix/access
/etc/postfix/canonical
/etc/postfix/generic
/etc/postfix/header_checks
/etc/postfix/relocated
/etc/postfix/transport
/etc/postfix/virtual

9. 根据文件大小进行匹配

用法
find . -type f -size 文件大小单元
文件大小单元:

b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节

9.1 搜索大于10KB的文件

[root@host-136 ~]# find /etc/ -type f -size +10k
/etc/ssh/moduli
/etc/postfix/access
/etc/postfix/canonical
/etc/postfix/header_checks
/etc/postfix/main.cf
/etc/postfix/transport
/etc/postfix/virtual

9.2 搜索小于10KB的文件

[root@host-136 ~]# find /etc/ -type f -size -10k
/etc/man_db.conf
/etc/sudo-ldap.conf
/etc/sudo.conf
/etc/sudoers
/etc/e2fsck.conf
/etc/mke2fs.conf
/etc/vconsole.conf
/etc/locale.conf

9.3 搜索等于10KB的文件

[root@host-136 ~]# find /etc/ -type f -size 10k
/etc/dbus-1/system.d/org.freedesktop.systemd1.conf
/etc/dbus-1/system.d/org.freedesktop.networkManager.conf
/etc/selinux/targeted/active/modules/100/accountsd/hll
/etc/selinux/targeted/active/modules/100/acct/hll
/etc/selinux/targeted/active/modules/100/aiccu/hll
/etc/selinux/targeted/active/modules/100/alsa/hll
/etc/selinux/targeted/active/modules/100/arpwatch/hll

9.4 搜索大于10G的日志文件,并删除

[root@host-136 ~]# find /var/log -type f -name "*.log" -size +10G -delete

10. 根据文件权限/所有权进行匹配

找出指定目录下权限不是644的txt文件

[root@host-136 ~]# find / -type f -name "*.txt" ! -perm 644
/usr/lib/firmware/ivtv-firmware-license-end-user.txt
/usr/lib/firmware/ivtv-firmware-license-oemihvisv.txt
/usr/share/licenses/shadow-utils-4.6/gpl-2.0.txt
/usr/share/licenses/shadow-utils-4.6/shadow-bsd.txt

找出/home目录用户frank拥有的所有文件

[root@host-136 ~]# find /home/ -type f -user frank
/home/frank/.bash_logout
/home/frank/.bash_profile
/home/frank/.bashrc

找出/home目录用户组frank拥有的所有文件

[root@host-136 ~]# find /home/ -type f -group frank
/home/frank/.bash_logout
/home/frank/.bash_profile
/home/frank/.bashrc

11. 借助-exec选项与其他命令结合使用

找出/tmp目录下所有root的文件,并把所有权更改为用户frank

find /tmp/ -type f -user root -exec chown frank {} \;
使用占位符{}来表示find到的文件名

找出家目录下所有的.sh文件并删除

[root@localhost home]# find $HOME -name "*.sh" -ok rm {} \;find #HOME -name "*.sh" -exec rm {} \;
< rm ... /root/install_lnmp.sh > ? y
-ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。

查找/home目录下所有.txt文件并把他们拼接到all.txt文件中

find /home/ -type f -name "*.txt" -exec cat {} \;>all.txt

查找/home目录下所有.txt文件并把他们复制到/opt/backup文件中

find /home/ -type f -name "*.txt" -exec cp {} /opt/backup/ \;

在/var/log目录中查找更改时间在5日以前的文件并删除它们:

find /var/log -type f -mtime +5 -exec rm {} \;find /var/log -type f -mtime +5 |xargs rm -rf

到此这篇关于find 命令全集的文章就介绍到这了,更多相关find 命令详解内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: find命令全集

本文链接: https://www.lsjlt.com/news/174573.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • find 命令全集
    目录find命令详解1. find命令作用2. find命令选项基本格式3. 常用选项:4. 常用动作:5. 根据文件名进行匹配6. 根据文件类型进行搜索7. 基于目录深度搜索8. 根据文件时间戳进行搜索10. 根据文件...
    99+
    2022-12-08
    find命令详解 find命令
  • find命令全集
    目录find命令详解1. find命令作用2. find命令选项基本格式3. 常用选项:4. 常用动作:5. 根据文件名进行匹配6. 根据文件类型进行搜索7. 基于目录深度搜索8. ...
    99+
    2022-12-08
    find 命令详解 find 命令
  • linux的find命令格式及find命令怎么用
    这篇文章主要为大家展示了“linux的find命令格式及find命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux的find命令格式及find命令怎么用”这篇文章吧。find命令...
    99+
    2023-06-17
  • linux万能查询命令——find命令
            find命令用来寻找文件或目录,功能非常强大,可以在查找到的文件上去执行命令,准确查找,遍历整个目录下的所有文件,可以对查询到的文件进行指定的动作,即查看、删除、移动等操作。 目录 1、常用查找命令 2、查找结果后的处理 3...
    99+
    2023-10-24
    linux 运维 服务器
  • Linux基础命令---find
    file判断指定文件的文件类型,它依据文件内容判断,并不依据扩展名。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法file [选项]  ...
    99+
    2023-06-06
  • Linux命令中的find命令是什么
    Linux命令中的find命令是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。find 是 Linux 中强大的搜索命令,不仅可以按照文件名搜索文件,还可以按照权限、大小、...
    99+
    2023-06-28
  • linux命令之find命令简单概述
    Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了...
    99+
    2022-06-04
    命令 简单 linux
  • Find命令搜索文件
    Find命令搜索文件 如果想查找最近某些时段修改或创建的文件、或者查找一些类型的文件,这时候单使用ls命令就不太可靠了,因此我们可以使用find命令来实现这样的功能。 find ./ -mtime 0...
    99+
    2023-09-02
    linux
  • find -newer命令怎么用
    这篇文章主要介绍了find -newer命令怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。[biprd1]root#touch 12091200 newer.file[...
    99+
    2023-06-05
  • Linux常用命令全集(超全面)
    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIO...
    99+
    2022-06-04
    全集 常用命令 Linux
  • 如何使用Linux find命令中-path -prune命令
    这篇文章主要介绍“如何使用Linux find命令中-path -prune命令”,在日常操作中,相信很多人在如何使用Linux find命令中-path -prune命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-13
  • Linux 的find命令怎么用
    find命令在Linux系统中用于查找文件和目录。它的基本用法是:```shellfind [路径] [表达式]```其中,路径指定...
    99+
    2023-10-09
    Linux
  • centos find命令怎么使用
    在CentOS系统中,find命令用于在指定目录下查找文件和目录。使用find命令的基本语法如下:find 其中,是要查找的目录...
    99+
    2023-10-20
    centos
  • linux中find命令的用法
    linux中find命令的用法:在linux中find命令可以用来搜索目录;语法格式为:“find 目录 参数 文件名称”,例如在linux终端中输入“find /usr/tmp -name 'a*'”命令则查找/usr/tmp目录下的所有...
    99+
    2022-10-05
  • linux的find命令怎么用
    这篇文章主要为大家展示了“linux的find命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux的find命令怎么用”这篇文章吧。find那么如...
    99+
    2022-10-19
  • Linux find命令怎么使用
    这篇文章主要介绍“Linux find命令怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux find命令怎么使用”文章能帮助大家解决问题。find在指定目录下查找文件补充说明find...
    99+
    2023-06-28
  • cmd中find命令怎么用
    小编给大家分享一下cmd中find命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我对findstr是如此的依赖,以至于当我向各位讲解find命令的时候,...
    99+
    2023-06-08
  • Linux下find命令的用法
    这篇文章主要讲解了“Linux下find命令的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux下find命令的用法”吧!当使用 Linux 下的 find 命令时,请使用 -ok...
    99+
    2023-06-16
  • CISCO交换机命令全集(3)
    60. 配置HSRP跟踪: router(config-if)# standy group-number track type-number interface-priority 61. 要显示HSRP路由器的状态: router# ...
    99+
    2023-01-31
    交换机 全集 命令
  • linux系统find命令的用法
    本篇内容介绍了“linux系统find命令的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!错误信息通常是“参数列太长”或“参数列溢出”。...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作