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

在使用linux命令的时候,一时有点搞不清*的用法,于是整理记录下,在做jenkins 持续集成时还是很有用的

“*”在通配符中是最常用的一种,主要整理下在使用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文件    
---------------------
原文链接:https://blog.csdn.net/qq_26878363/article/details/81635139

https://www.cnblogs.com/ssj0723/p/10682472.html

原文地址:https://www.cnblogs.com/muzipaopao/p/11310958.html