2021-01-11 Linux文件目录的通配符用法

2021-01-11  本文已影响0人  云若蓝

来自 【一些小常识】Linux文件目录的通配符用法/*

1.单独的“*”

这里指的是只有“ * ”出现的情况,默认为单独的一个,“ * ”没有和其它字符联合起来(表示目录的“/”除外)时,这种情况通配的是该目录下的所有非隐藏内容,包括非隐藏的目录和非隐藏的文件。

如:ls *的时候,相当于ls当前目录下的所有内容;

ls a* 因为星号表示一个或者多个字符,所以可以找到a开头的所有文件;

ls *a 但是以a结尾的没有,因为有文件的后缀,应该为ls *a.txt;

ls a表示中间段含有a的文件;

/a/* 匹配所有在a路径下的文件,不包括文件夹

/a/*.x 匹配所有在a路径下的.x文件

注意:“ * ”单独出现匹配目录下所有内容的用途十分广泛,用起来也很方便。但是这是个危险操作,操作时一定要“pwd”确认当前目录,或者使用绝对路径,再或者使用至少一级的可以确定目录路径的相对路径(比如rm –rf training/* 就很安全,因为知道training是自己建立的;但是rm –rf conf/* 就很危险,系统中有很多conf目录)。rm –rf *;mv *;chmod *;chown *这些命令,如果执行路径不对,而且执行者是root,那么都可以造成系统崩溃。

2.“.*”

表示的是该目录下所有的隐藏文件和目录以及”.”,”..”。可以尝试执行 ls ~/.*

3.“**”

  *   匹配0或者任意数量的字符         

  **    匹配0或者更多的目录 

如:

/**/a 匹配/b/a, /c/d/a, 和 /a,即匹配所有a文件夹,包括a为子文件夹的情况

/a/**/b 匹配所有以a为上层文件夹,b为子文件夹的情况

/a/** /* 匹配a路径下的任何文件和子文件,包括文件夹

/ ** /*.x 匹配任何的.x文件

上一篇 下一篇

猜你喜欢

热点阅读