4 Nëtzlech Tipps iwwer mkdir, tar a kill Kommandoen am Linux


Mir halen weider eng Aufgab konventionell auszeféieren bis mir wëssen datt et op eng vill besser Manéier déi aner Manéier ka gemaach ginn. An der Fortsetzung vun eiser Linux Tipps an Trick Serie sinn ech hei mat de véier Tipps hei ënnen, déi Iech op vill Manéiere hëllefen. Lo geet et lass!

Directory Bam Struktur fir z'erreechen wéi hei ënnendrënner proposéiert.

$ cd /home/$USER/Desktop
$ mkdir tecmint
$ mkdir tecmint/etc
$ mkdir tecmint/lib
$ mkdir tecmint/usr
$ mkdir tecmint/bin
$ mkdir tecmint/tmp
$ mkdir tecmint/opt
$ mkdir tecmint/var
$ mkdir tecmint/etc/x1
$ mkdir tecmint/usr/x2
$ mkdir tecmint/usr/x3
$ mkdir tecmint/tmp/Y1
$ mkdir tecmint/tmp/Y2
$ mkdir tecmint/tmp/Y3
$ mkdir tecmint/tmp/Y3/z

Den uewe genannte Szenario kann einfach erreecht ginn andeems Dir den ënnen 1-Liner Kommando leeft.

$ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

Fir z'iwwerpréiwen kënnt Dir de Bam Kommando benotzen. Wann net installéiert, kënnt Dir de Package 'Bam' apt oder yum.

$ tree tecmint

Mir kënne Verzeechnesbaumstruktur vun all Komplexitéit erstellen andeems Dir déi uewe genannte Manéier benotzt. Notéiert et ass näischt anescht wéi en normale Kommando awer et benotzt {} fir Hierarchie vun Verzeichnisser ze kreéieren. Dëst ka ganz hëllefräich beweisen wann se vu bannen vun engem Shell-Skript benotzt gëtt wann néideg an allgemeng.

ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Wat géif en normale Benotzer an dësem Szenario maachen?

a. Hie wäert d'Datei als éischt erstellen, am léifsten mam Touch Kommando, wéi:

$ touch /home/$USER/Desktop/test

b. Hie benotzt en Texteditor fir d'Datei opzemaachen, deen Nano, Vim oder all aner Editor ka sinn.

$ nano /home/$USER/Desktop/test

c. Hie wäert dann den uewe genannten Text an dës Datei setzen, späicheren an erausgoen.

Also onofhängeg vun der Zäit déi hien/hatt geholl huet, brauch hien op d'mannst 3 Schrëtt fir dat uewe genannte Szenario auszeféieren.

Wat wäert e Smart erfuerene Linux-er maachen? Hie schreift just den Text hei ënnen an engem Go op Terminal an alles gemaach. Hien brauch net all Aktioun separat ze maachen.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

Dir kënnt de Kommando cat benotzen fir ze kontrolléieren ob d'Datei a säin Inhalt erfollegräich erstallt goufen oder net.

$ cat /home/avi/Desktop/test

Mir maachen normalerweis zwou Saachen an dësem Szenario.

a. Kopéiert/bewegt den Teerkugel an extrahéiert se op der Destinatioun, wéi:

$ cp firefox-37.0.2.tar.bz2 /opt/
or
$ mv firefox-37.0.2.tar.bz2 /opt/

b. cd an /opt/ Verzeichnis.

$ cd /opt/

c. Extrait den Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

Mir kënnen dat ëmgedréint maachen.

Mir extrahéieren den Tarball wou et ass a kopéiert/réckelt den extrahéierten Archiv op déi erfuerderlech Destinatioun als:

$ tar -jxvf firefox-37.0.2.tar.bz2 
$ cp -R firefox/  /opt/
or
$ mv firefox/ /opt/

An all Fall hëlt d'Aarbecht zwee oder Schrëtt fir ze kompletéieren. De Fachmann kann dës Aufgab an engem Schrëtt fäerdeg maachen wéi:

$ tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

D'Optioun -C mécht Tar Extrait den Archiv am spezifizéierten Dossier (hei /opt/).

Nee et geet net ëm eng Optioun (-C) mee et geet ëm Gewunnechten. Maacht eng Gewunnecht fir Optioun -C mat Tar ze benotzen. Et wäert Äert Liewen erliichteren. Vun elo un réckelt d'Archiv net oder kopéiert/réckelt déi extrahéiert Datei, loosst just den TAR-Ball am Downloads Dossier an extrahéiert se iwwerall wou Dir wëllt.

Am meeschten allgemenge Wee lëschte mir als éischt de ganze Prozess mam Kommando ps -A op a pipeline et mat grep fir e Prozess/Service ze fannen (soen apache2), einfach wéi:

$ ps -A | grep -i apache2
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

Déi uewe Ausgab weist all aktuell Lafen Apache2 Prozesser mat hire PIDs, Dir kënnt dann dës PIDs benotze fir Apache2 mat der Hëllef vum folgenden Kommando ëmzebréngen.

# kill 1006 2702 2703 2704 2705 2706 2707

an dann iwwerpréift ob e Prozess/Service mam Numm 'apache2' leeft oder net, wéi:

$ ps -A | grep -i apache2

Wéi och ëmmer, mir kënnen et an engem méi verständleche Format maachen mat Utilities wéi pgrep a pkill. Dir kënnt relevant Informatioun iwwer e Prozess fannen just andeems Dir pgrep benotzt. Sot Dir musst d'Prozessinformatioun fir apache2 fannen, Dir kënnt einfach maachen:

$ pgrep apache2
15396
15400
15401
15402
15403
15404
15405

Dir kënnt och Prozessnumm géint Pid oplëschten andeems Dir leeft.

$ pgrep -l apache2
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Fir e Prozess mat pkill ëmzebréngen ass ganz einfach. Dir gitt just den Numm vun der Ressource fir ëmzebréngen an Dir sidd fäerdeg. Ech hunn e Post iwwer pkill geschriwwen, deen Dir gär hei bezeechnen: https://linux-console.net/how-to-kill-a-process-in-linux/.

Fir e Prozess ëmzebréngen (soen Apache2) mat pkill, alles wat Dir maache musst ass:

# pkill apache2

Dir kënnt verifizéieren ob Apache2 ëmbruecht gouf oder net andeems Dir de Kommando ënnen leeft.

$ pgrep -l apache2

Et gëtt d'Prompt zréck a dréckt näischt heescht datt et kee Prozess mam Numm apache2 leeft.

Dat ass alles fir de Moment, vu mir. All déi uewe diskutéiert Punkte sinn net genuch, awer wäerte sécher hëllefen. Mir mengen net nëmmen Tutorials ze produzéieren fir Iech all Kéier eppes Neies ze léieren, awer wëllen och weisen 'Wéi méi produktiv am selwechte Frame ze sinn'. Gitt eis Äre wäertvolle Feedback an de Kommentaren hei drënner. Halt verbonnen. Kommentéieren weider.