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

3

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

"Sep 19 18:50 "

Eu tentei deletá-lo via sftp.

Tentei entrar em SSH e delete com rm -rf como root

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

Se eu-ls-lo mostra 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 ..

    
por Keelan 20.09.2014 / 01:25

5 respostas

1
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 seria apenas em branco (espaço), mas tomou a data de criação da pasta.

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

Obrigado pela ajuda!

    
por Keelan 20.09.2014 / 17:46
5

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

Eu criei uma nova pasta tmp e, em seguida, criei um único arquivo foo nessa pasta. Então eu sftp 'd in, cd ' d tmp , e corri 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

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

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

  • foo , o arquivo que criei.

  • .. , que representa o diretório parent (ou seja, a pasta um 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 de / na árvore de diretórios. Então - e só então - .. representa o mesmo diretório que . .)

  • . , que representa o diretório atual (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
    

ls mostra apenas as entradas . e .. quando o sinal -a é fornecido (ou quando você explicitamente fornece seus nomes ou um padrão que os corresponda, após ls na linha de comando) . Isso é verdade tanto para o comando ls em sftp quanto para o ls comando emitido em uma sessão de login completa com um prompt de shell regular.

    
O
por Eliah Kagan 20.09.2014 / 01:51
3

Você está interpretando mal a saída de 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.

    
por hmayag 20.09.2014 / 01:51
1

Eu acho que é devido aos espaços que você tenta:

sudo rm -rf "/home/user/Downloads/manual/Sep 19 18:50"
    
por meda 20.09.2014 / 01:36
1

Eu acredito que é uma pasta vazia. A parte .. significa que você pode "subir uma etapa" na árvore de arquivos se digitar cd ..

    
por MuffinStateWide 20.09.2014 / 01:51