B.1. Consola y órdenes básicas
En el mundo Unix, todo administrador debe utilizar la línea de órdenes tarde o temprano; por ejemplo, cuando el sistema no inicia adecuadamente y sólo provee la consola de modo de rescate. Poder manejar tal interfaz es, por lo tanto, una habilidad de supervivencia básica para dichas circunstancias.
Esta sección sólo provee una mirada rápida de las órdenes. Todas tienen muchas opciones que no describimos, así que le remitimos a la abundante documentación de las que dispone en sus respectivas páginas de manual.
B.1.1. Navegación del árbol de directorios y gestión de archivos
Una vez que abrió una sesión, el programa pwd
(que significa imprimir directorio de trabajo: «print working directory») mostrará la ubicación actual en el sistema de archivos. Puede cambiar el directorio actual ejecutando cd directorio
(cd
significa cambiar directorio: «change directory»). El directorio padre siempre se llama ..
(dos puntos), mientras que también se conoce al directorio actual como .
(un punto). El programa ls
permite enumerar («listing») el contenido de un directorio. Si no le provee ningún parámetro, operará en el directorio actual.
$
pwd
/home/rhertzog
$
cd Desktop
$
pwd
/home/rhertzog/Desktop
$
cd .
$
pwd
/home/rhertzog/Desktop
$
cd ..
$
pwd
/home/rhertzog
$
ls
Desktop Downloads Pictures Templates
Documents Music Public Videos
Puede crear un directorio nuevo con mkdir directorio
y puede eliminar un directorio existente (y vacío) con rmdir directorio
. El programa mv
permite mover («move») y/o cambiar el nombre de archivos y directorios; eliminará («remove») un archivo con rm archivo
.
$
mkdir test
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public test
$
mv test new
$
ls
Desktop Downloads new Public Videos
Documents Music Pictures Templates
$
rmdir new
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public
B.1.2. Visualización y modificación de archivos de texto
Si ejecuta cat archivo
(concatena — «concatenate» — archivos a su salida estándar del dispositivo) éste leerá el archivo y mostrará sus contenidos en la terminal. Si el archivo es demasiado grande para entrar en una pantalla, utilice un paginador como less
(o more
) para mostrarlo página por página.
El programa editor
inicia un editor de texto (como vi
o nano
) y permite crear, modificar y leer archivos de texto. A veces puede crear los archivos más simples directamente desde el intérprete utilizando redirección: echo "texto" >archivo
creará un archivo llamado archivo con «texto» como su contenido. También es posible agregar una línea al final de este archivo si ejecuta algo como echo "moretext" >> archivo
. Note el >>
en este ejemplo.
B.1.3. Búsqueda de y en archivos
Si ejecuta find directorio criterio
, buscará archivos en la jerarquía dentro de directorio según varios criterios. El criterio utilizado más frecuentemente es -name nombre
: permite buscar un archivo según su nombre.
Si ejecuta
grep expresión archivos
busca en el contenido de los archivos y extrae las líneas que coinciden con la expresión regular (revise el recuadro
VOLVER A LOS CIMIENTOS Expresiones regulares). Agregar la opción
-r
activa una búsqueda recursiva en todos los archivos que contenga el directorio que pasó como parámetro. Esto permite buscar en un archivo del que sólo conoce parte de su contenido.
B.1.4. Gestión de proceso
Si ejecuta ps aux
, obtendrá una enumeración de los procesos actualmente en ejecución y le ayudará a identificarlos mostrando su pid (id de proceso: «process id»). Una vez que sabe el pid de un proceso, puede ejecutar kill -señal pid
para enviarle una señal (siempre que sea el dueño del proceso). Existen varias señales, las más utilizadas son TERM
(pedido de terminación de forma ordenada) y KILL
(finalización forzada).
El intérprete de órdenes también puede ejecutar programas en segundo plano si la orden finaliza con «&». Cuando utiliza el símbolo «et», el usuario recupera el control de la consola inmediatamente aún cuando la orden continúa en ejecución (escondido del usuario como un proceso en segundo plano). El programa jobs
(«trabajos») enumerará los procesos ejecutándose en segundo plano; si ejecuta fg %número-de-trabajo
(por primer plano: «foreground») recuperará en primer plano una orden. Cuando un programa esté ejecutándose en primer plano (ya sea porque se lo inició de esa forma o porque se lo recuperó desde segundo plano con fg
) puede pausar el proceso y obtener el control de la línea de órdenes con la combinación de teclas Control+Z. Luego puede continuar el proceso en segundo plano con bg %número-de-trabajo
(por «segundo plano»: «background»).
B.1.5. Información de sistema: memoria, espacio en disco, identidad
El programa free
(«libre») muestra información sobre la memoria; df
(libre en disco: «disk free») reporta el espacio en disco disponible para cada uno de los discos montados en el sistema de archivos. Ambos poseen la opción -h
(legible por humanos: «human readable») convierte los tamaños en unidades más legibles (frecuentemente mebibytes o gibibytes). De forma similar, el programa free
soporta las opciones -m
y -g
con las que mostrará, respectivamente, los datos en mebibytes o gibibytes.
$
free
total used free shared buff/cache available
Mem: 16279260 5910248 523432 871036 9845580 9128964
Swap: 16601084 240640 16360444
$
df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 8108516 0 8108516 0% /dev
tmpfs 1627928 161800 1466128 10% /run
/dev/mapper/vg_main-root 466644576 451332520 12919912 98% /
tmpfs 8139628 146796 7992832 2% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 8139628 0 8139628 0% /sys/fs/cgroup
/dev/sda1 523248 1676 521572 1% /boot/efi
tmpfs 1627924 88 1627836 1% /run/user/1000
El programa id
muestra la identidad del usuario ejecutando la sesión junto con la lista de grupos a los que pertenece. Debido a que el acceso a algunos archivos o dispositivos puede estar limitados a miembros de ciertos grupos, puede ser útil verificar a qué grupos se pertenece.
$
id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)