不知怎的,當我透過 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和..
-a
ls
ls
sftp
ls
使用常規 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 建立一個新資料夾並以空格作為名稱來複製此內容,它將資料夾名稱變更為建立日期。
謝謝您的幫忙!