
我正在透過 SSH 連接到一台機器來完成一些工作。在我的主目錄中,我以前有一個子目錄,我們可以將其稱為我可以使用與任何其他目錄(即)一樣的方式myDirectory
從目錄內移動到的子目錄。home
cd
cd ./myDirectory
現在,當我運行命令時,出現錯誤:
“myDirectory 不是目錄”
當我運行時,ls
它myDirectory
的顏色編碼與其他目錄不同,並且與以前不同。我能但是,運行mv someFile ./myDirectory
,最近以這種方式移動了許多文件(我現在需要訪問)。
因此,myDirectory
顯然指向一個目錄,但不再指向一個目錄~/myDirectory
。我相信我理解這個問題,但是我不確定使用什麼命令來存取該目錄。我如何存取該目錄和/或確定其新位置?
運行這個命令:
ls -ld myDirectory
生產:
-rw-rw-r-- 1 myUsername myUsername 15029 Nov 2 17:57 myDirectory
答案1
indicates-
的輸出中的第一個是ls -ld myDirectory
myDirectory
常規文件,不是目錄。
我只能推測這是怎麼發生的。一種可能性是您(或某人/某物)重命名/移動/刪除了原始目錄myDirectory
,因此myDirectory
那裡沒有名為的條目;然後你將一些常規文件重命名someFile
為myDirectory
.
mv someFile ./myDirectory
重命名someFile
為myDirectory
.名為(如果存在)的舊常規檔案myDirectory
遺失。這意味著如果您以這種方式重命名多個文件,則只能輕鬆恢復最後一個文件;它在名字下面myDirectory
。
為了避免此類事故,當您引用您認為是目錄的內容時,請添加尾部斜杠。如果你這樣做了
mv someFile ./myDirectory/
並且./myDirectory
不是目錄,該工具會抱怨而不移動任何內容。
到目前為止,我們假設someFile
是一個常規文件。如果它可以是目錄類型(這也是一個文件)然後(取決於你想做什麼)附加可能會更好/.
代替/
。