1. Introducción a los entornos de trabajo UNIX

1.8. Gestión básica de ficheros

1.8.1. Introducción

En esta sección, aprenderemos los conceptos básicos para movernos por el sistema. Muchas tareas dependen de poder llegar o referenciar la ubicación correcta en el sistema. Como tal, este conocimiento realmente forma la base para poder trabajar eficazmente en Gnu/Linux. Aseguraos de entenderlo bien. Si deseáis seguirlos, iniciad sesión y abrid un terminal. La tabla 3 muestra los comandos para crear y utilizar archivos y directorios.

Tabla 3. Comandos para gestionar archivos y directorios.

Comando Resultado
cd (change directory) Cambiar a otro directorio
pwd (print working directory) Imprimir el nombre del actual directorio de trabajo
mkdir (make directory) Crear un directorio
rmdir (remove directory) Eliminar un directorio vacío
rm -r (remove) Eliminar el contenido de un directorio no vacío
rm (remove) Eliminar ficheros
chmod (change file mode) Cambiar los permisos de un fichero o directorio
ls (list) Listar el contenido de un directorio
cp (copy) Copiar un archivo
mv (move) Mover un fichero

Fuente: elaboración propia.

Al iniciar sesión en un sistema Gnu/Linux y abrir un terminal, directamente, os encontraréis en el directorio de inicio (abreviado también con el símbolo ∼). Dependiendo de la instalación, dicho directorio suele almacenarse a su nombre en un subdirectorio de la carpeta /home/. Para certificar en cada momento en qué lugar del path de directorios nos encontramos, podemos usar el comando pwd (en inglés, print working directory).

Uno de los comandos más básicos que se emplea en el terminal es cd. El comando cd se puede utilizar sin opciones (para llevarlo a su directorio de inicio) o con paths absolutos o relativos. Considerad los siguientes comandos:

$ cd /usr/lib/
$ pwd
/usr/lib
$ cd gcc
/usr/lib/gcc
$ cd
$ pwd
/home/student

La opción /usr/bin representa el path absoluto a un directorio en el sistema. Debido a que comienza con una barra diagonal (/), este path indica al terminal que comience en la raíz del sistema de archivos y lo lleve al directorio lib que se encuentra en el directorio usr. La opción gcc del comando cd indica que se debe buscar un directorio llamado gcc que es relativo al directorio actual. Por lo tanto, eso hizo que /usr/lib/gcc fuera su nuevo directorio. Después de eso, al escribir solo cd, se regresa al directorio de inicio. Si alguna vez os preguntáis dónde os encuentráis en el sistema de archivos, el comando pwd os lo mostrará.

Los siguientes pasos os guiarán a través del proceso de creación de directorios dentro de tu directorio de inicio y de moverte entre ellos, con una mención sobre cómo establecer los permisos apropiados de los archivos. Os recomiendo que ejecutéis todos los comandos que están escritos.

  1. Id a vuestro directorio de inicio. Para hacer esto, simplemente escribid cd en un terminal y presionad enter.
  2. Para aseguraros de que estáis en vuestro directorio de inicio, escribid pwd.
$ pwd
/home/student
  1. Cread un nuevo directorio llamado testHIB en vuestro directorio de inicio,
$ mkdir testHIB
  1. Verificad los permisos del directorio:
$ ls -ld testHIB
drwxrwxr-x 2 student student 4096 Apr 19 18:06 testHIB/

Esta lista muestra que testHIB es un directorio (d). La d va seguida de los permisos (rwxr-xr-x), los cuales se explican más adelante en la sección «Entendiendo los permisos y la propiedad de los archivos». El resto de la información indica el propietario (student), el grupo (student) y la fecha en que los archivos en el directorio fueron modificados por última vez.

  1. Escribe $ chmod 700 testHIB

Este paso cambia los permisos del directorio para que tengáis acceso completo y nadie más tenga acceso (los nuevos permisos se deben leer rwx------).

  1. Haced que el directorio de prueba sea su directorio actual:
$ cd testHIB
$ pwd
/home/student/testHIB

Podéis crear archivos y directorios en el directorio de prueba junto con las descripciones en el resto de este capítulo. Cuando necesitéis identificar vuestro directorio de inicio en una línea de comando de shell, podéis usar lo siguiente:

  • $HOME Esta variable de entorno almacena el nombre de tu directorio de inicio.
  • ~ Representa vuestro directorio de inicio en la línea de comando. También podéis usar la tilde para identificar el directorio de inicio de otra persona.

Otras formas especiales de identificar directorios en la shell se describen a continuación, con ejemplos.

  • . Un solo punto (.) se refiere al directorio actual.
  • .. Dos puntos (..) se refieren a un directorio directamente encima del directorio actual.
  • $PWD Esta variable de entorno se refiere al directorio de trabajo actual.
$ pwd
/home/student
$ cp file01 ../file02
$ cd ..
$ pwd
/home
$ mv file02 ./student
$ cp file01 /home/student
$ cd ~
$ pwd
/home/student

Escribir paths puede volverse tedioso. La línea de comandos tiene un pequeño mecanismo que nos ayuda en este aspecto. Se llama Autocompletado del tabulador.

Cuando comenzáis a escribir un path (en cualquier lugar de la línea de comandos), podéis presionar la tecla tab en vuestro teclado en cualquier momento, lo que invocará una acción de autocompletado. Si no sucede nada, eso significa que hay varias posibilidades. Si presionáis tab nuevamente, os mostrará esas posibilidades. Luego podéis continuar escribiendo y presionar tab nuevamente, y volverá a intentar autocompletar para vosotros. Es un poco difícil de demostrar aquí, por lo que probablemente sea mejor si lo intentáis por vosotros mismos.