Comandos de Linux #03

Examinando los comandos cp, mv y rm

Fotografía de Gabriel Heinzer, disponible en Unsplash.

Moviendo y renombrando archivos

Para empezar, de cara a copiar un archivo usamos el comando cp, que posee dos argumentos: el archivo a copiar y el nombre del nuevo archivo donde será copiado. Por ejemplo

cp test2.txt newfile.txt

Ahora, con el comando cat podemos comprobar que el contenido de ambos archivos es exactamente el mismo. No obstante, existe otro comando más apropiado para llevar a cabo esta tarea de comparación: diff, que nos indica en qué difieren dos archivos. Así,

diff newfile.text test2.txt

No arroja salida alguna, es decir, no hay ninguna diferencia entre ambos archivos. Sin embargo,

diff newfile.text test3.txt

Sí arroja resultados, pues son ficheros cuyos contenidos difieren.

Por otra parte, de cara a borrar un archivo, el comando a usar es rm. Por ejemplo

rm newfile.txt

Este comando también elimina directorios (con el atributo -r que activa la recursión), por lo que hemos de ser cautos cuando lo empleamos. Esta instrucción no mueve el archivo a una suerte de Papelera de reciclaje como en Windows, sino que lo elimina por completo del sistema. Si después lo queremos recuperar tendríamos que usar herramientas específicas de recuperación de archivos en memoria.

A continuación, antes de aprender a mover archivos, creemos un nuevo directorio, con el comando mkdir para almacenarlos. Por ejemplo

mkdir linux-notes

Ahora, para mover los archivos, el comando a emplear es mv cuyo primer argumento será el nombre del archivo a mover y el segundo su destino.

Podemos emplear comodines en las instrucciones de la terminal para algunos comandos. Por ejemplo, *.txt se traduce en todos los archivos cuya extensión sea .txt. De esta manera, podemos mover en bloque todos los ficheros de prueba que hemos creado hasta el momento.

mv *.txt linux-notes

Recordemos que con el comando cd cambiamos el directorio y si tecleamos cd .. volvemos un paso atrás en la ruta (o a un nivel inferior). Así, siguiendo la misma lógica, si queremos mover un paso atrás en la ruta alguno de los archivos, basta escribir

cd linux-notes
mv testfile.txt ..
cd ..
ls -l

Además, hemos de tener en cuenta que si .. indica un nivel inferior, . indica el nivel actual (el directorio de trabajo). Esto nos permite usar el comando mv para mover archivos hacia la actual ruta donde nos encontremos. Por ejemplo, para traer de vuelta el archivo testfile.txt al directorio linux-notes, bastaría teclear:

cd linux-notes
md ../testfile.txt .
ls -l

Finalmente, de cara a renombrar archivos, empleamos el mismo comando que para moverlos. Por ejemplo

mv test3.txt abc.txt
ls -l

Con este comando también hemos de ser cautos para no renombrar un archivo con el nombre de un fichero existente, pues podemos sobrescribirlo. En algunas distribuciones de Linux esto sucede directamente (Xubuntu es un ejemplo de esta forma de proceder) y en otras pregunta si deseamos realizar dicha acción.

mv abc.txt test4.txt
ls -l

Referencias

Alexis Sáez
Alexis Sáez
Profesor de matemáticas

Cazador de problemas matemáticos en parajes opositores.