Linux基本命令之文件查找命令

在这里插入图片描述

查找命令

1、 which:用于查找文件及命令所在的路径(较少)

这里的路径是指在环境变量$PATH设置的目录里查找符合条件的文件

语法

which 命令

案例

查看tar所在路径

[root@root etc]# which tar
/usr/bin/tar

2、 whereis:用于命令及帮助文档所在所在的路径(较少)

语法

whereis [参数] [命令]

参数

  • -b  只查找二进制文件。
  • -f  不显示文件名前的路径名称。
  • -m  只查找说明文件。
  • -s  只查找原始代码文件。
  • -u  查找不包含指定类型的文件。

案例

查看ls的路径

[root@root etc]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
[root@root etc]# whereis -b ls
ls: /usr/bin/ls
[root@root etc]#  whereis -m ls
ls: /usr/share/man/man1/ls.1.gz
[root@root etc]#  whereis -s ls
ls:[root@root etc]# 

3、 locate:在文件资料库中查找文件(较少)

查找范围仅限于文件资料库,范围较小无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻

:
1./tmp目录不属于文件资料库范围
2.由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。

语法

locate[参数] [ 文件名]

参数

  • -q 不会显示任何错误讯息。
  • -o 指定资料库存的名称。
  • -i 忽略大小写

4、 grep:过滤查找

4.1 基本用法

语法

grep [参数] [查找条件] [查找源文件]

参数

  • -v 排除指定字符,即显示不包含匹配文本的所有行。

  • -n : 列出该行的列数编号。

  • -q 不显示任何信息。

  • -s 不显示错误信息。

  • -r 递归查找。

案例

在hello.java文件中查找含有hello的行

[root@root itbestboy]# grep -n hello hello.java 
1:hello everyone!!!!!
[root@root itbestboy]# 

4.2 升级用法

grep 经常和管道符 | 一起使用,表示将前一个命令的处理结果传递给后面的命令处理。

语法

命令操作 | grep [参数] [查找条件]

参数

  • -v 排除指定字符,即显示不包含匹配文本的所有行。
  • -n : 列出该行的列数编号。
  • -q 不显示任何信息。
  • -s 不显示错误信息。
  • -r 递归查找。

案例

查看helloTwo.java中hello所在的行,并且输出行数,不区分大小写。

[root@root test02]# cat helloTwo.java | grep -ni hello
1:hello everyone!!!!!
2:HELLOW   JAVA    PYTHON
5:HELLO
[root@root test02]# 

5、 find

find查看是linux中使用最多的一种查找,查找范围十分广泛,相应的查找速度就没那么快了,在使用find查找时,大致可以分为6中情况。

基本语法

find [参数] [查找范围] [查找条件]

5.1 根据文件的大小查找

语法和上面的一样,所使用的参数为

  • -size n : 文件大小,单位为数据块

    • +n :大于n
    • -n :小于n
      -n: 等于n

注:1数据块 =512字节 =0.5KB,故1KB等于2数据块

案例

查找当前目录小文件大于200MB的文件

200MB=204800KB=409600块

#在查找大于200MB的没有
[root@root itbestboy]# find -size +409600
#改为查找大于100MB的没有
[root@root itbestboy]# find -size +204800
./jdk-8u221-linux-x64.rpm

5.2 根据文件的所属主和所属组查找

语法和上面的一样,所使用的参数为

  • -user 文件所属主

  • - group 文件所属组

案例

1.查找当前目录下文件的所属主为anmious的文件

#查看当前目录下文件的详细信息
[root@root itbestboy]# ll
total 186540
drwxr-xr-x 9 root    root      4096 Jul  3 22:25 apache-tomcat-9.0.4
-r--rw-rw- 1 anmious 2021        20 Jul 27 00:43 hello.java

#查找当前目录下文件的所属主为anmious的文件
[root@root itbestboy]# find -user anmious
./hello.java

2.查找当前目录下文件的所属组为2021的文件

#查看当前目录下文件的详细信息
[root@root itbestboy]# ll
total 186540
drwxr-xr-x 9 root    root      4096 Jul  3 22:25 apache-tomcat-9.0.4
-r--rw-rw- 1 anmious 2021        20 Jul 27 00:43 hello.java
#查找当前目录下文件的所属组为2021的文件
[root@root itbestboy]# find -group 2021
./hello.java

5.3 根据文件或目录名查找

语法和上面的一样,所使用的参数为

  • -name 不区分大小写
  • -iname 区分大小写

注:在这里可以使用一些通配符

  • 星(*)代表所有
  • 问号(?) 代表单个字符

案例

1在/home/itbestboy/目录中查找所有以ap开头的文件

[root@root /]# find /home/itbestboy/ -iname ap*
/home/itbestboy/apache-tomcat-9.0.48.tar.gz
/home/itbestboy/apache-tomcat-9.0.48
/home/itbestboy/apache-tomcat-9.0.48/work/Catalina/localhost/ROOT/org/apache
/home/itbestboy/apache-tomcat-9.0.48/webapps/docs/appdev
/home/itbestboy/apache-tomcat-9.0.48/webapps/docs/apr.html
/home/itbestboy/apache-tomcat-9.0.48/webapps/docs/api
/home/itbestboy/apache-tomcat-9.0.48/webapps/examples/WEB-INF/jsp/applet
/home/itbestboy/apache-tomcat-9.0.48/webapps/examples/jsp/plugin/applet
[root@root /]#
5.4 根据文件的类型查找

语法和上面的一样,所使用的参数为

  • -type 文件的类型。d:目录 f :文件 l:软连接 c: 字型装置文件 b: 区块装置文件

案例

1在/home/itbestboy/目录中查找所有的文件

[root@root /]# find /home/itbestboy/ -type f
/home/itbestboy/jdk-8u221-linux-x64.rpm
/home/itbestboy/apache-tomcat-9.0.48.tar.gz
/home/itbestboy/hello.java
/home/itbestboy/test02/helloTwo.java
/home/itbestboy/apache-tomcat-9.0.48/CONTRIBUTING.md
/home/itbestboy/apache-tomcat-9.0.48/README.md
/home/itbestboy/apache-tomcat-9.0.48/BUILDING.txt
/home/itbestboy/apache-tomcat-9.0.48/work/Catalina/localhost/ROOT/org/apache/jsp/index_jsp.java
/home/itbestboy/apache-tomcat-9.0.48/work/Catalina/localhost/ROOT/org/apache/jsp/index_jsp.class
/home/itbestboy/apache-tomcat-9.0.48/bin/bootstrap.jar
/home/itbestboy/apache-tomcat-9.0.48/bin/makebase.bat
/home/itbestboy/apache-tomcat-9.0.48/bin/configtest.sh
/home/itbestboy/apache-tomcat-9.0.48/bin/catalina-tasks.xml
/home/itbestboy/apache-tomcat-9.0.48/bin/version.sh
/home/itbestboy/apache-tomcat-9.0.48/bin/shutdown.sh
/home/itbestboy/apache-tomcat-9.0.48/bin/version.bat
/home/itbestboy/apache-tomcat-9.0.48/bin/commons-daemon.jar
/home/itbestboy/apache-tomcat-9.0.48/bin/startup.sh
/home/itbestboy/apache-tomcat-9.0.48/bin/ciphers.bat
/home/itbestboy/apache-tomcat-9.0.48/bin/startup.bat
..................
5.5 根据节点查找

语法和上面的一样,所使用的参数为

  • -inum n :n为节点数,不是任意的

注:可以通过使用ll -i命令查看节点数。

案例

查找/home/itbestboy/目录下节点数为1326731的文件

[root@root itbestboy]# ll -i
total 186540
1315539 drwxr-xr-x 9 root    root      4096 Jul  3 22:25 apache-tomcat-9.0.48
1313731 -rw-r--r-- 1 root    root  11489338 Jul  3 20:49 apache-tomcat-9.0.48.tar.gz
1326730 -r--rw-rw- 1 anmious 2021        20 Jul 27 00:43 hello.java
1313732 -rw-r--r-- 1 root    root 179505388 Jul  3 20:50 jdk-8u221-linux-x64.rpm
1326543 drwx--x--x 2 root    root      4096 Jul 27 14:12 test01
1326731 drwxr-xr-x 2 root    root      4096 Jul 28 21:12 test02
[root@root home]# find itbestboy/ -inum 1326731
itbestboy/test02
5.6 组合查找

语法和上面的一样,所使用的参数为

  • -a 表示两个条件都满足,相当于and
  • -o 表示满足其一即可,相当于or

案例

在当前目录下,查找大于100MB小于200MB的文件

[root@root itbestboy]# find -size +204800 -a -size -409600
./jdk-8u221-linux-x64.rpm

  1. 1数据块=512B=0.5KB
  2. 1KB等于2个数据块。

Linux基本命令之用户及用户组命令:------------------------------------------------------------《加载完成》----------------------------------------------------------

在这里插入图片描述

在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值