[20180707]刪除結尾帶.的檔案與目錄.txt

lfree發表於2018-07-07
[20180707]刪除結尾帶.的檔案與目錄.txt

--//在家裡整理電腦,發現一個結尾帶.的目錄,無法刪除.好不容易參考連結刪除掉.
--//參考連結:
--//自己做一些例子來說明情況:

1.環境:
D:\tmp>ver
Microsoft Windows XP [版本 5.1.2600]

2.測試1:

D:\tmp>mkdir aaa.

D:\tmp>mkdir aaa.
子目錄或檔案 aaa. 已經存在。

D:\tmp>mkdir aaa..
子目錄或檔案 aaa.. 已經存在。

D:\tmp>mkdir aaa...
子目錄或檔案 aaa... 已經存在。

D:\tmp>ls -l  | grep aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:06 aaa

--//實際上這樣建立的目錄名aaa(注意後面沒有點).
D:\tmp>rmdir aaa

D:\tmp>mkdir aaa......

D:\tmp>ls -l  | grep aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:08 aaa

--//說明如果建立目錄後面帶點,不管多少個點,不會建立後面帶點的目錄.

D:\tmp>rmdir aaa..
D:\tmp>ls -l  | grep aaa

3.測試2:
--//如果必須建立後面帶.的目錄執行如下,後面必須加斜線.

D:\tmp>ls -l  | grep aaa
D:\tmp>mkdir aaa.\
D:\tmp>mkdir aaa..\
D:\tmp>mkdir aaa...\
D:\tmp>mkdir aaa....\

D:\tmp>ls -l  | grep aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:10 aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:10 aaa.
drwxrwxrwx   1 user     group           0 Jul  7 15:10 aaa..
drwxrwxrwx   1 user     group           0 Jul  7 15:10 aaa...

--//你可以發現建立的目錄後面的點比實際上1個點.

D:\tmp>rmdir aaa..\
D:\tmp>ls -l  | grep aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:10 aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:10 aaa..
drwxrwxrwx   1 user     group           0 Jul  7 15:10 aaa...

--//刪除目錄也是一樣,刪除一個點的後面必須加2個點而且必須加斜線.
--//如果執行如下:
D:\tmp>rmdir aaa...

D:\tmp>ls -l  | grep aaa
ls: aaa..: No such file or directory
ls: aaa...: No such file or directory

--//奇怪,使用dir可以發現,感覺很奇怪...

D:\tmp>dir | grep aaa
2018-07-07  15:10    <DIR>          aaa..
2018-07-07  15:10    <DIR>          aaa...

--//實際上刪除的aaa目錄,如果在建立目錄aaa,ls -l 又能正常顯示.
D:\tmp>mkdir aaa
D:\tmp>ls -l | grep aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:19 aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:19 aaa..
drwxrwxrwx   1 user     group           0 Jul  7 15:19 aaa...

--//很明顯要刪除aaa...目錄,要後面加斜線.注意刪除目錄點的數量要在原來基礎上+1個點.

D:\tmp>rmdir aaa...\
D:\tmp>ls -l | grep aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:19 aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:19 aaa...

--//實際上刪除aaa..的目錄名.
D:\tmp>rmdir aaa....\
D:\tmp>ls -l | grep aaa
drwxrwxrwx   1 user     group           0 Jul  7 15:19 aaa

D:\tmp>rmdir aaa
D:\tmp>ls -l | grep aaa

4.測試3:
--//不要建立aux,com1,com2,prn,con和nul檔案和目錄.
D:\tmp>mkdir aux
目錄名無效。

D:\tmp>mkdir aux\
D:\tmp>dir | grep aux
2018-07-07  15:27    <DIR>          aux

D:\tmp>cd aux
拒絕訪問。

D:\tmp>cd aux\
目錄名無效。
--//在命令列無法進入.

D:\tmp>touch aux.txt
touch: aux.txt: Permission denied

D:\tmp>touch aux1.txt

--//也無法建立aux.txt之類的檔案.
D:\tmp>rmdir aux\
D:\tmp>dir | grep aux
2018-07-07  15:29                 0 aux1.txt

--//寫這麼多例子,有興趣大家自己測試吧.

--//另外我在另外一臺windows7機器測試,又是另外情況:

d:\tmp>ver
Microsoft Windows [版本 6.1.7601]

d:\tmp>mkdir bbb.\
d:\tmp>mkdir bbb..\
d:\tmp>mkdir bbb...\

d:\tmp>dir | grep bbb
2018/07/07  19:31    <DIR>          bbb
2018/07/07  19:31    <DIR>          bbb..
2018/07/07  19:33    <DIR>          bbb...

--//你可以發現建立的目錄後面的點比一樣,除了一個點沒有外..

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2157511/,如需轉載,請註明出處,否則將追究法律責任。

相關文章