linux中find命令中-path 参数的作用中文介绍

find命令中-path 参数的作用(意思)解释
-path pattern
    File name matches shell pattern pattern. The metacharacters do not treat /' or .' specially; so, for example,
    find . -path './sr*sc'
    will print an entry for a directory called './src/misc' (if one exists). To ignore a whole directory tree, use -prune rather than checking every file in the tree. For example, to skip the directory `src/emacs' and all files and directories under it, and print the names of the other files found, do something like this:
    find . -path './src/emacs' -prune -o -print
意思就是说,find命令中用了-path 参数,则文件名是匹配shell通配符模式。这时候,元字符不能识别 '/ '  和 ' . '  。举个例子
假设/root 目录下有四个文件,其绝对路径分别为:
/root/src/misc
/root/src/test/misc
/root/src1misc
/root/test/src/misc
这时候输入下面的命令:
[root@dabu.info ~]# cd  /root
[root@dabu.info ~]#find . -path   './sr*sc' 
./src1misc
./src/misc
./src/test/misc  
命令运行输出的结果不是文件名,而是文件的路径
可见,文件夹符号/  在此时也可以用 * 通配符匹配,而且 * 是可以匹配n多个字符。上面的命令行的意思是是在当前目录下及子目录递归查找文件路径 匹配的文件,所以输出的是文件的路径。
因为是'./sr*sc'  ,所以 /root/test/src/misc这个文件不匹配,因为  ./   代表当前目录 (即/root) ,而 /root/test/src/misc不符合 ./sr的格式。
但是稍微改一下,如下:
[root@dabu.info ~]#find  .  -path  '*/sr*sc*'
./src1misc
./src/misc
./src/test/misc 
./test/src/misc 
解释:因为" * " 可以匹配 "." 和  "  / ", 我们将上面的'*/sr*sc*'  改为  '*sr*sc*'   。结果也是一样的。
注意:也可以直接用绝对路径
[root@dabu.info ~]#find /root   -path  '*/sr*sc*'

[root@dabu.info ~]#find  /root   -path  '/root/sr*sc*'
/root/src1misc
/root/src/misc
/root/src/test/misc
此时, /root/test/src/misc 是不符的'/root/sr*sc*'的格式的。
所以Linux / Unix:递归查找并列出所有(全部)隐藏文件的方法可以如下:
[root@dabu.info ~]#find  /要查找的文/件/夹/     -path  '*/.*'   -print
教程完!
-path更多的是配合 -prune -o  来在操作时排除指定的文件。这里就不说了,大家自行百度去吧。

时间: 2024-10-27 07:24:18

linux中find命令中-path 参数的作用中文介绍的相关文章

linux中ln命令的-T参数作用

问题描述 linux中ln命令的-T参数作用 我用man ln命令查看用法,其中对-T参数的解释是 -T, --no-target-directory treat LINK_NAME as a normal file 不明白它的意思,请大家可否举例说明下什么时候才会用到这个参数 解决方案 将链接名当作普通文件(在对目录进行符号链接时要用到此选项) 解决方案二: 我尝试在本目录下ln -s ../ link_a 和 ln -s -T ../ link_b,然后再用ls -al查看link_a和li

【linux】free命令中cached和buffers的区别

一.命令 1 2 3 4 5 [root@localhost ~]# free -m              total       used       free     shared    buffers     cached Mem:          7869       7651        218          1        191       5081 -/+ buffers/cache:       2378       5490 Swap:          478

全面解析Linux的grep命令中正则表达式的用法

  Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式extended regular expressions,而且 GNU grep 在所有的 Linux 系统中都是默认有的.Grep 命令被用于搜索定位存储在您服务器或工作站上的任何信息. 正则表达式 正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列.下面是范例: 代码如下: ^w1 w1|w2 [^ ] grep 正则表达式示例 在 /etc/passswd 目录中搜索 'vivek' 代码如下: grep

Linux系统dd命令功能及参数介绍

dd命令功能 把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能.需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉.系统默认使用标准输入文件和标准输出文件. dd命令使用方法 dd [选项] 例如: dd if=/dev/zero of=/tmp/swap bs=1MB count=1024 数据备份与恢复

Linux下chkconfig命令例子与参数详解

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法: chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返回true,否则返回false.如果在

Linux中crontab命令参数与使用说明

定时任务常用的一个功能,详细如下: 服务的启动和停止 cron服务是linux的内置服务,但它不会开机自动启动.可以用以下命令启动和停止服务: Linux代码 /sbin/service crond start  /sbin/service crond stop  /sbin/service crond restart  /sbin/service crond reload 以上1-4行分别为启动.停止.重启服务和重新加载配置. 要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc

linux中ln 命令使用参数详解

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件. 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间.例如:ln –s /bin/less /usr/local/bin/less -s 是代号(symbolic)的意思.

Linux中ls命令的参数与返回结果完全解析

ls命令主要就是用来陈列出目录的详细信息. 在默认情况下是列出当前目录下的文件信息(不包含以.开头的文件, 文件夹),同时按字母顺序来排列条目. 语法如下 代码如下: ls [OPTION]... [FILE]... 参数介绍 (不包含过于生僻的) -a, --all 同时显示出以.开头的内容,包括.目录(当前目录)和..目录(父目录). -A, --almost-all 同时显示出以.开头的内容,不包括.目录和..目录. --author 在使用-l参数时同时显示出文件创建者. -B, --i

【原创】memcached 中的命令行参数解析

     本文主要是以 memcached 源码为例,讲解如何在 linux 下解析命令行参数.  安装 memcached 后,查看其可用选项:  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 [root@Be