【一些小常識】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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM