Ayúdanos a seguir proporcionándote tutoriales gratuitos y de calidad desactivando tu bloqueador de anuncios. suscriptores a nuestro sitio.

(Resuelto) - bash: /bin/mv: Argument list too long

26 nov 2021 1 min di lettura
(Resuelto) - bash: /bin/mv: Argument list too long
Tabla de contenidos


Introducción

Uno de mis servidores de desarrollo contiene millones de archivos en un solo directorio. Para liberar espacio en disco, decidimos moverles una nueva carpeta creada en otro disco conectado al mismo sistema. Cuando intenté mover el archivo con el comando mv, recibí el siguiente error:

-bash: / bin / mv: lista de argumentos demasiado larga

El error "Lista de argumentos demasiado larga" suele ocurrir cuando se pasa una gran cantidad de parámetros a un solo comando. Una variable de sistema ARG_MAX define la longitud máxima de caracteres de los argumentos en un comando de shell.

La solución

La solución rápida es usar la utilidad de línea de comandos xargs o encontrar el comando con -exec… {}. Ambos comandos dividen un comando grande en uno más pequeño y completan el trabajo sin errores.

Uso de buscar con xargs: el siguiente comando moverá todos los archivos con la extensión .txt al directorio de destino:

find . -name '*.txt' | xargs mv --target-directory=/path/to/dest_dir/ 

Uso de buscar con exec: también puede usar exec para realizar la misma tarea:

find . -name '*.txt' -exec mv {} /path/to/dest_dir/ \;

Los comandos predefinidos anteriores navegarán recursivamente a los subdirectorios. Para limitar la búsqueda solo al directorio actual, utilice -maxdepthseguido del número límite de subdirectorios:

find . -name '*.txt' -maxdepth 1 -exec mv {} /path/to/dest_dir/ \;

Puede encontrar el límite máximo con el comando getconf ARG_MAXen el shell.

Conclusión

En este tutorial hemos visto cómo solucionar el error: "-bash: / bin / mv: Argument list too long"

Apóyenos si le gusta nuestro contenido. Gracias.

Buy me a coffeeBuy me a coffee

Únase a la conversación

Apóyenos con una donación.

Genial! A continuación, complete el pago para obtener acceso completo a Noviello.it.
Bienvenido de nuevo! Has iniciado sesión correctamente.
Te has suscrito correctamente a Noviello.it.
Éxito! Su cuenta está completamente activada, ahora tiene acceso a todo el contenido.
Éxito! Su información de facturación ha sido actualizada.
Su facturación no se actualizó.