Como posso apagar arquivos no terminal fluentemente?

24

Por exemplo, eu faço

cd Music
dir

e obtenha

123456789.mp3
qweerkrtrkgljdjfkdjfdkf.mp3
a.mp3
b.mp3
blabla.mp3

como excluo, digamos, arquivos qweerkrtrkgljdjfkdjfdkf.mp3 e blabla.mp3 com menos esforço?

UPD : a ideia-chave é que os nomes dos arquivos podem ser longos, então, na verdade, não quero digitá-los.

    
por Chelios 14.11.2012 / 20:24

7 respostas

40

Tente isto:

rm -f 2.mp3 blabla.mp3

rm remove arquivos, e -f o força (para que não pare, perguntando se você deseja excluir o arquivo). Se isso não estiver no seu diretório inicial, adicione sudo . Aqui está outra maneira que pode exigir menos digitação (um pouco mais difícil de ler)

rm -f {2,blabla}.mp3

Isso se expande para 2.mp3 blabla.mp3 . Se você quiser usar nomes de arquivos maiores, poderá usar o caractere curinga ( * ), que retornará todos os itens que iniciam / terminam com o nome de arquivo escolhido. Por exemplo:

rm -f bla*

removerá todos os arquivos que começam com bla . Se você usou isso:

rm -f *.mp3

Ele removerá todos os arquivos terminados em .mp3 . Se você usou isso:

rm -f bla*.mp3

Ele removerá todos os arquivos, começando com bla e terminando com .mp3 . As possibilidades são quase infinitas com o caractere * : P

    
por MiJyn 14.11.2012 / 20:26
4

Assim como todo mundo diz, rm -f <file> é o caminho a ser seguido, como disse o stonedsquirrel, você pode digitar as primeiras letras e acessar <TAB> e preencher automaticamente o nome do arquivo.

    
por Spice 14.11.2012 / 20:46
0

Tente isto: rm qweer*.mp3 bla*.mp3

Cuidado: Se houver um nome de arquivo iniciado com estas letras, este comando irá detetar isso.

    
por Hckr 14.11.2012 / 20:29
0

Como @Hckr já mencionou, não há semelhanças entre o nome. Você pode usar curingas, por exemplo rm *.mp3 removeria todos os arquivos cujos nomes terminam com .mp3 . Se não houver tais semelhanças, você precisará especificar cada arquivo individualmente.

Você pode, de fato, salvar alguma digitação usando a conclusão de tabulação. No seu exemplo, se você digitar rm q e pressionar a tecla de tabulação, ela será concluída em rm qweerkrtrkgljdjfkdjfdkf.mp3 . Isso funciona porque é o único arquivo que começa com q . Se você digitar rm b , isso não será suficiente para a conclusão porque você tem dois arquivos que começam com b.

    
por André Stannek 14.11.2012 / 20:36
0

Fácil, rm 2.mp3 blabla.mp3 .

CUIDADO: Isso causará exclusão permanente!

Para arquivos:

1234.MP3 1345.MP3 1234.MP4

rm -f 1*3*.MP3 apagaria os 2 primeiros, sem confirmação, PERMANENTLY!

* é qualquer coisa em branco, por isso ainda exclui o segundo.

    
por user92200 14.11.2012 / 20:27
0

O que eu faria é colocar os arquivos que você não deseja excluir em uma pasta antes de executar esses comandos, se houver menos deles do que você deseja se livrar. Mas, no final das contas, uma combinação de Wildcards ("*" e "?") E instruções de definição executariam o trabalho com facilidade. Depende apenas dos arquivos que você deseja manter ou de se livrar.

Já tentou arrastar os arquivos para apagar na janela do aplicativo do terminal? Pode clonar o diretório, bem como o estilo do caminho do nome do arquivo para você. No entanto, se você estiver excluindo apenas 2 ou 3 arquivos, espero que seja apenas para fins de aprendizado. Caso contrário, eu digitaria os caminhos e o nome do arquivo manualmente usando a tecla "TAB" no teclado. diretório atual que começa com o que você já digitou.

    
por R4GN4R 20.07.2013 / 23:44
0

Conclusão de tabulação é o caminho . Está habilitado para bash no Ubuntu por padrão. Funciona assim:

$ rm bl<tab>

será alterado automaticamente para

$ rm blabla.mp3

Se o nome do arquivo for ambíguo, você precisa pressionar tab mais uma vez para ver uma lista de possíveis nomes de arquivos:

$ rm b<tab><tab>
blabla.mp3  b.mp3

Isso também funciona para vários outros comandos, como apt-get , service e assim por diante.

Se você tiver interesse em uma conclusão de guia ainda mais sofisticada, confira zsh com a configuração do Grml . alucinante.

    
por kraxor 08.07.2014 / 20:06