Centos定位查找文件命令

您所在的位置:网站首页 css位置命令 Centos定位查找文件命令

Centos定位查找文件命令

2024-06-22 10:05| 来源: 网络整理| 查看: 265

定位、查找文件的命令

 

命令 功能 命令 功能 which 从path中找出文件的位置 find 找出所有符合要求的文件 whereis 找出特定程序的路径 locate   从索引中找出文件位置 1.which命令 语法: which command 说明: which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 实例: [root@localhost /]# which ls alias ls='ls --color=auto' /bin/ls [root@localhost /]# which nginx /usr/bin/nginx 2.whereis命令 语法: whereis [option] name 说明:

找出特定程序的可执行文件、源代码文件以及manpage的路径。你所提供的name会被先除去前置的路径以及任何.ext形式的扩展名。

whereis 只会在标准的Linux目录中进行搜索。

常用选项

-b

只搜索可执行文件。

-m

只搜索manpage。

-s

只搜索源代码文件。

-B directory

更改或限定搜索可执行的文件的目录。

-M directory

更改或限定搜索manpage的目录。

-S directory

更改或限定搜索源代码文件的目录。

实例: [root@localhost /]# whereis grep grep: /bin/grep /usr/share/man/man1p/grep.1p.gz /usr/share/man/man1/grep.1.gz [root@localhost /]# whereis -b nginx nginx: /usr/bin/nginx /usr/local/nginx 3.find命令 语法: find paths expression [action] 说明:

以paths为搜索起点逐层往下找出每一个符合expression条件的文件,并对该文件执行action所代表的动作。expression是搜索条件,它由一个代表匹配项目的选项以及一个代表匹配模式的参数构成。

$ find

  - : 所要搜索的目录及其所有子目录。默认为当前目录。

  - : 所要搜索的文件的特征。

  - : 对搜索结果进行特定的处理。

如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

action是处理动作,它有一个代表“处理方式”的选项以及一个操作参数构成。若不指定action,则默认动作是显示出文件名。

常用的搜索条件

-name pattern  -path pattern   -lname pattern

找出名称、路径名称或符号链接的目标匹配pattern模式的文件。pattern可以包含shell的文件名通配符,路径是相对于搜索起点的。

常见处理动作

-print

显示出文件的相对路径(相对于搜索起点)。

-exec cmd /;

执行指定的shell命令。若cmd含有任何shell特殊字符,则他们之前都必须加上/符号,以免shell立刻执行他们。在cmd里,可以用”{}”符号(包括双引号)表示find所找出的文件。

1.按照文件名查找

    (1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找     (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf     (3)find /etc -name '*srm*'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件     (4)find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串‘srm’的文件

    2.按照文件特征查找     

    (1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)     (2)find / -atime -2   # 查找在系统中最后48小时访问的文件     (3)find / -empty   # 查找在系统中为空的文件或者文件夹     (4)find / -group cat   # 查找在系统中属于 group为cat的文件     (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)     (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件     (7)find / -user fred   #查找在系统中属于fred这个用户的文件     (8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)     (9)find / -size -1000k   #查找出小于1000KB的文件

    3.使用混合查找方式查找文件

    参数有: !,-and(-a),-or(-o)。

    (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件          (2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件          (3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件

实例: [root@localhost /]# find / -name nginx.conf /www/server/nginx/conf/nginx.conf /www/server/nginx/src/conf/nginx.conf [root@localhost /]# find /www/server/nginx/conf -name nginx.conf /www/server/nginx/conf/nginx.conf 4.locate命令 语法:locate patterns 说明: locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。 实例: [root@localhost /]# locate nginx.conf /www/server/nginx/conf/nginx.conf /www/server/nginx/conf/nginx.conf.default /www/server/nginx/src/conf/nginx.conf 5.type命令 说明: type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。 实例: [root@localhost /]# type cd cd is a shell builtin [root@localhost /]# type ls ls is aliased to `ls --color=auto' [root@localhost /]# type grep grep is /bin/grep cd是shell的自带命令(build-in) grep是一个外部命令,并显示该命令的路径。 [root@localhost /]# type -p grep /bin/grep 加上-p参数后,就相当于which命令。 本文主要参考了以下两篇博文,在此对两位博主表示感谢。 http://blog.csdn.net/codingwill1991/article/details/50990879 https://www.cnblogs.com/webnote/p/5743900.html


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3