当我通过 sftp 登录时,不知何故创建了这个文件夹。
"Sep 19 18:50 "
我尝试通过 sftp 删除它。
尝试通过 SSH 登录并以 root 身份使用 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
仅当提供了标志时(或者在命令行中明确给出它们的名称或与它们匹配的模式时),才会显示.
和条目。这对命令和..
-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 创建一个以空格为名称的新文件夹来复制此功能,它会将文件夹名称更改为创建日期。
谢谢您的帮助!