Como remover um arquivo do usr / share / applications no ubuntu 14.04

0

Eu examinei esta página ( Como remover um único arquivo de / diretório usr? ) e tentou

sudo rm /usr/share/applications/Eclipse Mars C/C++.desktop 

no terminal, mas não funcionou.

Eu acho que o motivo é que eu uso uma versão diferente (a minha é o Ubuntu 14.04).

Existe alguma solução ou qualquer outro comando para o Ubuntu 14.04 para remover os arquivos que não são desejados?

    
por NoWeDoR 16.09.2015 / 20:41

3 respostas

1

É porque o nome do arquivo contém espaços. Portanto, o comando rm interpreta como vários argumentos, o que não é intencional e obviamente falha.

Você precisa colocar o nome do arquivo entre aspas para ser passado como argumento único:

sudo rm "/usr/share/applications/Eclipse Mars C/C++.desktop"

Mas, como especialmente @JacobVlijm apontou, Eclipse Mars C/C++.desktop não é um nome de arquivo válido, por causa do único caractere que não pode ser incluído nos nomes de arquivos, porque ele separa os diretórios: / (barra). / p>

Se o comando descrito acima realmente funcionou, significa que você tem o arquivo C++.desktop dentro do diretório /usr/share/applications/Eclipse Mars C , o que é muito improvável, já que esta não é a estrutura recomendada para os diretórios .../applications .

Mas se assumirmos que esse arquivo realmente existe conforme descrito no parágrafo anterior, existe outra maneira possível de inserir o nome do arquivo corretamente. Você pode escapar todos os espaços com \ (barra invertida) em vez de citar o nome inteiro:

sudo rm /usr/share/applications/Eclipse\ Mars\ C/C++.desktop

Mas observe que rm apenas remove arquivos, não diretórios. Como nós assumimos (porque todo o resto é teoricamente impossível) que Eclipse Mars C/C++.desktop não é um arquivo, mas um arquivo em um subdiretório, nós não alcançamos o que queremos ainda, pois ainda haveria o diretório (provavelmente vazio) /usr/share/applications/Eclipse Mars C restante. Para remover também este subdiretório e todos os arquivos contidos (para que você possa omitir os comandos acima para excluir apenas o arquivo), temos que usar uma das variantes de comando abaixo:

sudo rm -r "/usr/share/applications/Eclipse Mars C"
sudo rm -r /usr/share/applications/Eclipse\ Mars\ C

Observe que agora não nos referimos ao nome do arquivo, mas apenas ao nome do diretório. E usamos o parâmetro -r para rm , que significa "excluir recursivamente".

    
por Byte Commander 16.09.2015 / 20:46
1

Tente digitar o comando assim:

sudo rm /usr/share/applications/Eclipse\ Mars\ C

E pressione TAB . Ele será preenchido automaticamente e, nesse ponto, você deverá executar o comando e ele será removido. Colocá-lo entre aspas pode funcionar, mas há também um / no nome, por isso pode causar erros, por isso é melhor deixar Bash lidar com isso para você.

    
por FireFaced 16.09.2015 / 20:46
1

Tente:

sudo rm /usr/share/applications/Eclipse\ Mars\ C\/C++.desktop

Ou deixe o terminal escrever o nome digitando:

sudo rm /usr/share/applications/Eclipse

e pressionando TAB , caso eu esteja errado com as barras invertidas

    
por userDepth 16.09.2015 / 20:47