Linux-----10、查找命令

# 查找命令

# 1、 命令查找

Linux下一切皆文件!

which 命令 :找出命令的绝对路径

whereis 命令 :找出命令的路径以及文档手册信息

复制代码
[root@heima ~]# which mkdir
/usr/bin/mkdir

[root@heima ~]# whereis mkdir
mkdir: /usr/bin/mkdir /usr/share/man/man1/mkdir.1.gz /usr/share/man/man1p/mkdir.1p.gz
/usr/share/man/man2/mkdir.2.gz /usr/share/man/man3p/mkdir.3p.gz

# 2、文件查找(find)

find 命令精确查找,磁盘搜索,IO读写,cpu开销大

# 用法1:找出来输出到屏幕

根据需求查找出来直接输出到屏幕

find 查找路径 选项 关键字

常见选项 含义 备注
-name 按照文件名查找文件
-iname 按照文件名忽略大小写查找
-size 按照文件大小来查找 +1M 大于1M -1M 小于1M 1M 等于1M
-type 按照文件类型来查找
-mtime 按文件修改时间来查找文件 -n指n天以内,+n指n天以前
-atime 按文件访问时间来查
-ctime 按文件创建时间来查找文件
-perm 按照文件权限来查找文件
复制代码
举例说明:

0)环境准备
# mkdir /test
# touch /test/file1
# touch /test/FILE1
# cp -a /home/heima/* /test/

1)根据文件名查找
[root@heima ~]# find /test -name "file1"
[root@heima ~]# find /test -iname "file1"
[root@heima ~]# find /etc -name "*.conf"

2)根据文件类型查找
[root@heima ~]# find /usr/bin/ -type l		查找连接
[root@heima ~]# find /dev -type b			查找块设备
[root@heima ~]# cd /test
[root@heima test]# find . -type d			查找目录
[root@heima test]# find . -type f			查找文件

3)根据文件大小查找
[root@heima test]# find . -type f -size +1M
[root@heima test]# find . -type f -size -1M
[root@heima test]# find . -type f -size -1024k
[root@heima test]# find . -type f -size 9M
注意:-size -1M 当文件中没有小于1M的文件的时候,会变成查找-size -1k


4)根据文件属性(权限,创建者和所属组)
[root@heima test]# find . -user heima -group heima -type f
一般省略 -a: find . -user heima -a -group heima -a -type f 代表同时满足
[root@heima test]# find . -type f -perm 644

-mtime选项举例:

按文件修改时间来查找文件

复制代码
[root@heima test]# find ./ -type f -mtime +2
[root@heima test]# find ./ -type f -mtime -2
[root@heima test]# find ./ -type f -mtime 2
注意:这里的天数需要满24小时为一天的
find ./ -type f -daystart -mtime +2

# 用法2:找出来执行命令

根据需求查找出来后执行某个动作(命令)

find 路径 选项 关键字 动作

常见动作 说明
-exec 对查找到的文件直接执行该参数后的shell命令
-ok 对查找到的文件询问式执行该参数后的shell命令
-delete 删除查找到的文件
-ls 列出查找到的文件,详细信息
-print 打印出查找到的文件(默认选项)

举例说明:

复制代码
语法结构:
注意:
1. -exec或者-ok后面写完命令必须以空格反斜杠\;结尾( \;)
2. {}表示find命令所找出来的内容

find /test/ -type f -ok cp {} /tmp \;

本文转自 https://docs.xiaoshaozi.site/zs-use/linux/基本使用/10、查找命令.html#查找命令

相关推荐
wanhengidc3 小时前
当云手机出现卡顿怎么办?
运维·服务器·安全·智能手机
寻道模式7 小时前
【运维心得】三步10分钟拆装笔记本键盘
运维·计算机外设·笔记本
元清加油7 小时前
【Golang】:函数和包
服务器·开发语言·网络·后端·网络协议·golang
炫友呀9 小时前
Centos 更新/修改宝塔版本
linux·运维·centos
闻道且行之9 小时前
嵌入式|VNC实现开发板远程Debian桌面
运维·debian·嵌入式
向日葵.9 小时前
fastdds.ignore_local_endpoints 属性
服务器·网络·php
IT成长日记10 小时前
【自动化运维神器Ansible】Playbook中的when条件判断:精细化控制任务执行
运维·自动化·ansible·playbook·when·条件判断
昵称为空C12 小时前
SpringBoot接口限流的常用方案
服务器·spring boot
Peter_Deng.12 小时前
Linux 下基于 TCP 的 C 语言客户端/服务器通信详解(三个示例逐步进阶)
服务器·c语言·网络
花小璇学linux12 小时前
imx6ull-驱动开发篇24——Linux 中断API函数
linux·驱动开发·嵌入式软件