Copiar un archivo con la línea de comandos de Linux es fácil. Sin embargo, ¿qué sucede si quiere copiar el mismo archivo en varias ubicaciones diferentes? Eso también es fácil, y le mostraremos cómo hacerlo con un comando.
Normalmente, para copiar un archivo, usaría el comandocp
, vinculándolo al archivo fuente y al destino. directorio:
cp ~ / Documents / FileToBeCopied.txt ~ / TextFiles /
Para copiarlo en dos directorios más, mucha gente simplemente ejecutaría el comando dos veces más, con diferentes destinos:
cp ~ / Documents /FileToBeCopied.txt ~ / Dropbox /
cp ~ / Documents / FileToBeCopied.txt / media / lori / MYUSBDRIVE /
Sin embargo, podemos hacer la misma tarea con un comando:
echo dir1 dir2 dir3 | xargs -n 1 archivo cp1
Así es como funciona este comando. El comandoecho
normalmente escribe en la pantalla. Sin embargo, en este caso, queremos alimentar la salida del comandoecho
como entrada al comandoxargs
. Para hacer esto, usamos el símbolo de tubería (|
) que alimenta la salida de un comando como entrada a otro. El comandoxargs
ejecutará el comandocp
tres veces, agregando cada vez la siguiente ruta de directorio conectada desde el comandoecho
al final decomando cp
. Hay tres argumentos que se pasan axargs
, pero la opción-n 1
en el comandoxargs
le dice que solo añada uno de esos argumentos a la vez para el comandocp
cada vez que se ejecuta.
Por lo tanto, para seguir con nuestro ejemplo anterior, los tres comandoscp
anteriores se pueden combinar en un comando como este:
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp ~ / Documents / FileToBeCopied.txt
Tenga en cuenta que si el archivo que se está copiando existe en cualquiera de los directorios de destino especificados, el archivo en ese destino se reemplazará automáticamente. No se le preguntará si desea reemplazar el archivo. (Normalmente, cuando utiliza el comandocp
para copiar un archivo en una sola ubicación, puede agregar la opción-i
para preguntar si desea reemplazar un archivo existente. la opción-i
es una opción interactiva (hace que el comandocp
solicite la entrada del usuario) y usted no puede usar una opción interactiva con elcp
comando cuando se usa junto conxargs
.)
Otra cosa a considerar, es que si está copiando un archivo muy grande, es posible que desee agregar el no-clobber (- n
) al comandocp
en el único comando anterior. Esta opción evita automáticamente que un archivo se sobrescriba en un destino si ya existe allí. Si está copiando un archivo muy grande en una red, puede ser lento y es posible que desee evitar el uso de los recursos necesarios para copiar y reemplazar el archivo. El siguiente comando agrega la opción-n
y no copiará el archivo a ningún destino enumerado en los argumentos a la instrucción echo, si el archivo ya existe en ese destino.
echo ~ / TextFiles / ~ / Dropbox / media / lori / MYUSBDRIVE | xargs -n 1 cp -n ~ / Documents / FileToBeCopied.txt
Escriba man echo, man xargs o man cp en la línea de comandos en Linux para obtener más información sobre cualquiera de estos comandos.
Cómo eliminar cuentas de usuario locales de la pantalla de inicio de sesión en Windows
Si tiene varias cuentas de usuario en su computadora, puede ser molesto tener que hacer clic en el icono de su nombre de usuario vez que enciende la computadora. Para solucionar este problema, puede ocultar una cuenta de usuario con un hack de registro. Si no es el único usuario real activo en el sistema, entonces no debería ocultar realmente las otras cuentas de usuario, aunque podría configurar su cuenta principal para iniciar sesión automáticamente y luego use la función Cambiar usuario solo cuando sea necesario.
¿Por qué el software macOS a veces se etiqueta como "Darwin"?
Si usted es un usuario de Mac y un fanático del software de código abierto, probablemente haya visto ciertas aplicaciones con la etiqueta "Darwin" . Pero ¿por qué las versiones de macOS de las aplicaciones llevan este nombre? Porque macOS es, junto con iOS y TVOS, impulsado por un software de código abierto, BSD, llamado Darwin.