1. Manipulación de archivos

Todos los datos están en archivos: documentos de oficina, canciones, películas, etc. Presentamos algunos comandos para organizar y administrar esos archivos.

1.1. Listar el contenido de un directorio

ls (LiSt) es equivalente al comando de DOS dir. Su sintaxis es la siguiente:

ls [opciones] <directorio> [directorio ...]

Las opciones más comunes son:

  • -R: lista recursivamente los contenidos del directorio y todos sus subdirectorios. Por favor tenga en cuenta que antes de mostrar los contenidos de un directorio, se muestra el nombre del directorio en sí mismo.

  • -l: utiliza un formato de listado extendido. Se muestran detalles sobre el archivo tales como el tipo de archivo, permisos, dueño y tamaño.

  • -a: muestra también los archivos ocultos. En sistemas UNIX®, todos los archivos cuyo nombre comienza con un punto (.) están ocultos. Utilice esta opción para mostrar tales archivos cuando liste un directorio. Si no desea que el directorio actual y su padre (a saber, . y ..) se muestren, utilice en cambio la opción -A.

Algunos ejemplos:

  • ls -lA /tmp/peliculas /tmp/imagenes: lista los contenidos de los directorios peliculas e imagenes dentro del directorio /tmp, mostrando los detalles de los archivos y los archivos ocultos, pero sin mostrar las entradas . y .. para cada directorio;

  • ls -R ~/: muestra, recursivamente, todos los archivos y directorios que tiene dentro de su directorio personal.

1.2. Copiar

cp (CoPy) es equivalente a los comandos de DOS copy y xcopy pero tiene más opciones. Su sintaxis es la siguiente:

cp [opciones] <archivo|directorio> [archivo|directorio ...] <destino>

Las opciones más comunes son:

  • -R: copia recursiva; obligatorio para copiar un directorio, aunque esté vacío.

  • -f: reemplaza cualquier archivo existente sin pedir confirmación. Utilizar con cuidado.

  • -a: modo de archivo, preserva todos los atributos del archivo en la copia y ejecuta una copia recursiva.

  • -v: modo verboso, muestra todas las acciones ejecutadas por cp.

Algunos ejemplos:

  • cp -f /tmp/imagenes/* imagenes/: copia todos los archivos del directorio /tmp/imagenes al directorio imagenes ubicado en el directorio actual. No pide confirmación si se está por sobreescribir un archivo.

  • cp -vR docs/ /compartidos/mp3s/* miscosas/: copia el directorio docs completo, más todos los archivos del directorio /compartidos/mp3s al directorio miscosas, mostrando todas las acciones ejecutadas.

  • cp toto pepe: hace una copia del archivo toto con el nombre pepe en el directorio actual.

1.3. Mover

mv (MoVe) es equivalente al comando de DOS move. Su sintaxis es la siguiente:

mv [opciones] <archivo|directorio> [archivo|directorio ...] <destino>

Tenga en cuenta que cuando mueva archivos múltiples el destino debe ser un directorio. Para renombrar un archivo, simplemente muévalo al nuevo nombre.

Las opciones más comunes son:

  • -f: fuerza la operación. No se muestran advertencias si se está por sobreescribir un archivo existente. Utilizar con cuidado.

  • -v: modo verboso, informa todos los cambios y actividad.

Algunos ejemplos:

  • mv /tmp/pics/*.png .: mueve todos los archivos del directorio /tmp/pics cuyos nombres terminan en .png al directorio actual.

  • mv toto pepe: renombra el archivo toto a pepe. Si un directorio pepe ya existía, el efecto de este comando será mover el archivo toto o el directorio completo (el propio directorio más todos los archivos y directorios que hay en él en forma recursiva) dentro del directorio pepe.

  • mv -vf archivo* imagenes/ basura/: mueve, sin pedir confirmación, todos los archivos del directorio actual cuyos nombres comiencen con archivo, junto con el directorio imagenes completo al directorio basura, y muestra cada operación llevada a cabo.

1.4. Eliminar

El comando rm (ReMove) es equivalente a los comandos DOS del y deltree, pero tiene más opciones. Su sintaxis es la siguiente:

rm [opciones] <archivo|directorio> [archivo|directorio ...]

Las opciones más comunes son:

  • -r, o -R: borrar recursivamente. Esta opción es obligatoria para borrar un directorio, vacío o no. Sin embargo, puede utilizar también rmdir para borrar los directorios vacíos.

  • -f: fuerza el borrado de los archivos o directorios. Utilizar con cuidado.

Algunos ejemplos:

  • rm imagenes/*.jpg archivo1: borra todos los archivos cuyos nombres terminan en .jpg en el directorio imagenes y borra archivo1 en el directorio actual.

  • rm -Rf imagenes/misc/ archivo*: borra, sin pedir confirmación, el subdirectorio misc, del directorio imagenes, completo, junto con todos los archivos del directorio actual cuyos nombres comiencen con archivo.

[Aviso] Aviso

Al utilizar rm se borran los archivos de forma irrevocable. ¡No existe una forma sencilla para recuperarlos! Tenga mayor cuidado cuando utiliza la opción-f para omitir el pedido de confirmación para asegurarse que no borra algo por error.

1.5. Crear un directorio

mkdir (MaKe DIRectory) es equivalente a los comandos DOS mkdir y md. Su sintaxis es la siguiente:

mkdir [opciones] <directorio> [directorio ...]

Solamente vale la pena tener en cuenta la opción -p. Realiza dos acciones:

  1. crea directorios padres si no existían anteriormente. Sin esta opción mkdir fallaría, indicando que estos directorios no existen;

  2. retorna silenciosamente si el directorio que desea crear ya existe. Si no se especifica la opción -p , mkdir devuelve un mensaje de error, indicando que el directorio ya existe.

Algunos ejemplos:

  • mkdir toto: crea un directorio toto en el directorio actual;

  • mkdir -p imagenes/misc: crea el directorio misc en el directorio imagenes, creando primero este último si no existe.

1.6. Cambiar el directorio de trabajo

El directorio de trabajo actual, simbolizado por un punto (.), es el lugar en el sistema de archivos en el que Usted está “ parado”. Los dos puntos (..) simbolizan el directorio padre del actual, que está “un nivel más arriba” (o atrás) en la estructura del sistema de archivos.

cd (Change Directory) le permite navegar en la estructura del sistema de archivos. Su sintaxis es la siguiente:

cd <directorio>

Algunos ejemplos:

  • cd /tmp/imagenes: cambia al directorio imagenes dentro del directorio /tmp;

  • cd -: cambia al directorio de trabajo corriente anterior;

  • cd: cambia a su directorio personal;

  • cd ~/imagenes: cambia al directorio imagenes dentro de su directorio personal.