Como você excluiria uma pasta chamada * in / from bash?

8

Digamos que eu tinha uma pasta chamada *sob /. Eu sei que comandos comuns como rm -rf * não funcionam. Qualquer ajuda?

user160936
fonte
2
Tecnicamente, rm *funcionaria para excluir essa pasta.
Coronel Panic

Respostas:

7

use este comando curto:

rm /\*
Sarja
fonte
1
Isso não vai funcionar - é um diretório.
precisa saber é o seguinte
1
Em seguida, use 'rmdir / \ *'. A outra opção é usar 'rm -rf / \ *'. Mas fazer o último é perigoso se você cometer um erro.
Serge
14

Você pode usar aspas simples para impedir o processamento pelo shell.

rm -r '/*'

Teste-o com segurança usando ls(em pastas que contêm arquivos):

$ ls '*'
ls: *: No such file or directory

Nesse caso, aspas duplas também funcionariam, mas se houvesse um $envolvido, elas não funcionariam, pois o shell assumiria que é uma variável:

$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory

Para o GNU rm, você também pode adicionar --antes dos argumentos do nome do arquivo para impedir que eles sejam analisados ​​como argumentos. Isso permitirá que você exclua arquivos nomeados -rfsem problemas.

Daniel Beck
fonte
Não requerido. Você pode simplesmente escapar do '*' para que ele não seja expandido pelo shell, como Serge respondeu.
darnir
5
@ Darnir Você não precisa usá-lo se não gostar. Mas você precisa saber quais caracteres escapar ao usar a abordagem de Serge (considerar &) e escapá-los individualmente, o que pode facilmente se tornar mais esforço do que citar uma vez. Por isso, considero que a fuga individual é inferior e postei essa alternativa.
Daniel Beck
3
@ Emerge Não estou dizendo que sua resposta é ruim. Faz o trabalho e foi aceito . No entanto, se houver várias maneiras (razoavelmente diferentes) de conseguir algo com diferentes prós e contras, fique à vontade para listar todas elas. Eles podem não funcionar em todas as situações, por isso é bom ter alternativas para escolher. Observe também que usuários com problemas semelhantes (não idênticos) podem chegar a uma pergunta do Google. Também é uma boa idéia ampliar o escopo se isso levar a perguntas que podem ajudar mais pessoas. Escrever respostas de escopo mais amplo é um começo por aí.
Daniel Beck
1
Eu não tinha como objetivo obter todas as minhas respostas aceitas e com a maior dor. Passo alguns dias (neste fim de semana) com alguns desses sites. A primeira impressão foi que eu posso compartilhar com as pessoas o meu conhecimento, por isso comecei a fornecer respostas. No SO, consegui 760 pontos nesses três dias. Sim, algumas das minhas respostas não eram de alta qualidade em diferentes pontos. Mas todos eles estavam corretos. Mas agora vejo que a maioria das pessoas que colocam perguntas aqui - são estudantes que não querem gastar um segundo para encontrar uma solução. Para que vou gastar meu tempo?
23412 Serge Serge
1
@ Emerge Não tenho certeza sobre o que são seus comentários. Pelo que vi depois que você mencionou, você teve um começo impressionante de contribuição para os sites. Se houver algo em que eu possa ajudá-lo a usar os sites ou algo que você queira discutir, sinta-se à vontade para me enviar um ping no bate-papo. Eu estou no UTC + 2, então você pode não receber uma resposta muito em breve. Em relação às perguntas dos "iniciantes": lembre-se de que algumas informações não são fáceis de descobrir. A leitura da bashpágina de manual completa demora um pouco, se você não souber o que procurar.
Daniel Beck