En este tutorial, vamos a aprender a copiar archivos con una extensión específica de un directorio a otro, y luego eliminaremos los archivos originales. Para este tutorial, vamos a aprender más sobre elcp
&find
comando, y aprenderemos cómo podemos usarlos juntos para que sea beneficioso para nosotros.
Tabla de contenido
- El comando cp
- El comando de búsqueda
- Copie todos los archivos con extensión específica
- Eliminar archivos con una extensión específica
- Resumen
El comando cp
El comando cp significa copia, su estructura de comando se parece a esto:
cp {OPTION} <Source> <Destination>
Para examplesi está copiando solo archivos (digamos file1 & file2) a un nuevo directorio en la carpeta de inicio, simplemente puede escribir:
cp file1 file2 ~/new
Y si está copiando un directorio completo, entonces tiene que usar el-r
opción (recursiva).
cp -r Folder1 ~/new
El comando de búsqueda
El comando de búsqueda en Linux se usa para enumerar todos los archivos en el directorio actual o en un directorio específico. Usando sus opciones, también podemos listar archivos con una extensión específica. Digamos que solo queremos copiar archivos mp3 a otro directorio, primero listaremos todos los archivos mp3 usando el comando find, y luego redirigiremos su salida al comando cp. Para hacer esto, escriba el siguiente comando en la terminal:
find -name "*.mp3" -type f
Copie todos los archivos con extensión específica
Como se discutió anteriormente, podemos simplemente canalizar la salida del comando find al comando cp. Pero, hay dos formas a través de las cuales puede copiar archivos. Puede mantener la estructura del directorio (si un archivo está en una carpeta en el origen, después de copiarlo permanecerá en esa carpeta en el destino) o puede copiar todos los archivos dentro de una carpeta sin mantener la estructura del directorio. Discutiremos ambos métodos uno por uno.
Mantener la estructura del directorio durante la copia
Para mantener la estructura de directorios, usaremos el comando cp y find de la siguiente manera:
cp --parents `find -name *.mp3*` /Destination/Folder
los--parents
La opción nos permite mantener la estructura del directorio mientras copiamos.
No mantenga la estructura del directorio mientras copia
Para simplemente copiar todos los archivos mp3 que tenemos en un solo directorio, podemos usar el comando find y cp de la siguiente manera:
find . -name "*.mp3" -type f | xargs cp -vt Destination/Folder

Eliminar archivos con una extensión específica
Ahora, supongamos que desea eliminar todos los archivos mp3 de la carpeta original (fuente) ahora que los ha copiado todos en un nuevo destino. Para ejecutar esto, simplemente usaremos el comando de búsqueda para listar todos los archivos mp3, y luego agregaremos la opción -eliminar al final del comando.
find . -name "*.mp3" -type f -delete

Resumen
Copiar y eliminar archivos usando la GUI puede ser una molestia, ya que la búsqueda de archivos individuales puede llevar mucho tiempo. Esperamos que con este artículo haya podido aprender más sobre los comandos find y cp y haya podido copiar archivos en la terminal. Para obtener más detalles y opciones, siempre puede consultar las páginas man de cp y el comando find.