Eu só notei que eu tenho um arquivo chamado ~
no meu ~
-diretório.
$ ls -la ~
...
-rw-r----- 1 x1 x1 733962240 Mar 1 17:55 ~
...
Qualquer ideia de como eu posso mv
ou rm
isto?
linux
bash
filesystems
scrrr
fonte
fonte
Respostas:
A melhor solução final quando se trata de arquivos que não podem ser excluídos por meios normais:
A primeira coluna mostrará o número de inode dos arquivos.
Isso excluirá o arquivo com o número de inode especificado após a verificação.
fonte
-delete
ao invés de-exec
, então percebi que você estava usandorm -i
o que é uma boa ideia, então retrocedi. Desculpa.Você deve poder se referir a esse arquivo como
~/~
(sem aspas) porque a expansão de til só aplica o til (~
) no início da palavra.fonte
rm ./~
, pela mesma razão que você disse./~
literalmente significa "um arquivo ou pasta chamado~
no diretório atual " . Não há hacks como caracteres de escape ou referências inode../~
faz. Depois de cinco anos, minha memória é um pouco confusa, mas eu acho que é por isso que eu sugeri~/~
ao invés do mais normal./~
: A questão refere-se especificamente a "um arquivo chamado~
em [OP's] diretório home "; não" no diretório atual ".Cite isso
rm '~'
) ou fugir dele (rm \~
).É sempre um desses (também para p. Ex.
$
) ou adicione--
para evitar que o nome do arquivo seja interpretado como argumento:rm -- -i
remove o arquivo chamado-i
; também é útil pararm -- *
quando você deseja excluir todos os arquivos no diretório atual: Não acidentalrm -f *
só porque um arquivo é chamado assim.fonte
--
apenas impede que os seguintes argumentos sejam interpretados como parâmetros - não impede que o shell execute sua expansão (por exemplo,*
), que é o que está acontecendo aqui. (Eu sei que você sugeriu isso como uma alternativa para outras situações, mas um aviso seria bom.)