touch和mkdir建的文檔文件,用find后用絕對(duì)路徑root刪除不掉mkdir建立的文件,但是touch可以刪除掉,但是用(.)可以刪除掉,為什么呢
[root@localhost ~]# touch qz
[root@localhost ~]# mkdir qa
[root@localhost ~]# ls
? qa ?qz install.org
[root@localhost ~]# find /root -name qz -exec rm -rf {} \;
[root@localhost ~]# ls
? qa install.org
[root@localhost ~]# find /root -name qa -exec rm -rf {} \;
find: “/root/qa”: 沒有那個(gè)文件或目錄
[root@localhost ~]# find . -name qa -exec rm -rf {} \;
[root@localhost ~]# ls
? install.org
2017-08-16
?已經(jīng)解決了:看下面大佬的回答
其實(shí)?這還.?還是絕對(duì)路徑?jīng)]關(guān)系??在你所謂報(bào)錯(cuò)的那一次?其實(shí)已經(jīng)刪除了qa
【樹干】xx(xxxxxxxxx)??21:36:09
只所以會(huì)出這個(gè)錯(cuò)誤?你得注意?這個(gè)錯(cuò)誤?不是rm?命令生成的?是find命令產(chǎn)生的??這就涉及到find的工作機(jī)制?
find?/root?-name?qa?-exec?rm?-rf?{}?\;
首先找到了一個(gè)文件(一切皆文件,包括目錄)?qa??所以/root/qa作為參數(shù)傳遞給了?rm?-rf?然后qa目錄就被刪除了?但是?注意?find查找文件是遞歸的?它會(huì)繼續(xù)在qa這個(gè)目錄下?去查找qa?
【樹干】xx(xxxxxxxx)??21:37:44
然而?qa這個(gè)目錄?卻在上一步被刪除了?所以find?懵逼了?說沒有/root/qa這個(gè)目錄??你讓我去哪查??這個(gè)錯(cuò)誤?其實(shí)和你手動(dòng)刪除qa目錄后?find?/root/qa?-name?*?是一樣的 ?
2017-08-16
贊一個(gè),我也很想知道答案。