Si bé aquest llibre s'adreça principalment a administradors i a “usuaris avançats”, no voldríem excloure als principiants motivats. Aquest apèndix serà, per tant, un curs de xoc que descriurà els conceptes fonamentals que implica la manipulació d'un ordinador Unix.
B.1. Ordres bàsiques i de l'intèrpret de comandes
En el món Unix, cada administrador ha d'utilitzar la línia d'ordres tard o d'hora; per exemple, quan el sistema no s'inicia correctament i només proporciona un mode de rescat de línia d'ordres. Per tant, ser capaç de manejar una interfície d'aquest tipus és una habilitat de supervivència bàsica per a aquestes circumstàncies.
Aquesta secció només fa una ullada ràpida a les ordres. Totes tenen moltes opcions que no es descriuen aquí, així que si us plau, consulteu l'abundant documentació en les seves respectives pàgines del manual.
B.1.1. Navegació per l'arbre de directoris i gestió de fitxers
Un cop oberta una sessió, l'ordre pwd
(que ve de l'anglès «print working directory» i vol dir imprimir el directori de treball) mostra la ubicació actual en el sistema de fitxers. El directori actual es canvia amb l'ordre cd directori
(cd
vol dir canviar de directori o “change directory” en anglès). El directori pare sempre s'anomena ..
(dos punts), mentre que el directori actual també se'l coneix com a .
(un punt). L'ordre ls
permet llistar el contingut d'un directori. Si no se li passa cap paràmetre, operarà en el directori 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
Es pot crear un directori nou amb mkdir directori
, i es pot eliminar un directori existent (buit) amb rmdir directori
. L'ordre mv
permet moure i/o reanomenar fitxers i directoris; eliminar un fitxer s'aconsegueix amb rm fitxer
.
$
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. Visualització i modificació de fitxers de text
L'ordre cat fitxer
(pensada per concatenar fitxers al dispositiu de sortida estàndard) llegeix un fitxer i mostra el seu contingut al terminal. Si el fitxer és massa gran per a cabre en una pantalla, utilitzeu un paginador com ara less
(o more
) per a mostrar-lo pàgina per pàgina.
L'ordre editor
inicia un editor de text (com ara vi
o nano
) i permet crear, modificar i llegir fitxers de text. Els fitxers més simples de vegades es poden crear directament des de l'intèrpret d'ordres gràcies a la redirecció: echo "text" >fitxer
crea un fitxer anomenat fitxer amb “text” com a contingut. També és possible afegir una línia al final d'aquest fitxer amb una ordre com ara echo "més text" >>fitxer
. Tingueu en compte el >>
en aquest exemple.
B.1.3. Cerca de fitxers i a l'interior de fitxers
L'ordre find directori criteri
cerca fitxers a la jerarquia sota directori segons diversos criteris. El criteri més utilitzat és -name nom
: això permet buscar un fitxer pel seu nom.
L'ordre
grep expressió fitxers
cerca el contingut dels fitxers i extreu les línies que coincideixen amb l'expressió regular (vegeu la barra lateral
TORNAR A LES BASES Expressions regulars). Afegir l'opció
-r
permet una cerca recursiva en tots els fitxers continguts al directori passat com a paràmetre. Això permet cercar un fitxer quan només es coneix una part del contingut.
B.1.4. Gestió de processos
L'ordre ps aux
llista els processos que s'estan executant i ajuda a identificar-los mostrant el seu pid (identificador de procés). Una vegada que es coneix el pid d'un procés, l'ordre kill -senyal pid
permet enviar un senyal (si el procés pertany a l'usuari actual). Existeixen diversos senyals; els més comunament utilitzats són TERM
(petició per acabar ordenadament ) i KILL
(per forçar-ne la finalització).
L'intèrpret d'ordres també pot executar programes en segon pla si l'ordre és seguida per un “&”. Utilitzant l'ampersand, l'usuari reprèn el control de l'intèrpret de comandes immediatament tot i que l'ordre encara s'està executant (oculta a l'usuari, com a procés en segon pla). L'ordre jobs
llista els processos que s'executen en segon pla; executant fg %número-de-procés
(fg de «foreground» o “primer pla”) restaura una tasca en primer pla. Quan una ordre s'executa en primer pla (ja sigui perquè s'ha iniciat normalment, o perquè s'ha retornat al primer pla amb fg
), la combinació de tecles Control+Z posa en pausa el procés i retorna al control de la línia d'ordres. El procés es pot reiniciar en segon pla amb bg %número-de-procés
(bg de background o “segon pla”).
B.1.5. Informació del sistema: memòria, espai de disc, identitat
L'ordre free
mostra informació sobre la memòria; df
(disk free o “disc lliure”) informa sobre l'espai disponible de disc en cadascun dels discos muntats en el sistema de fitxers. L'opció -h
(de «human readable» o “llegible per humans”) converteix les mides en una unitat més entenedora (normalment “mebibytes” o “gibibytes”). De manera similar, l'ordre free
admet les opcions -m
i -g
, i mostra les seves dades tant en “mebibytes” com en “gibibytes”, respectivament.
$
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
L'ordre id
mostra la identitat de l'usuari que executa la sessió, juntament amb la llista de grups als quals pertany. Atès que l'accés a alguns fitxers o dispositius pot estar limitat als membres del grup, comprovar la pertinença a grups pot ser útil.
$
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)