Aprende los comandos b√°sicos de Linux (II)

Aprende los comandos b√°sicos de Linux (II)

Bash image

Sigo con estas entradas de los comandos b√°sicos de Linux que deber√≠as conocer para empezar a familiarizarte con el entorno de escritorio. En la primera parte de esta serie de comandos ya te he ense√Īado los m√°s b√°sicos y poco a poco te voy a ir explicando m√°s comandos aumentando un poco de complejidad.

Si en alg√ļn momento echas en falta alg√ļn comando o quieres m√°s informaci√≥n sobre c√≥mo hacer determinadas cosas en Linux, escr√≠beme un comentario o m√°ndame un email, y te contestar√© lo antes posible con la respuesta a tus preguntas.

Comando “touch”: Crear fichero o cambiar fecha de modificaci√≥n

Empiezo explicando este comando que tiene dos funciones muy claras y muy fáciles. La primera es crear un fichero vacío con el nombre que le escribas después.

La otra funci√≥n es cambiar la fecha de modificaci√≥n o acceso de un fichero por la fecha y hora actual, cosa que puede resultarte muy √ļtil en las b√ļsquedas de ficheros o listados cuando utilizamos la opci√≥n de marca temporal.

TOUCH(1)     General Commands Manual     TOUCH(1)

NOMBRE
       touch - crea un fichero o cambia la fecha de un archivo.

En el ejemplo que te he mostrado en el articulo anterior puedes ver que hay 3 ficheros y 2 directorios. Ya expliqu√© tambi√©n c√≥mo crear un directorio vac√≠o, pero a√ļn no te he ense√Īado a crear un fichero vac√≠o.

jaime@aprendolinux:~/test$ ls -l
total 12308
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:55 directorio2
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime  2097152 feb 20 11:19 fichero2
-rw-r--r-- 1 jaime jaime 10485760 feb 20 11:21 fichero3
jaime@aprendolinux:~/test$ touch fichero4
jaime@aprendolinux:~/test$ ls -ltr
total 12308
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:55 directorio2
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime  2097152 feb 20 11:19 fichero2
-rw-r--r-- 1 jaime jaime 10485760 feb 20 11:21 fichero3
-rw-r--r-- 1 jaime jaime        0 feb 20 11:37 fichero4

Puedes observar que se ha creado un nuevo fichero, con el nombre que le he asignado a continuaci√≥n “fichero4”. Ese fichero tiene una fecha de creaci√≥n posterior a los ficheros que ya existen en el directorio, pero si lanzo el comando con un fichero que ya existe te voy a ense√Īar qu√© pasa.

jaime@aprendolinux:~/test$ touch fichero3
jaime@aprendolinux:~/test$ ls -ltr
total 12308
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:55 directorio2
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime  2097152 feb 20 11:19 fichero2
-rw-r--r-- 1 jaime jaime        0 feb 20 11:37 fichero4
-rw-r--r-- 1 jaime jaime 10485760 feb 20 11:39 fichero3

Puedes ver que se le ha cambiado la hora del √ļltimo acceso a fichero y por tanto, se pone en el orden de tiempos seg√ļn la fecha de modificaci√≥n de los ficheros.

Comando “cp”: Copia de ficheros y directorios

Este es otro de los comandos que más vas a utilizar cuando te manejes en un consola de Linux, ya que a menudo tendrás que pasar un fichero a otra ruta, modificar alguna configuración y guardar una copia de seguridad, o copiar un directorio completo en otra ruta de tu mismo equipo.

CP(1)     User Commands     CP(1)

NAME
       cp - copy files and directories

Este comando tiene muchas opciones o parámetros que puedes usar dependiendo de qué necesites en cada momento. Esta es la estructura de ficheros y directorios que voy a usar en los ejemplo posteriores.

jaime@aprendolinux:~/test$ ls -ltr
total 12308
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:55 directorio2
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime  2097152 feb 20 11:19 fichero2
-rw-r--r-- 1 jaime jaime 10485760 feb 20 11:39 fichero3

Sin par√°metros

Cuando utilizas este comando sin par√°metros es tan solo para copiar un fichero. El destino donde vas a copiar lo puedes escribir con una ruta relativa o una ruta absoluta.

Puedes elegir copiar el fichero en el mismo directorio donde se encuentra el origen, pero para ello deber√°s tener cuidado y ponerle un nombre diferente al fichero de origen.

Si lo que haces es una copia con el nombre de destino de otro fichero, no obtendr√°s un error, pero probablemente pisar√°s el fichero anterior y no tendr√°s forma de recuperarlo

jaime@aprendolinux:~/test$ # COPIA CON MISMO NOMBRE
jaime@aprendolinux:~/test$ cp fichero1 fichero1
cp: 'fichero1' y 'fichero1' son el mismo fichero
jaime@aprendolinux:~/test$ # COPIA CON OTRO NOMBRE
jaime@aprendolinux:~/test$ cp fichero1 fichero4
jaime@aprendolinux:~/test$ ls -l
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:55 directorio2
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime  2097152 feb 20 11:19 fichero2
-rw-r--r-- 1 jaime jaime 10485760 feb 20 11:39 fichero3
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:53 fichero4
jaime@aprendolinux:~/test$ # COPIA CON NOMBRE DE FICHERO QUE YA EXISTE
jaime@aprendolinux:~/test$ cp fichero1 fichero2
jaime@aprendolinux:~/test$ ls -l
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:55 directorio2
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:55 fichero2
-rw-r--r-- 1 jaime jaime 10485760 feb 20 11:39 fichero3
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:53 fichero4

Aquí puedes ver que en la primera parte de la prueba da un error al querer copiar el fichero en otro con su mismo nombre, para demostrarte que Linux no te permite realizar este comando.

Despu√©s he hecho una copia exacta del “fichero1” en el “fichero4”. La √ļnica diferencia entre ambos es que la hora de creaci√≥n del “fichero4” es la hora actual en vez de ser la hora de creaci√≥n del “fichero1”.

Por ultimo quer√≠a ense√Īaros que si copi√°is un fichero en otro que ya existe, vais a pisar el fichero anterior y probablemente sea irrecuperable, por lo que antes de copiar un fichero aseguraros de que no existe otro con el mismo nombre que el fichero de destino.

Opci√≥n “-r”: Copia recursiva

Esta opci√≥n es la que tenemos que utilizar si lo que queremos copiar es un directorio en otro directorio, con todo su contenido. Si intentas copiar un directorio sin esta opci√≥n te devolver√° un mensaje de error como te ense√Īar√© a continuaci√≥n.

jaime@aprendolinux:~/test$ cp directorio1 directorio3
cp: -r not specified; omitting directory 'directorio1'
jaime@aprendolinux:~/test$ cp -r directorio1 directorio3
jaime@aprendolinux:~/test$ ls -l
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:55 directorio2
drwxr-xr-x 2 jaime jaime     4096 feb 20 11:58 directorio3
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:55 fichero2
-rw-r--r-- 1 jaime jaime 10485760 feb 20 11:39 fichero3
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:53 fichero4

En el caso de los directorios, si copias un directorio y pones como destino otro directorio, no pisas el segundo sino que se crea una copia del primero dentro del segundo (primero, segundo, primero, segundo….).

jaime@aprendolinux:~/test$ cp -r directorio1 directorio2
jaime@aprendolinux:~/test$ cd directorio2/
jaime@aprendolinux:~/test/directorio2$ ls
directorio1
jaime@aprendolinux:~/test/directorio2$ cd ..
jaime@aprendolinux:~/test$ ls directorio2/
directorio1

Hay m√°s opciones que utilizar√°s con el comando “cp” pero por ahora con esto de forma b√°sica te puedes manejar perfectamente.

Genial, si ya has llegado hasta aqu√≠ eres un campe√≥n. A veces me enrollo en tonter√≠as y si te pierdes en alg√ļn punto ponme un comentario para aclarar m√°s en detalle cualquier duda que tengas.

Comando “mv”: Mover o renombrar un fichero o directorio.

Este comando se suele utilizar sin parametros ya que no le hacen falta. Como ya puedes ver en el propio título, lo usamos para mover un fichero o un directorio a otra ruta y su funcionamiento es muy sencillo.

jaime@aprendolinux:~/test$ ls -l
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:15 fichero1
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:55 fichero2
jaime@aprendolinux:~/test$ mv fichero1 directorio1
jaime@aprendolinux:~/test$ ls -l
drwxr-xr-x 2 jaime jaime     4096 feb 20 10:54 directorio1
-rw-r--r-- 1 jaime jaime    10240 feb 20 11:55 fichero2
jaime@aprendolinux:~/test$ ls -l directorio1/
-rw-r--r-- 1 jaime jaime 10240 feb 20 11:15 fichero1

También lo podemos utilizar directamente para cambiarle el nombre a un fichero o a un directorio, dentro de la misma ruta o en otra diferente.

jaime@aprendolinux:~/test$ ls -l directorio1/
-rw-r--r-- 1 jaime jaime 10240 feb 20 11:15 fichero1
jaime@calatrava:~/test$ mv directorio1/fichero1 directorio1/fichero1.txt
jaime@calatrava:~/test$ ls -l directorio1/
-rw-r--r-- 1 jaime jaime 10240 feb 20 11:21 fichero1.txt

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *