我正在使用Ubuntu 16.04.3 LTS和ext4文件系統。爲什麼文件系統無法識別名爲../blah.sh的文件
當我作出這樣一個文件:
touch ../blah.sh
它不會顯示出來,當我使用:
ls -al
當我嘗試刪除該文件與:
rm * --> : rm: cannot remove '*': No such file or directory.
但是,當我刪除它:
rm ../blah.sh ---> it succeeds.
除了這個我可以用Vim編輯這個文件,把代碼放在那裏,然後運行它想:
./../blah.sh
這是怎麼可能的行爲?這是bash特定行爲還是來自操作系統?是否有可能隱藏這樣的文件?
你需要做'LS -al ..'或'ls -l命令../ blah.sh'看到在父目錄中的文件。 'ls -al'只在當前目錄「。」中查找。這適用於任何類型的Unix文件系統。如果你真的喜歡奧祕,如果你當前的目錄是'/'(根文件系統)並且你嘗試了這些操作,你會看到'blah.sh',因爲根目錄的父目錄是根目錄。 OTOH,你不應該在根目錄中搞亂,特別是不能寫權限(如超級用戶)。你犯了一個錯誤的危險太大,特別是如果你問這個問題。 –