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 来在操作时排除指定的文件。这里就不说了,大家自行百度去吧。
linux中find命令中-path 参数的作用中文介绍
时间: 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