Guía de comandos básicos - Parte II

Manipulando archivos y directorios

Copiando archivos y directorios

El comando cp (copy en íngles) permite copiar archivos de una carpeta a otra e incluso copiar carpetas enteras de una ubicación a otra, he aquí el formato del comando:
cp -opción fuente destino

Copiando archivos

Para realizar una copia de un archivo ejecutamos el comando del nombre original seguido del nombre de la copia
Ejemplo:

dario@Leon:~/ejemplos/directorio1$ ls
original subdirectorio1
dario@Leon:~/ejemplos/directorio1$ cp original copia
dario@Leon:~/ejemplos/directorio1$ ls
copia original subdirectorio1
dario@Leon:~/ejemplos/directorio1$

Copiando un archivo a una localización distinta

Para realizar esta tarea es suficiente colocando las rutas fuente y destino o si estamos ubicados en el directorio fuente colocar la ruta destino.
Ejemplo:

dario@Leona:~/ejemplos$ cp archivo1 directorio2
dario@Leona:~/ejemplos$ ls directorio2/
archivo1 subdir1
dario@Leona:~/ejemplos$


Copiando directorios

La opción -r permite copiar el contenido de una ubicación a otra, trayendo incluso el contenido del directorio.
Ejemplo:

dario@Leon:~/ejemplos/directorio1$ cp -r diroriginal/ dircopia
dario@Leon:~/ejemplos/directorio1$ ls
copia dircopia diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$

Si queremos implementar un poco de restricción ejecutamos el comando cp con la opción -i que nos previene de sobreescribir un archivo ya existente, esta opción es manipulable con la opción -r igualmente.

Borrando archivos y directorios

El comando rm (remove en inglés) se usa para borrar archivos, directorios o ambos, ES IMPORTANTE RECORDAR QUE EL ARCHIVO O DIRECTORIO QUE SE BORRE CON DICHO COMANDO NO PODRA SER RECUPERADO, ES BORRADO DEFINITIVAMENTE DEL SISTEMA OPERATIVO. El formato del comando:

rm -opción archivo(directorio)

Borrando archivos

Solamente con colocar el comando rm seguido o de la ruta absoluta o si se esta en el directorio fuente el nombre del archivo, este se borrara sin ningún tipo de pregunta extra.
Ejemplo:

dario@Leon:~/ejemplos/directorio1$ ls
copia copia1 dircopia dircopia1 diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$ rm copia1
dario@Leon:~/ejemplos/directorio1$ ls
copia dircopia dircopia1 diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$

Borrando directorios

Si los directorios están vacíos se usa el comando rmdir (remove directory en inglés) seguido de la ruta absoluta o nombre del directorio
Ejemplo:

dario@Leon:~/ejemplos/directorio1$ ls
copia dircopia dircopia1 diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$ rmdir dircopia1
dario@Leon:~/ejemplos/directorio1$ ls
copia dircopia diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$

Si el directorio que se desea borrar posee dentro información (archivos, subdirectorios, ejecutables, binarios, etc) se usa el comando rm -r

dario@Leon:~/ejemplos/directorio1$ ls
copia dircopia diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$ rm -r dircopia
dario@Leon:~/ejemplos/directorio1$ ls
copia diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$

Algunos administradores deciden implementar seguridad para el borrado de archivos y directorios mediante una pregunta de validación, para eso se incluye la opción -i en la ejecución del comando.

Ejemplo:

dario@Leon:~/ejemplos/directorio1$ ls
copia diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$ rm -i copia
rm: remove regular empty file `copia'? y
dario@Leon:~/ejemplos/directorio1$ ls
diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$

Nota: Funciona de forma similar con directorios pero agregándole la letra -r además de la opción -i.

Moviendo o renombrando archivos o directorios

El comando mv (move en inglés) permite mover o renombrar archivos o directorios según sea la necesidad. La sintaxis del comando:
mv fuente destino
Hay una ligera diferencia entre el uso del comando cuando funciona para renombrar o mover archivos.

Renombrando archivos

Basta con colocar el nombre del archivo original y el nuevo nombre si queremos renombrar.
Ejemplo:


dario@Leon:~/ejemplos/directorio1$ ls
diroriginal original subdirectorio1
dario@Leon:~/ejemplos/directorio1$ mv original copia
dario@Leon:~/ejemplos/directorio1$ ls
copia diroriginal subdirectorio1
dario@Leon:~/ejemplos/directorio1$

Moviendo archivos a un directorio distinto

En este caso la fuente sera el archivo a mover y el destino sera el directorio al cual vamos a mover el archivo.
Ejemplo:

dario@Leona:~/ejemplos$ ls
archivo archivocat archivocatfinal directorio2 directorio5 dir_umask1
archivo1 archivocat1 directorio1 directorio3 directorio6
archivo2 archivocat2 directorio1_ren directorio4 dir_umask
dario@Leona:~/ejemplos$ mv archivo directorio2/
dario@Leona:~/ejemplos$ ls
archivo1 archivocat1 directorio1 directorio3 directorio6
archivo2 archivocat2 directorio1_ren directorio4 dir_umask
archivocat archivocatfinal directorio2 directorio5 dir_umask1
dario@Leona:~/ejemplos$ ls directorio2/
archivo archivo1 subdir1
dario@Leona:~/ejemplos$

La opción -i alerta de sobrescribir mientras movemos algún archivo.
Ejemplo:

dario@Leon:~/ejemplos$ ls
archivo directorio1 directorio2
dario@Leon:~/ejemplos$ mv -i archivo directorio1/
mv: overwrite `directorio1/archivo'? no
dario@Leon:~/ejemplos$

Renombrando directorios

Lo imprescindible es definir directorio fuente y directorio destino.
Ejemplo:

dario@Leon:~/ejemplos$ ls
archivo directorio1 directorio2
dario@Leon:~/ejemplos$ mv directorio1 directorio1_ren
dario@Leon:~/ejemplos$ ls
archivo directorio1_ren directorio2
dario@Leon:~/ejemplos$

Moviendo directorios y su contenido a un directorio distinto

Si hay necesidad de mover directorios completos, el comando mv nos permite realizar esta tarea, de nuevo es imprescindible definir la fuente y el destino.

Ejemplo:

dario@Leon:~/ejemplos$ ls
archivo directorio1_ren directorio2 directorio3
dario@Leon:~/ejemplos$ ls directorio2/
archivo3 archivo4
dario@Leon:~/ejemplos$ ls directorio3/
archivo archivo1 subdir1 subdir2
dario@Leon:~/ejemplos$ mv directorio2/ directorio3/
dario@Leon:~/ejemplos$ ls directorio3/
archivo archivo1 directorio2 subdir1 subdir2
dario@Leon:~/ejemplos$ ls
archivo directorio1_ren directorio3
dario@Leon:~/ejemplos$ mv directorio3/directorio2/ .
dario@Leon:~/ejemplos$ ls
archivo directorio1_ren directorio2 directorio3
dario@Leon:~/ejemplos$

Creando directorios

Para esta tarea el comando mkdir (make directory en inglés) es el apropiado, basta con definir el nombre del directorio.
Con la opción -p permite crear subdirectorios.
Ejemplos:

dario@Leon:~/ejemplos$ mkdir directorio1 directorio4 directorio5
dario@Leon:~/ejemplos$ ls
archivo directorio1 directorio1_ren directorio2 directorio3 directorio4 directorio5
dario@Leon:~/ejemplos$ mkdir -p directorio6/subdirectorio1/subdirectorio2
dario@Leon:~/ejemplos$ ls -F directorio6/
subdirectorio1/
dario@Leon:~/ejemplos$ ls -lrt directorio6/
total 4
drwxr-xr-x 3 dario dario 4096 2009-10-30 15:52 subdirectorio1
dario@Leon:~/ejemplos$

Creando archivos

El comando touch (algo así como toque o nexo en inglés) permite crear archivos vacíos o actualiza el tiempo de modificación.
Ejemplo:

dario@Leon:~/ejemplos$ ls -l archivo
-rw-r--r-- 1 dario dario 0 2009-10-23 21:06 archivo
dario@Leon:~/ejemplos$ touch archivo
dario@Leon:~/ejemplos$ ls -l archivo
-rw-r--r-- 1 dario dario 0 2009-10-30 15:55 archivo
dario@Leon:~/ejemplos$ touch archivo_vacio1 archivo_vacio2 archivo_vacio3
dario@Leon:~/ejemplos$ ls -l archivo*
-rw-r--r-- 1 dario dario 0 2009-10-30 15:55 archivo
-rw-r--r-- 1 dario dario 0 2009-10-30 15:56 archivo_vacio1
-rw-r--r-- 1 dario dario 0 2009-10-30 15:56 archivo_vacio2
-rw-r--r-- 1 dario dario 0 2009-10-30 15:56 archivo_vacio3
dario@Leon:~/ejemplos$

Creación de enlace simbólico


Los enlaces simbólicos sirven como su nombre lo indica para crear un enlace de una archivo o un directorio a otro, el enlace simbólico permite entre otras cosas proteger el archivo original ya que al momento de borrar el enlace solo se borrara este y el archivo original permanecerá intacto, cualquier cosa que se realice sobre el archivo o directorio simbólico se vera reflejado en la ruta original. El comando para crear enlaces simbólicos es el comando ln (enlace en inglés).

La estructura del comando se muestra a continuación:

ln -s fuente destino
Ejemplo:
dario@Leon:~/ejemplos$ ln -s directorio3/subdir1/sub-subdir/archivo_fuente enlace_simbolico
dario@Leon:~/ejemplos$ ls -l enlace_simbolico
lrwxrwxrwx 1 dario dario 45 2009-10-30 16:13 enlace_simbolico -> directorio3/subdir1/sub-subdir/archivo_fuente
dario@Leon:~/ejemplos$ ls -l directorio3/subdir1/sub-subdir/archivo_fuente
-rw-r--r-- 1 dario dario 93 2009-10-30 16:12 directorio3/subdir1/sub-subdir/archivo_fuente
dario@Leon:~/ejemplos$

NOTA: Como podemos verificar el enlace simbólico comienza con la letra “l”, el tamaño del enlace simbólico es fijo y difiere del tamaño original del archivo fuente, el tamaño real es el número de caracteres que forman el nombre del archivo fuente. El tamaño del enlace simbólico no crecerá, por eso con frecuencia estos se colocan en filesystems que no tienen mucho espacio disponible.

Guía de comandos básicos - Parte III