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.

  1. 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.
  2. 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.
  3. 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:

  1. 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.
  2. 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