find、grep、which查找命令

find-文件查找

find 命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。 

文件名查找

find 查找的目录 -name "查找的文件名"

注意,这里文件名最好加上双引号表示字符串。

文件类型查找

find 查找目录 -type 文件类型

普通文件:p
目录:d
符号链接:l
管道:p
套接字:s
字符设备:c
块设备:b

文件大小查找

find 查找目录 -size -10k

+10k:大于10k
-10k: 小于10k
10k:等于10k
-size 10k -size 100k:大于10k小于100k

单位:k-小写 M-大写

文件日期查找

find 文件查找目录 

创建日期: -ctime -n/+n -n表示n天以内 +n表示n天以外
修改日期:-mtime
访问日期:-atime

文件深度查找

find 文件的查找目录 -maxdepth n(层数) //搜索n层以下的目录

find 文件的查找目录 -mindepth n(层数) //搜索n层以上的目录

高级查找

find 查找的目录 查找选项 查找格式 -exec shell命令 {}\;  注意加分号

find 查找的目录 查找选项 查找格式 -ok shell命令 {}\;

find 查找目录 查找选项 查找格式 | xargs shell命令

grep -文件内容查找

grep -选项 "查找的内容" 查找的路径 

常用选项说明:

选项含义
-v显示不包含匹配文本的所有行(相当于求反)
-n显示匹配行及行号
-i

忽略大小写

-r递归查找,一般查找目录是都会加上
-o只显示查找到的内容而不是整行,grep默认显示查找到的整行
-P查找的pattern 兼容perl 正则表达式

grep 搜索内容串可以是正则表达式。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
grep 常用正则表达式:

参数含义
^a行首,搜寻以 a 开头的行
grep -n '^a' 1.txt
ke$行尾,搜寻以 ke 结束的行(只能针对 Linux 文本文件)
grep -n 'ke$' 1.txt
[Ss]igna[Ll]匹配 [] 里中一系列字符中的一个
搜寻匹配单词 signal、 signaL、 Signal、 SignaL 的行
grep -n '[Ss]igna[Ll]' 1.txt
. (点)匹配一个非换行符的字符
匹配 e 和 e 之间有任意一个字符,可以匹配 eee, eae, eve,
但是不匹配 ee, eaae
grep -n 'e.e' 1.txt

which-命令的位置查找

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中有多种用于查找文件和目录的指令,下面是对which、whereis、locate、find和grep指令的介绍以及示例: 1. which:用于查找可执行文件的路径。它会在环境变量$PATH指定的路径中搜索指定的命令,并返回第一个匹配到的完整路径。 示例:假设我们要查找命令ls的路径,可以使用以下命令: ``` which ls ``` 输出结果可能是:/bin/ls 2. whereis:用于查找二进制文件、源代码文件和帮助文档的路径。它会在特定的目录中搜索指定的文件,并返回相关信息。 示例:假设我们要查找命令ls的二进制文件、源代码文件和帮助文档的路径,可以使用以下命令: ``` whereis ls ``` 输出结果可能是:/bin/ls /usr/share/man/man1/ls.1.gz 3. locate:用于快速查找文件或目录。它会在系统预先建立的数据库中搜索匹配的文件或目录,并返回结果。 示例:假设我们要查找所有以.txt结尾的文件,可以使用以下命令: ``` locate *.txt ``` 输出结果可能是:/home/user/file1.txt /home/user/file2.txt /var/log/file3.txt 4. find:用于在指定目录下递归地搜索文件和目录。它可以根据不同的条件进行搜索,并返回匹配的结果。 示例:假设我们要在当前目录下查找所有以.txt结尾的文件,可以使用以下命令: ``` find . -name "*.txt" ``` 输出结果可能是:./file1.txt ./file2.txt ./dir1/file3.txt 5. grep:用于在文件中搜索指定的模式。它可以根据正则表达式匹配文本,并返回匹配的行。 示例:假设我们要在文件file.txt中查找包含"hello"的行,可以使用以下命令: ``` grep "hello" file.txt ``` 输出结果可能是:This is a hello world example.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值