Sèrie RHCSA: Com realitzar la gestió de fitxers i directoris - Part 2
En aquest article, RHCSA Part 2: Gestió de fitxers i directoris, revisarem algunes habilitats essencials que es requereixen en les tasques diàries d'un administrador del sistema.
Crear, suprimir, copiar i moure fitxers i directoris
La gestió de fitxers i directoris és una competència crítica que ha de tenir tot administrador de sistemes. Això inclou la possibilitat de crear/suprimir fitxers de text des de zero (el nucli de la configuració de cada programa) i directoris (on organitzaràs fitxers i altres directoris) i esbrinar el tipus de fitxers existents.
L'ordre tàctil es pot utilitzar no només per crear fitxers buits, sinó també per actualitzar els temps d'accés i modificació dels fitxers existents.
Podeu utilitzar fitxer [nom del fitxer]
per determinar el tipus d'un fitxer (això us serà útil abans d'iniciar el vostre editor de text preferit per editar-lo).
i rm [nom del fitxer]
per eliminar-lo.
Pel que fa als directoris, podeu crear directoris dins dels camins existents amb mkdir [directori]
o crear un camí complet amb mkdir -p [/full/path/to/directory]
.
Quan es tracta d'eliminar directoris, heu d'assegurar-vos que estiguin buits abans d'emetre l'ordre rmdir [directori]
, o utilitzar l'ordre més potent (manegeu amb cura!) rm -rf [directori]
. Aquesta darrera opció obligarà a eliminar recursivament el [directori]
i tot el seu contingut, així que utilitzeu-lo sota el vostre propi risc.
Redirecció d'entrada i sortida i canalització
L'entorn de la línia d'ordres ofereix dues característiques molt útils que permeten redirigir l'entrada i sortida d'ordres des i cap a fitxers, i enviar la sortida d'una ordre a una altra, anomenada redirecció i canalització, respectivament.
Per entendre aquests dos conceptes importants, primer hem d'entendre els tres tipus més importants de fluxos (o seqüències) de caràcters d'E/S (entrada i sortida), que de fet són fitxers especials, en el sentit *nix de la paraula.
- L'entrada estàndard (també conegut com stdin) s'adjunta per defecte al teclat. En altres paraules, el teclat és el dispositiu d'entrada estàndard per introduir ordres a la línia d'ordres.
- La sortida estàndard (també coneguda com stdout) s'adjunta per defecte a la pantalla, el dispositiu que \reb la sortida de les ordres i les mostra a la pantalla.
- L'error estàndard (també conegut com stderr), és on s'envien els missatges d'estat d'una ordre de manera predeterminada, que també és la pantalla.
A l'exemple següent, la sortida de ls /var
s'envia a stdout (la pantalla), així com el resultat de ls /tecmint. Però en aquest últim cas, el que es mostra és stderr.
Per identificar més fàcilment aquests fitxers especials, se'ls assigna a cadascun un descriptor de fitxer, una representació abstracta que s'utilitza per accedir-hi. L'essencial a entendre és que aquests fitxers, igual que altres, es poden redirigir. Això vol dir que podeu capturar la sortida d'un fitxer o script i enviar-la com a entrada a un altre fitxer, ordre o script. Això us permetrà emmagatzemar al disc, per exemple, la sortida de les ordres per al seu processament o anàlisi posterior.
Per redirigir stdin (fd 0), stdout (fd 1) o stderr (fd 2), els operadors següents estan disponibles.
A diferència de la redirecció, la canalització es realitza afegint una barra vertical (|)
després d'una ordre i abans d'una altra.
Recordeu:
- La redirecció s'utilitza per enviar la sortida d'una ordre a un fitxer o per enviar un fitxer com a entrada a una ordre.
- La canalització s'utilitza per enviar la sortida d'una ordre a una altra ordre com a entrada.
Hi haurà moments en què haureu de repetir una llista de fitxers. Per fer-ho, primer podeu desar aquesta llista en un fitxer i després llegir-lo línia per línia. Tot i que és cert que podeu iterar directament sobre la sortida de ls, aquest exemple serveix per il·lustrar la redirecció.
# ls -1 /var/mail > mail.txt
En cas que volem evitar que es mostrin tant stdout com stderr a la pantalla, podem redirigir els dos descriptors de fitxer a /dev/null
. Observeu com canvia la sortida quan s'implementa la redirecció per a la mateixa ordre.
# ls /var /tecmint # ls /var/ /tecmint &> /dev/null
Mentre que la sintaxi clàssica de l'ordre cat és la següent.
# cat [file(s)]
També podeu enviar un fitxer com a entrada, utilitzant l'operador de redirecció correcte.
# cat < mail.txt
Si teniu un directori o una llista de processos gran i voleu poder localitzar un fitxer o procés determinat d'un cop d'ull, voldreu canalitzar la llista a grep.
Tingueu en compte que utilitzem pipelines a l'exemple següent. El primer cerca la paraula clau necessària, mentre que el segon eliminarà l'ordre grep
real dels resultats. Aquest exemple enumera tots els processos associats amb l'usuari apache.
# ps -ef | grep apache | grep -v grep