無法刪除目錄,不存在?

無法刪除目錄,不存在?

不知怎的,當我透過 sftp 登入時,這個資料夾就被建立了。

"Sep 19 18:50 "

我嘗試透過 sftp 刪除它。

嘗試以 root 身分透過 SSH 登入並使用 rm -rf 刪除

Error:  rm /home/user/Downloads/manual/Sep 19 18:50  : no such file or directory

如果 i ls -al 它會在那裡顯示。

root@ndsdsd:/home/user/Downloads/manual# ls -al
total 32
drwxrwxr-x 3 keelan keelan  4096 Sep 19 18:50
drwxrwxr-x 3 keelan keelan 12288 Sep 20 07:56 .
drwxr-xr-x 8 keelan keelan 16384 Sep 19 23:11 ..

答案1

我不認為你真的有一個名為Sep 19 18:50.

我建立了一個新資料夾,然後在該資料夾中tmp建立了一個檔案。foo然後我sftp就進去cd了,tmp跑了ls -l

drwxrwxr-x    2 ek       ek           4096 Sep 19 19:39 .
drwxr-xr-x   30 ek       ek           4096 Sep 19 19:39 ..
-rw-rw-r--    1 ek       ek              0 Sep 19 19:39 foo

您會注意到所有條目都顯示日期和時間。這不是它們名稱的一部分,只是它們被標記為最後一次修改的時間。

名稱位於其右側,以空格分隔。因此有三個條目:

  • foo,我創建的文件。

  • ..,這代表家長目錄(即上面的資料夾):

    sftp> pwd
    Remote working directory: /home/ek/tmp
    sftp> cd ..
    sftp> pwd
    Remote working directory: /home/ek
    

    (除非您位於 中。目錄樹中/上面沒有任何內容。然後 - 並且只有那時 -代表與 相同的目錄。)/...

  • .,這代表目前的目錄(即您現在所在的目錄)。

    sftp> cd tmp
    sftp> pwd
    Remote working directory: /home/ek/tmp
    sftp> cd .
    sftp> pwd
    Remote working directory: /home/ek/tmp
    

ls僅當提供標誌時(或當您在命令列上明確給出它們的名稱或匹配它們的模式時)才顯示.和條目。命令in和..-alslssftpls使用常規 shell 提示符號在完整登入工作階段上發出的命令。

答案2

您誤解了 的輸出ls。實際的目錄名稱是..,它是一個特殊的目錄,用於在檔案系統中導航(就像當您鍵入cd ..向上一級一樣)。每個子目錄都有一個。Sep 19 18:50只是目錄的建立日期。

答案3

我認為這是由於空格所致,請嘗試以下操作:

sudo rm -rf "/home/user/Downloads/manual/Sep 19 18:50"

答案4

root@dsadwsd:/home/user/Downloads/manual# ls -al
total 32
drwxrwxr-x 3 keelan keelan  4096 Sep 19 18:50
drwxrwxr-x 3 keelan keelan 12288 Sep 20 07:56 .
drwxr-xr-x 8 keelan keelan 16384 Sep 19 23:11 ..

當我強調:

drwxrwxr-x 3 keelan keelan  4096 Sep 19 18:50

末尾有一個空格。所以我做了:

root@dsadwsd:/home/user/Downloads/manual# rm -rf " "

這刪除了該資料夾。奇怪的是,資料夾名稱不僅是空白(空格),而且還採用了資料夾建立日期。

我現在可以透過 sftp 建立一個新資料夾並以空格作為名稱來複製此內容,它將資料夾名稱變更為建立日期。

謝謝您的幫忙!

相關內容