Não é possível excluir o diretório, não existe?

Não é possível excluir o diretório, não existe?

De alguma forma, esta pasta foi criada quando eu estava logado via sftp.

"Sep 19 18:50 "

Tentei excluí-lo via sftp.

Tentei fazer SSH e excluir com rm -rf como root

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

Se eu for -al, isso será mostrado lá.

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 ..

Responder1

Eu não acho que você realmente tenha um arquivo chamado Sep 19 18:50.

Criei uma nova pasta tmpe criei um único arquivo foonessa pasta. Então eu entrei sftpe corri :cdtmpls -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

Você notará que todas as entradas mostram uma data e hora. Isso não faz parte do nome, é apenas a hora em que foram marcados como tendo sido modificados pela última vez.

O nome está à direita, separado por um espaço. Assim, existem três entradas:

  • foo, o arquivo que criei.

  • .., que representa opaidiretório (ou seja, a pasta acima):

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

    (Exceto quando você está em /. Não há nada acima /na árvore de diretórios. Então - e somente então - ..representa o mesmo diretório que ..)

  • ., que representa oatualdiretório (ou seja, o diretório em que você está agora).

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

lsmostra apenas as entradas .e ..quando o -asinalizador é fornecido (ou quando você fornece explicitamente seus nomes, ou um padrão que corresponda a eles, após lsa linha de comando). Isso é verdade tanto para o lscomando in sftpquanto para olscomando emitido em uma sessão de login completa com um prompt de shell regular.

Responder2

Você está interpretando mal a saída do ls. O nome real do diretório é ..e é um diretório especial usado para navegar pelo sistema de arquivos (como quando você digita cd ..para subir um nível). Cada subdiretório possui um. Sep 19 18:50é apenas a data de criação do diretório.

Responder3

Acho que é por causa dos espaços, tente isso:

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

Responder4

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 ..

Quando destaquei:

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

Havia um espaço no final. Então eu fiz:

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

Isso removeu a pasta. Estranho como o nome da pasta não ficava apenas em branco (espaço), mas levava a data de criação da pasta.

Agora posso replicar isso criando uma nova pasta via sftp com um espaço como nome, ele altera o nome da pasta para a data de criação.

Obrigado pela ajuda!

informação relacionada