4 Korisna savjeta o mkdir, tar i kill komandama u Linuxu


Nastavljamo da izvršavamo zadatak na konvencionalni način sve dok ne shvatimo da se to može učiniti na mnogo bolji način na drugi način. U nastavku naše serije Linux savjeta i trikova, ovdje sam sa četiri savjeta u nastavku koji će vam pomoći na mnogo načina. Idemo!

1. Trebalo bi da kreirate dugo/složeno stablo direktorijuma slično dole navedenom. Koji je najefikasniji način da se to postigne?

Strukturu stabla direktorija treba postići kako je predloženo u nastavku.

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

Gornji scenario se jednostavno može postići pokretanjem donje naredbe od 1 reda.

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

Za potvrdu možete koristiti naredbu tree. Ako nije instaliran, možete apt ili yum paket „tree“.

tree tecmint

Možemo kreirati strukturu stabla direktorija bilo koje složenosti koristeći gornji način. Obratite pažnju da to nije ništa drugo do normalna komanda, ali koristi {} za kreiranje hijerarhije direktorija. Ovo se može pokazati vrlo korisnim ako se koristi unutar shell skripte kada je to potrebno i općenito.

2. Kreirajte datoteku (recimo test) na radnoj površini (/home/$USER/Desktop) i popunite je sadržajem ispod.
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Šta bi normalan korisnik uradio u ovom scenariju?

a. On će prvo kreirati datoteku, po mogućnosti koristeći dodirnu komandu, kao:

touch /home/$USER/Desktop/test

b. On će koristiti uređivač teksta da otvori fajl, koji može biti nano, vim ili bilo koji drugi uređivač.

nano /home/$USER/Desktop/test

c. Zatim će staviti gornji tekst u ovu datoteku, sačuvati i izaći.

Dakle, bez obzira na vrijeme koje je on/ona potrošio, potrebna su mu najmanje 3 koraka da izvrši gore navedeni scenarij.

Šta će pametan iskusni Linux-er učiniti? On će samo jednom ukucati donji tekst na terminalu i sve je gotovo. On ne mora da radi svaku radnju posebno.

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

Možete koristiti naredbu „cat“ da provjerite jesu li datoteka i njen sadržaj uspješno kreirani ili ne.

cat /home/avi/Desktop/test

3. Na Linuxu se vrlo često bavimo arhivama (posebno TAR loptama). U mnogim slučajevima moramo koristiti tu TAR loptu na nekoj lokaciji osim u folderu Downloads. Šta radimo u ovom scenariju?

Obično radimo dvije stvari u ovom scenariju.

a. Kopirajte/premjestite tar loptu i izvucite je na odredištu, kao:

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

b. cd u /opt/ direktorij.

cd /opt/

c. Izvucite Tarball.

tar -jxvf firefox-37.0.2.tar.bz2 

Možemo ovo uraditi i obrnuto.

Izvući ćemo Tarball tamo gdje se nalazi i kopirati/premjestiti izvađenu arhivu na traženo odredište kao:

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

U oba slučaja posao treba da se završi u dva ili dva koraka. Profesionalac može izvršiti ovaj zadatak u jednom koraku kao:

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

Opcija -C čini da tar izvuče arhivu u navedeni folder (ovdje /opt/).

Ne, ne radi se o opciji (-C), nego o navikama. Napravite naviku da koristite opciju -C sa tar. To će vam olakšati život. Od sada nemojte premještati arhivu niti kopirati/premeštati ekstrahiranu datoteku, samo ostavite TAR-kuglu u folderu Preuzimanja i raspakirajte ga gdje god želite.

4. Kako ubijamo proces na tradicionalan način?

Na najopćenitiji način, prvo navodimo sve procese koristeći naredbu ps -A i šaljemo ih grep da pronađemo proces/uslugu (recimo apache2 >), jednostavno kao:

ps -A | grep -i apache2
Sample Output
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

Gornji izlaz prikazuje sve trenutno pokrenute apache2 procese sa njihovim PID-ovima, zatim možete koristiti ove PID-ove da ubijete apache2 uz pomoć sljedeće naredbe.

kill 1006 2702 2703 2704 2705 2706 2707

a zatim unakrsno provjerite da li je neki proces/usluga s imenom „apache2“ pokrenut ili ne, kao:

ps -A | grep -i apache2

Međutim, možemo to učiniti u razumljivijem formatu koristeći uslužne programe kao što su pgrep i pkill. Relevantne informacije o procesu možete pronaći samo koristeći pgrep. Recimo da morate pronaći informacije o procesu za apache2, možete jednostavno učiniti:

pgrep apache2
Sample Output
15396
15400
15401
15402
15403
15404
15405

Također možete navesti ime procesa u odnosu na pid pokretanjem.

pgrep -l apache2
Sample Output
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Ubiti proces pomoću pkill je vrlo jednostavno. Samo ukucate ime resursa za ubijanje i gotovi ste. Napisao sam objavu o pkillu koju biste možda željeli pogledati ovdje: https://linux-console.net/how-to-kill-a-process-in-linux/.

Da ubijete proces (recimo apache2) koristeći pkill, sve što trebate učiniti je:

pkill apache2

Možete provjeriti da li je apache2 ubijen ili ne tako što ćete pokrenuti naredbu ispod.

pgrep -l apache2

Vraća prompt i ne ispisuje ništa znači da se ne pokreće proces pod imenom apache2.

To je sve za sada, od mene. Sve gore navedene tačke nisu dovoljne, ali će sigurno pomoći. Ne samo da želimo izraditi tutorijale kako biste naučili nešto novo svaki put, već želimo i pokazati „Kako biti produktivniji u istom okviru“. Dajte nam svoje vrijedne povratne informacije u komentarima ispod. Ostanite povezani. Nastavite komentarisati.