RHCSA Serie: Wéi Dir Datei- a Verzeechnesmanagement ausféiert - Deel 2


An dësem Artikel, RHCSA Deel 2: Datei- a Verzeechnesmanagement, wäerte mir e puer wesentlech Fäegkeeten iwwerpréiwen, déi an den alldeeglechen Aufgabe vun engem Systemadministrator erfuerderlech sinn.

Erstellt, läschen, kopéieren a réckelen Dateien a Verzeichnisser

Datei- an Verzeechnesmanagement ass eng kritesch Kompetenz déi all Systemadministrator soll besëtzen. Dëst beinhalt d'Fäegkeet Textdateien vun Null ze kreéieren/ze läschen (de Kär vun der Konfiguratioun vun all Programm) an Verzeichnisser (wou Dir Dateien an aner Verzeichnisser organiséiert), an d'Art vun existente Dateien erauszefannen.

Den Touch Kommando kann net nëmme benotzt ginn fir eidel Dateien ze kreéieren, awer och fir den Zougangs- an Ännerungszäiten vun existente Dateien ze aktualiséieren.

Dir kënnt Datei [Dateiname] benotze fir den Typ vun engem Fichier ze bestëmmen (dëst wäert praktesch kommen ier Dir Äre gewënschte Texteditor lancéiert fir se z'änneren).

an rm [Dateiname] fir et ze läschen.

Wat d'Verzeichnungen ugeet, kënnt Dir Verzeichnisser bannent existente Weeër erstellen mat mkdir [Verzeichnis] oder e komplette Wee mat mkdir -p [/full/path/to/directory] erstellen.

Wann et drëm geet Verzeichnisser ze läschen, musst Dir sécher sinn datt se eidel sinn ier Dir de Kommando rmdir [Verzeichnis] ausgëtt, oder benotzt de méi mächtege (mat Vorsicht behandelen!) rm -rf [Verzeechnes]. Dës lescht Optioun forcéiert de [Verzeichnis] an all säin Inhalt rekursiv ewechzehuelen - also benotzt se op Ären eegene Risiko.

Input an Output Viruleedung a Pipelining

D'Command Line Ëmfeld bitt zwee ganz nëtzlech Funktiounen, déi et erlaabt den Input an Output vun Kommandoen vun an op Dateien ze redirectéieren, an d'Output vun engem Kommando an en aneren ze schécken, respektiv Redirection a Pipelining genannt.

Fir déi zwee wichteg Konzepter ze verstoen, musse mir als éischt déi dräi wichtegst Aarte vun I/O (Input an Output) Streamen (oder Sequenzen) vu Charaktere verstoen, déi tatsächlech speziell Dateien sinn, am *nix Sënn vum Wuert.

  1. Standard Input (alias stdin) ass als Standard un der Tastatur verbonnen. An anere Wierder, d'Tastatur ass de Standard-Input-Apparat fir Kommandoen op d'Kommandozeil anzeginn.
  2. Standardausgang (alias stdout) ass par défaut um Écran befestegt, den Apparat deen d'Output vu Kommandoen empfänkt an se um Bildschierm affichéiert.
  3. Standardfehler (alias stderr), ass wou d'Statusmeldungen vun engem Kommando als Standard geschéckt ginn, wat och den Écran ass.

Am folgende Beispill gëtt d'Ausgab vun ls /var op stdout (den Écran) geschéckt, souwéi d'Resultat vun ls /tecmint. Awer am leschte Fall ass et stderr déi gewise gëtt.

Fir dës speziell Dateie méi einfach z'identifizéieren, gi se jidderee e Dateideskriptor zougewisen, eng abstrakt Representatioun déi benotzt gëtt fir Zougang zu hinnen ze kréien. Déi wesentlech Saach fir ze verstoen ass datt dës Dateien, grad wéi anerer, ëmgeleet kënne ginn. Wat dat heescht ass datt Dir den Ausgang vun enger Datei oder engem Skript erfaasse kënnt an als Input an eng aner Datei, Kommando oder Skript schécken. Dëst erlaabt Iech op Disk ze späicheren, zum Beispill d'Ausgab vu Kommandoen fir spéider Veraarbechtung oder Analyse.

Fir stdin (fd 0), stdout (fd 1) oder stderr (fd 2) ze redirectéieren, sinn déi folgend Betreiber verfügbar.

Am Géigesaz zum Viruleedung gëtt d'Pipelining duerchgefouert andeems Dir eng vertikal Bar (|) no engem Kommando a virun engem aneren bäidréit.

Denkt drun:

  1. Redirection gëtt benotzt fir den Ausgang vun engem Kommando an eng Datei ze schécken, oder fir e Fichier als Input op e Kommando ze schécken.
  2. Pipelining gëtt benotzt fir den Ausgang vun engem Kommando op en anere Kommando als Input ze schécken.

Et ginn Zäite wou Dir musst iwwer eng Lëscht vun Dateien iteréieren. Fir dat ze maachen, kënnt Dir dës Lëscht als éischt an eng Datei späicheren an dann dës Datei Zeil fir Zeil liesen. Och wann et richteg ass datt Dir iwwer d'Output vun ls direkt iteréiere kënnt, déngt dëst Beispill fir Viruleedung ze illustréieren.

# ls -1 /var/mail > mail.txt

Am Fall wou mir wëllen verhënneren datt souwuel stdout wéi och stderr um Bildschierm ugewise ginn, kënne mir béid Dateidescriptoren op /dev/null redirectéieren. Notéiert wéi d'Ausgab ännert wann d'Redirectioun fir deeselwechte Kommando ëmgesat gëtt.

# ls /var /tecmint
# ls /var/ /tecmint &> /dev/null

Wärend déi klassesch Syntax vum Kaz Kommando ass wéi follegt.

# cat [file(s)]

Dir kënnt och eng Datei als Input schécken, andeems Dir de richtege Viruleedungsoperateur benotzt.

# cat < mail.txt

Wann Dir e grousst Verzeechnes oder Prozessoplëschtung hutt a wëllt fäeg sinn e bestëmmte Fichier oder Prozess op ee Bléck ze fannen, wëllt Dir d'Lëscht op grep pipelineéieren.

Notéiert datt mir Pipelines am folgende Beispill benotzen. Déi éischt sicht no dat erfuerderlecht Schlësselwuert, während deen zweeten den aktuellen grep Kommando aus de Resultater eliminéiert. Dëst Beispill listet all Prozesser, déi mam Apache Benotzer verbonne sinn.

# ps -ef | grep apache | grep -v grep