Lista de argumentos -bash /bin /rm
- 1088
- 2
- Leroy Lebsack
Sintomas
Esta mensagem de erro aparece quando você tenta remover, mover ou copiar uma longa lista de arquivos. Ao usar seu shell, um comando só pode aceitar um número limitado de argumentos. Quando o número de argumentos fornecidos ao comando exceder o número permitido de argumentos, uma mensagem de erro será exibida:
-BASH: /BIN /RM: Lista de argumentos muito tempoComando Linux para encontrar seu limite para obter o máximo de argumentos:
# getConf arg_max 2097152
Exemplo:
# rm * -bash: /bin /rm: lista de argumentos muito tempo
Solução
Há um número de soluções para este problema. Em primeiro lugar, se não houver arquivos em um diretório que gostaríamos de manter, a melhor e mais rápida solução é simplesmente remover o diretório inteiro e recriá -lo novamente. Antes de prosseguir, verifique se o diretório não contém arquivos que você deseja manter e que você tome uma nota sobre uma permissões e propriedade deste diretório.
$ CD… / $ LS -D MyDirectory $ rm -fr MyDirectory $ mkdir myDirectory
A outra solução é envolver um loop para loop e remover todos os arquivos um é um:
$ para i em *; RM "$ i"; feito
ou muito mais rápido pelo uso de printf
e Xargs
:
$ printf '%s \ 0' * | XARGS -0 RM
ou
$ time eco -n * | tr "\ 0 '| xargs -0 rm
No entanto, a solução acima tem sua própria limitação, pois também pode remover arquivos que gostaríamos de manter se não houver expressão regular adequada no lugar. Quanto a um exemplo aqui, vamos remover apenas *.TXT
arquivos:
$ para i em *.TXT; RM "$ i"; feito
A última e a solução proposta é usar o Regex para dividir todo o arquivo em lotes menores. Encontre um padrão semelhante em todos os arquivos e divida -os em grupos menores. Por exemplo, primeiro remova, copie ou mova todos os arquivos que começam com a
e tem extensão TXT
, Depois disso, todos os arquivos que começam com b
e assim por diante.:
$ rm a*.txt $ rm b*.TXT
Você também pode fazer o acima para todas as letras usando um loop para loop:
$ para i em $ (echo a… z); RM $ i*.TXT ; feito
Tutoriais do Linux relacionados:
- Como mover a pasta no Linux
- Comandos básicos do Linux
- Comandos Linux: os 20 comandos mais importantes que você precisa para…
- VIM Editor básico no Linux
- Bash Script: sinaliza o uso com exemplos de argumentos
- Como configurar um servidor OpenVPN no Ubuntu 20.04
- Comando de homem no Linux com exemplos
- Ubuntu 20.04: Lista de clientes torrent
- Ubuntu 20.04 truques e coisas que você pode não saber
- Como gerenciar a história da Bash
- « Introdução
- Como armazenar todos os comandos do shell imediatamente após a execução em .Arquivo Bash_history »