GNU/Linux - 2. deo - Osnovne komande
Uvod
Nakon uvoda u tematiku GNU/Linux distribucija, na red prirodno dolazi upoznavanje sa osnovnim komandama za administraciju sistema.
Možemo reći da su čak i osnovne komande na UNIX-olikim operativnim sistemima veoma zanimljive same po sebi (i zaista tako smatramo), međutim, sasvim je moguće da mnogi čitaoci - na samom početku bavljenja Linux-om - neće deliti izneti entuzijazam.
U tom slučaju, pokušaćemo (pre nego što se posvetimo izučavanju komandi), da ponudimo praktičan način gledanja na stvari, koji vam možda nije padao na pamet do sada ....
Priprema
Osnovne komande (bilo kog) operativnog sistema, sa jedne strane mogu delovati kao "gomila koječega, koja se ('eto') mora naučiti", ali, sa druge strane - u najpraktičnijem smislu - u pitanju su komande koje omogućavaju efikasno bavljenje 'konkretnijim' aktivnostima (kao što su: programiranje, web dizajn, grafički dizajn i sl).
Shodno navedenom, predlažemo da osnovne UNIX komande (umesto kao "gomilu koječega"), radije shvatite kao "kolekciju dobro napisanih pomoćnih programa koji pouzdano obavljaju osnovne zadatke", odnosno (još praktičnije), predlažemo da savladavanje osnovnih komandi (umesto kao "kuluk"), shvatite isključivo kao dugoročnu investiciju u sopstveno obrazovanje - koja se i te kako isplati na duže staze.
Deluje da komandi ima "poprilično", međutim, pod uslovom da se trudite i da se postepeno upoznajete sa komandama (ali - bez napinjanja i želje da sve savladate "odmah i sad"), posle nekog vremena, shvatićete da (već) poznajete prilično velik broj naredbi, opcija i podopcija (na primer, mnogo više nego što je prikazano u ovom članku), i shvatićete da sve - jednostavno rečeno - nije (bilo) toliko teško.
U članku koji je pred nama, upoznaćemo se sa osnovnim komandama, a u narednim člancima pažnju ćemo posvetiti naprednijim konzolnim komandama za obradu teksta i principima funkcionisanja shell skripti.
Nekoliko važnih komandi opšteg tipa
Za sam početak (kao 'lagano zagrevanje' pre nego što pređemo na komande za rad sa datotekama i direktorijumima), prikazaćemo nekoliko važnih i korisnih komandi opšteg tipa.
man - uputstva za korišćenje programa
Reklo bi se da je prvo pitanje pri savladavanju (bilo koje) nove veštine: odakle "crpeti" informacije?!
U slučaju GNU/Linux distribucija i programa koji se pokreću pod Linux-om, prva (i gotovo uvek dostupna) opcija, podrazumeva čitanje dokumentacije koja dolazi uz same programe (druga opcija je traženje informacija online, a tu je naravno i razgovor sa kolegama/prijateljima/poznanicima koji su upućeni u tematiku).
Preko komande man
(skraćeno od eng. "manual" - uputstvo), moguće je pristupiti uputstvu za upotrebu određenog programa:
Komanda koju smo naveli u gornjem primeru, prikazaće uputstvo za upotrebu programa ls
, ali - u opštem smislu - princip važi i za druge instalirane programe, uz koje tipično dolazi "man stranica" (eng. man page), specijalno formatirana tekstualna datoteka koja se otvara preko komande man
.
sudo (zadavanje root privilegija)
Druga komanda kojoj posvećujemo pažnju na početku, omogućava pokretanje komandi koje zahtevaju administratorske privilegije, ali (naravno) - bez doslovnog prijavljivanja na administratorski (tj. "root") nalog.
Iako su korisničke privilegije tema kojoj ćemo tek posvetiti pažnju za prave, za početak je dovoljno da se podsetimo na to, da (po pravilu i uz veoma retke izuzetke), root nalog ne treba koristiti direktno, već za svakodnevnu administraciju treba koristiti obične korisničke naloge, ali - korisničke naloge kojima je dato pravo korišćenja komande sudo
(ili, uprošćeno, obične korisničke naloge koji - po potrebi - mogu koristiti administratorske privilegije).
U praksi, kada određenoj komandi prethodi komanda sudo
(Substitute User - Do), osnovna komanda se izvršava sa administratorskim privilegijama (ali, da ponovimo - samo pod uslovom da korisnik ima pravo da koristi komandu sudo
): *
U primeru koji smo videli, poziva se komanda za restartovanje sistema (koja se na Linux-u zapravo ne može izvršavati bez administratorskih privilegija).
alias (prečice za pokretanje programa)
Treća komanda iz grupe 'uvodnih' komandi, omogućava korisnicima da programe pozivaju korišćenjem alternativnih imena (koja sami biraju).
U praktičnom smislu, može se reći da je u pitanju način za definisanje tekstualnih prečica za komande, u okviru shell programa (najčešće, za komande koje su same po sebi (pre)dugačke, ili, za komande koje nisu (same po sebi) preobimne za kucanje, ali nisu ni "neobimne", i pri tom se koriste veoma često).
Recimo, ukoliko ustanovite da često postoji potreba za tim da se prebacite u direktorijum /home/korisnik_1/kodovi/python
(uzećemo za početak "nedrastičan" primer da ne bismo bez potrebe navodili putanje ili komande od stotinjak znakova), možete otvoriti datoteku ~/.bashrc
, * i dodati sledeću liniju:
Pošto restartujete terminal, komanda cdp
imaće (nadalje) isto dejstvo kao i komanda cd /home/korisnik_1/kodovi/python
.
(Kasnije ćemo prikazati još nekoliko sličnih primera.)
Komande za rad sa direktorijumima i datotekama
Pravilna upotreba direktorijuma i datoteka omogućava optimalno raspoređivanje podataka koje koristimo svakodnevno (izvorne datoteke, dokumentacija, slike, izvršne datoteke i sl), i svakako je neophodno biti što bolje upoznat sa komandama za rad sa direktorijumima i datotekama (i koristiti ih na što efikasniji način).
pwd - ispis naziva aktivnog direktorijuma
Komanda pwd
(Print Working Directory), ispisuje naziv trenutno aktivnog direktorijuma.
Može se reći da komanda pwd
nema preveliki značaj u svakodnevnom radu (sama po sebi), budući da shell prompt tipično sadrži naziv aktivnog direktorijuma, ali, u pisanju shell skripti - dobro dođe.
Na ovom mestu, osvrnućemo se i na jednu korisnu prečicu: znak ~
(tilda) koristi se u shell programima (i inače u UNIX/Linux svetu), za označavanje home direktorijuma trenutno prijavljenog korisnika, što praktično znači da se putanja nalik na /home/korisnik_111
, doslovno može zameniti putanjom ~
pri pisanju komandi; naravno - pod uslovom da se naredbe izvršavaju preko naloga korisnik_111
.
ls - prikaz sadržaja aktivnog direktorijuma
Komanda ls
(List), prikazuje sadržaj aktivnog direktorijuma.
Ako se komanda ls
pozove bez dodatnih opcija (i ako prethodno nije definisan alias koji menja smisao poziva "ls") ....
.... dobija se prost listing trenutno aktivnog direktorijuma:
Osnovni prikaz ima sledeće odlike:
- nisu prikazane skrivene ("dot") datoteke
- direktorijumi i datoteke su sortirani po imenima (pri čemu se direktorijumi ne prikazuju pre datoteka)
- direktorijumi se ni po čemu (vizuelno) ne razlikuju od datoteka
- prikaz je linijski (direktorijumi i datoteke su prikazani jedni pored drugih, umesto jedni ispod drugih)
Ukoliko je potrebno upriličiti prikaz koji podrazumeva tabelarnu strukturu i 'neskrivanje' dot datoteka i direktorijuma (a uključićemo i prikaz u boji i grupisanje direktorijuma i datoteka), komanda ls
se poziva uz sledeće opcije:
-a
(all) - prikaz svih datoteka i direktorijuma (uključujući i dot datoteke i direktorijume)-l
(list) - tabelarni prikaz datoteka i direktorijuma ("jednih ispod drugih"), sa dodatnim informacijama-h
(human readable) - prikaz veličina datoteka na "prirodan" (tj. "ljudski") način, uz korišćenje jedinica kao što su Kilobajti, Megabajti i druge veće jedinice (u suprotnom, sve prikazane veličine su izražene u Bajtovima)--color
- korišćenje različitih boja pri označavanju direktorijuma i datoteka (u prikazu)--group-directories-first
- prikaz (svih) direktorijuma pre (običnih) datoteka
Kada se pozove sledeća naredba .....
.... pri čemu se poziv može dodatno uprostiti na sledeći način ....
.... kao izlaz u konzoli dobija se sledeći ispis:
Naravno, za poslednji poziv može se definisati i alias (koji se može upisati u datoteku ~/.bashrc
):
.... posle čega će prosto pozivanje komande ls
podrazumevati:
- prikaz u obliku tabele (uz korišćenje Kilobajta, Megabajta (i ostalih jedinica))
- prikaz 'skrivenih' datoteka
- korišćenje različitih boja za direktorijume i datoteke
- grupisanje direktorijuma pre datoteka
Ukoliko je (u nekom kasnijem trenutku), zapravo potrebno pozvati komandu ls
u izvornom obliku, može se kao prefiks dodati obrnuta kosa crta:
.... a rezultat je isti ispis kao na slici #6.
cd - promena aktivnog direktorijuma
Komanda cd
(Change Directory), koristi se za promenu aktivnog direktorijuma.
Najprostiji slučaj podrazumeva prebacivanje u poddirektorijum (trenutno aktivnog direktorijuma), što možemo ilustrovati preko primera komande za prebacivanje iz home direktorijuma aktivnog korisnika, u (fiktivni) direktorijum ~/korisnik_1/muzika
:
Po potrebi, moguće je koristiti i apsolutne putanje (sledeća naredba ima isti efekat kao i prethodna):
U praksi, pri prebacivanju u poddirektorijum nema potrebe za navođenjem apsolutne putanje, ali je zato apsolutnu putanju (apsolutno :)) neophodno navesti onda kada se direktorijum u koji se prebacujemo, nalazi na proizvoljnoj putanji, koja nema dodirnih tačaka sa trenutnom putanjom (na čijem je kraju trenutni direktorijum).
Na primer:
Ugrađene prečice
Komanda cd
omogućava lakše dolaženje do određenih uobičajenih lokacija, preko prečica.
Na primer, poziv komande cd
, bez argumen(a)ta ....
.... ili uz argument ~
(s tim da je prvi način mnogo praktičniji) ....
.... zapravo je prečica za prebacivanje u home direktorijum aktivnog korisnika, isto kao da smo pozvali komandu:
Takođe, postoji i jednostavan način za prebacivanje na "roditeljski" direktorijum (tj. direktorijum u kome se aktivni direktorijum nalazi), pozivanjem komande cd
uz argument..
(razmak je obavezan):
Na primer ....
Ako se greškom prebacimo iz određenog direktorijuma u neki drugi, za povratak se ne mora navoditi apsolutna putanja, već i za tako nešto postoji prečica: cd -
(znak minus).
Na primer:
mkdir - kreiranje direktorijuma
Komanda mkdir
koristi se za kreiranje direktorijuma.
Tipičan poziv podrazumeva kreiranje poddirektorijuma ....
.... pri čemu je, u konkretnom primeru (sa gornje slike), kreiran direktorijum rust
(odnosno putanja /home/korisnik_1/kodovi/rust
- preko postojeće putanje /home/korisnik_1/kodovi
).
Za kreiranje direktorijuma, moguće je koristiti i apsolutne putanje ....
.... ali - samo pod uslovom da u navedenoj putanji postoje svi direktorijumi koji prethode direktorijumu koji je potrebno kreirati!
Ukoliko nedostaje bilo koji od prethodećih direktorijuma (koji su navedeni u putanji), sistem će prijaviti grešku, a da se to ne bi dešavalo - potrebno je koristiti dodatni argument (-p
).
mkdir -p - kreiranje celokupne putanje
Ako se komanda mkdir
dopuni argumentom -p
(parent):
.... biće (po potrebi) kreirani svi direktorijumi koji nedostaju.
Opcija -p
funkcioniše i sa relativnim putanjama (koristićemo isti primer):
rmdir - uklanjanje direktorijuma
Komanda rmdir
(remove directory) ....
.... uklanja zadati direktorijum, ali - samo pod uslovom da je navedeni direktorijum prazan!
Ukoliko pomenuti uslov nije zadovoljen, moraju se prethodno ukloniti svi poddirektorijumi i pripadajuće datoteke (tipično: preko komande rm
, uz korišćenje rekurzije).
rm - uklanjanje datoteka i direktorijuma
Komanda rm
koristi se za: uklanjanje pojedinačnih datoteka (i grupa datoteka), ili - uz opciju -r
(recursive) - za (rekurzivno) uklanjanje cele strukture direktorijuma.
Na primer, ako pozovemo sledeću komandu (bez rekurzije):
.... biće uklonjena (jedna) datoteka - cenovnik_2022.pdf
, dok sledeći poziv ....
.... uklanja (rekurzivno), sve datoteke i sve poddirektorijume navedenog direktorijuma i, na kraju - sam direktorijum stari_cenovnici_2011
.
cp - kopiranje datoteka i direktorijuma
Komanda cp
("Copy"), koristi se za kopiranje (tj. umnožavanje) datoteka, uz navođenje: putanje datoteke koja se kopira (u svojstvu prvog argumenta), i putanje nove datoteke (u svojstvu drugog argumenta).
Kao i do sada, putanje mogu biti apsolutne i relativne (naravno, uz poštovanje i svih ostalih prethodno navedenih pravila).
U sledećim primerima smatramo da je aktivni direktorijum - home direktorijum aktivnog korisnika (~
), a objašnjenja su u komentarima:
U gornjim primerima mogli ste primetiti i jednu novinu - pojavu (jedne) tačke.
Pojedinačna tačka u putanjama označava trenutni direktorijum (pwd), što praktično znači da se komanda za kopiranje datoteke unutar istog direktorijuma može poz(i)vati na više načina:
mv - premeštanje i preimenovanje datoteka i direktorijuma
Komanda mv
(move), kao i komanda cp
, takođe prima dva argumenta i može se koristiti za sledeće operacije:
- premeštanje datoteke (u drugi direktorijum)
- promenu naziva datoteke (ukoliko se kao drugi argument preda naziv datoteke na istoj putanji)
U sledećim primerima takođe pretpostavljamo da se nalazimo u home direktorijumu aktivnog korisnika (a opisi su u komentarima):
Kao što vidimo, preimenovanje datoteka se takođe obavlja preko komande mv
(što verujemo da većini korisnika koji se prvi put susreću sa Linux-om, deluje prilično 'čudno'), ali, ako zamislimo 'dodatnu' komandu koja bi služila samo za osnovno preimenovanje pojedinačnih datoteka i direktorijuma, pri čemu bi se komanda izvršavala na sledeći način ....
.... vidimo da je izostanak zasebne (jednostavne) komande za preimenovanje, krajnje razuman izbor.
Međutim, na Linux-u zapravo postoji i sveobuhvatan program rename
, koji pruža razne opcije za preimenovanje datoteka i direktorijuma, ali, prevashodno je namenjen složenijim zadacima koji se tiču preimenovanja datoteka i direktorijuma i (takođe), nije deo paketa GNU Core Utils, pa stoga najčešće nije ni deo diskusije o osnovnim komandama.
rename - preimenovanje uz korišćenje naprednih opcija
Program rename
se izvršava po sledećoj šemi ....
.... ali, najbolje će biti da razmotrimo nekoliko konkretnijih primera:
Kao što vidimo u poslednjem primeru (i kao što ste verovatno i sami očekivali), program rename
je u stanju da koristi regularne izraze (pri čemu je u pitanju regex sintaksa iz programskog jezika Perl), što predstavlja ponešto napredniju opciju sa kojom se možete upoznati pošto se upoznate sa ostalim komandama iz ovog i sledećeg članka.
file - informacije o datoteci
Preko komande file
moguće je dobiti osnovnu informaciju o tipu datoteke (čija se putanja navodi kao argument):
U primeru sa gornje slike, videli smo da je konfiguraciona datoteka programa Bash formatirana kao obična tekstualna (ASCII) datoteka.
Za kraj priče o osnovnim komandama za rad sa direktorijumima i datotekama, prikazaćemo dve vrlo uobičajene komande koje su "po definiciji" namenjene određenim zadacima, ali, u praksi se tipično koriste van osnovne namene (tj. "za nešto drugo").
touch - ažuriranje postojećih datoteka (kreiranje praznih datoteka)
Osnovna namena komande touch
je ažuriranje podataka o vremenu poslednjeg pristupa direktorijumu ili datoteci (što je podatak koji se čuva u okviru fajl sistema), a budući da je komanda touch
svakako bitna i u svojoj osnovnoj nameni, razmotrićemo prvo 'osnovni' primer.
Recimo, ako pretražujemo određeni direktorijum, u potrazi za datotekama koje su poslednji put ažurirane (npr) u novembru 2021, uredno će biti izlistane sve takve datoteke (videli smo u prethodnom članku kako to možemo uraditi preko komande ls
, a u narednom članku ćemo prikazati još detaljniji postupak).
Ako pretragu obavljamo da bismo izdvojili (na određeni način, zarad dalje obrade), sve datoteke koje sadrže podatke koje smatramo zastarelim - i pri tom dalja obrada podrazumeva brisanje - moglo bi se desiti da ostanemo i bez onih datoteka koje nisu dugo ažurirane - ali i dalje sadrže relevantne podatke koji su nam potrebni!
Datoteke se (naravno) mogu otvoriti u editoru, i može se pozvati komanda za čuvanje (čime će biti upisano novo vreme pristupa), ali, u okviru UNIX-a i UNIX-olikih sistema postoji i komanda touch
koja navedeni posao obavlja na elegantniji način.
Ako pozovemo komandu touch
:
.... sve datoteke sa navedenom ekstenzijom, na putanji ~/sajtovi/sajt1
, biće ažurirane po pitanju vremena pristupa.
Kreiranje praznih datoteka
Pored osnovne namene (koju smo prethodno opisali), komanda touch
se mnogo češće koristi za kreiranje novih datoteka.
Kreiranje nove (prazne) datoteke funkcioniše na vrlo jednostavan način: ako se komandi touch
kao argument preda naziv nepostojeće datoteke - biće kreirana prazna datoteka sa navedenim nazivom. *
S obzirom na prethodno navedeni princip, može se reći da komanda touch
predstavlja (u praktičnom smislu), nešto nalik na "mkdir za datoteke".
Prethodno opisani pristup, dobro dođe u situacijama kada je potrebno formatirati konfiguracionu datoteku za određeni program (prikazaćemo primer).
Ako korisnik želi da podesi program prema svojim potrebama, uneće podešavanja u konfiguracionu datoteku - ukoliko takva datoteka (uopšte) postoji, ali, ukoliko datoteka ne postoji - potrebno je prvo kreirati datoteku:
Primer prikazuje kreiranje konfiguracione datoteke za editor Vim (na podrazumevanoj lokaciji).
Ali, da ne zaboravimo još jednu komandu koja tipično "ne radi ono što joj je osnovna namena" ....
cat - spajanje tekstualnih datoteka (prikaz sadržaja datoteke u konzoli)
Osnovna namena komande cat
je spajanje niski (odnosno, tekstualnih datoteka). *
Na primer, preko sledeće naredbe ....
.... sadržaj dve datoteke može se spojiti i preusmeriti u datoteku dat3
.
Međutim, iako se komanda cat
sasvim često koristi shodno osnovnoj nameni, mnogo češće se koristi za ispis sadržaja datoteka u konzoli, i stoga se postavlja (očigledno) pitanje: kako je komanda cat
, od komande za spajanje niski, postala nezvanična UNIX komanda za prikaz sadržaja tekstualnih datoteka u terminalu?
Kao prvo (služeći se pravilima koja smo naveli u uvodnom članku), ako se tekstualni izlaz određene komande ne usmeri u imenovanu izlaznu datoteku, biće usmeren na standardni izlaz (praktično - terminal), a pored toga, program cat
je napravljen tako da neće "dramiti" ukoliko se ne preda naziv druge datoteke, već će nedostajuću datoteku pri spajanju tretirati kao praznu nisku.
U prevodu: "nema druge ulazne datoteke" + "nema izlazne datoteke" => tekst se (samo) ispisuje na ekranu.
bat - modernija alternativa
Komanda cat
je sasvim funkcionalna, ali, za korisnike koji žele malo "doteraniji" ispis (uz dodatne opcije), postoji i komanda bat
(s tim da program bat
, za razliku od programa cat
, nije deo osnovnog paketa alata na većini Linux distribucija).
Komanda bat
dodaje u ispis: zaglavlje, redne brojeve i bojenje sintakse za prepoznate jezike (naravno, sve navedeno se može konfigurisati i, po želji, uključiti/isključiti, a postoje i dodatne opcije koje možete istraživati samostalno). :)
Pogledajmo primere:
- Izlaz komande cat
(recimo da smo pokrenuli komandu cat proba.py
, koja otvara jednostavnu Python skriptu):
- Izlaz komande bat
(komanda: bat proba.py
; ista datoteka kao u prethodnom primeru):
Da sve bude još bolje - pri samostalnom pozivanju - komanda bat
se ponaša na opisani način, ali, u "pipeline-u" (kada je potrebno da se izlaz prosledi (tj. "pajpuje") u drugi, tj. sledeći program), izlaz iz komande bat
biće isti (tj. "običan"), kao da smo koristili komandu cat
!
(Lepa, zanimljiva i korisna opcija; jedna od mnogih u svetu Linux-a.)
Komande za rad sa medijima/drajvovima
Komande za rad sa drajvovima, ne koriste se toliko često kao komande za rad sa datotekama i direktorijumima, ali, svakako spadaju u osnovne komande (sa kojima se treba upoznati već na početku).
df - prikaz slobodnog prostora na particijama
Preko komande df
(Disc Free), mogu se dobiti informacije o zauzetom i slobodnom prostoru na određenom drajvu (ssd-u, hard disku, USB drajvu i sl), kao i o tome na kojoj poziciji je dati uređaj montiran u okviru strukture direktorijuma.
Bićemo praktični i odmah ćemo uvrstiti opciju -h
(poznatu iz prethodnih odeljaka):
.... posle čega se dobija sledeći ispis:
du - prikaz zauzeća direktorijuma
Komanda du
(Disk Usage), računa i prikazuje memorijsko zauzeće datoteka i direktorijuma.
Ako se komandi du
kao argument preda putanja do datoteke, dobija se prost ispis koji je vezan (samo) za navedenu datoteku:
Ako se komandi kao argument preda putanja do direktorijuma, dobija se ispis koji sadrži: i podatke za poddirektorijume, i podatak o ukupnom zauzeću za navedeni direktorijum:
U prethodnom primeru, struktura poddirektorijum je jednostavna ("nerazuđena") i prikaz je krajnje jasan.
Međutim, ako bismo pozvali komandu ....
.... dobili bismo ispis koji je sačinjen iz stotina i stotina redova!
Da se to ne bi dešavalo (osim, naravno, ako ne želimo da preusmerimo ispis u tekstualnu datoteku i sl), potrebno je koristiti opciju -s
(summary):
Ovoga puta rezultat je samo informacija o ukupnom zauzeću home direktorijuma aktivnog korisnika.
lsblk - listing priključenih drajvova
Komanda lsblk
izlistava prisutne fizičke drajvove (uz pregled particija), i prikazuje (virtuelnu) lokaciju drajvova i particija u okviru strukture direktorijuma (/dev/sda1
, /dev/sda2
i sl):
Primer radi, ukoliko dodamo USB fleš drajv i ponovo pozovemo komandu:
.... primećujemo da je drajv prepoznat (i prikazan kao /dev/sdb
), posle čega je moguće drajv "montirati" preko komande mount
.
mount - montiranje drajva u strukturu direktorijuma
Preko komande mount
(kao što je poznato iz uvodnog članka), priključeni uređaji se "montiraju" (tj. prijavljuju ili 'ugrađuju') u strukturu direktorijuma, posle čega im se može pristupati.
Sadržaj USB drajva koji je priključen u prethodnom odeljku može se prikazati unutar strukture direktorijuma (za šta preporučujemo da izaberete uobičajenu i lako prepoznatljivu putanju, kao na primer):
Primetite da komanda mount
spada u komande koje zahtevaju administratorske privilegije, što se u praksi tipično ostvaruje (kao što smo već opisali), preko komande sudo
, na sledeći način:
Sada se lako može pristupiti sadržaju USB-a:
Drajvovi sa kojih se pokreće sistem, i drugi drajvovi koji se ne isključuju (a predviđeno je da budu deo instalacije), montiraju se po posebnoj proceduri pri instalaciji sistema (kao što smo već naveli u uvodnom članku).
umount - uklanjanje drajva iz strukture direktorijuma
Privremeno priključeni uređaj koji je potrebno (fizički) isključiti, prvo je potrebno isključiti iz strukture direktorijuma, to jest "odmontirati" (da ne kažemo "unmount-ovati":)). Na ovaj način, izbegavaju se neprijatne situacije (gubitak podataka i sl), do kojih može doći zato što sistem ("i dalje"/"još uvek") pristupa uređaju.
Ukoliko komanda umount
ne vrati grešku ....
.... sve je u redu i uređaj se može fizički isključiti (pod uslovom da isključivanje uređaja ne narušava njegovu ispravnost i funkcionalnost na neki drugi način).
Pomoćne komande
Za kraj smo ostavili još nekoliko često korišćenih komandi, od kojih mnoge zahtevaju dodatnu pažnju i upoznavanje sa dodatnim opcijama (na šta ćemo se povremeno osvrtati u narednim člancima), ali, za početak je sasvim dovoljno poznavati osnovnu funkcionalnost prikazanih komandi.
free - prikaz zauzeća RAM memorije
Komanda free
prikazuje zauzeće RAM memorije (kao i ukupan kapacitet i druge informacije):
Prikazan je tipičan način upotrebe, uz argument -h
(human readable), čiji je smisao poznat od ranije.
date - prikaz datuma i vremena
Komanda date
prikazuje trenutni datum i trenutno vreme.
Ukoliko je potrebno doći do pojedinačnih podataka, moguće je sve izvesti na više načina: jedan od načina je korišćenje dodatnih opcija pri pozivu komande (ako želite da odmah saznate šta je sve na raspolaganju, pokrenite komandu man date
), a drugi način podrazumeva korišćenje alata za obradu teksta kao što su grep
ili awk
(što smo već videli u uvodnom članku, na primeru nekih drugih komandi, i čime ćemo se takođe detaljnije baviti u narednim člancima).
cal - kalendar
Komanda cal
prikazuje kalendar za trenutni mesec ....
.... uz označavanje trenutnog datuma.
(Za samostalno istraživanje - pronađite opciju za prikaz tri meseca odjednom: prethodnog meseca, trenutnog i sledećeg.)
ps - prikaz pokrenutih procesa
Komanda ps
(skraćeno od Processes), prikazuje pokrenute procese ....
.... međutim, prikaz koji smo videli može biti pomalo "suvoparan", i stoga ćemo, za početak, ipak prikazati nešto 'živopisnije' alternative komande ps
.
top (htop/gtop)
Programi kao što su top
(i novije, modernije varijante htop
i gtop
), predstavljaju svojevrsnu nadogradnju programa ps
i, s obzirom na to da su top
, htop
i gtop
TUI programi (za razliku od programa ps
koji spada u kategoriju CLI programa), informacije o procesima (kao i mnoge druge informacije), prikazuju se na znatno pregledniji način:
Međutim (kao što smo videli), i dalje se radi o konzolnim programima, to jest, nisu u pitanju programi sa pravim grafičkim interfejsom (prikazali smo htop
, ali, i top
i gtop
su slični).
uname - informacije o kernelu
Komanda uname
(koja se tipično koristi uz opciju -a
), prikazuje osnovne informacije o verziji sistema:
U našem slučaju, u pitanju je Linux (kernel), ali, komanda uname
je univerzalna i, u slučaju da se kao operativni sistem koristi (na primer) OpenBSD, izlaz bi bio drugačiji (i sadržao bi informacije o verziji OpenBSD-a).
less - prikaz teksta stranicu po stranicu
Za sam kraj, jedan "pejdžer" (rekli bismo, i dalje najpopularniji).
Pejdžer (eng. pager) je program preko koga se tekstualni izlaz prethodne komande prikazuje 'stranicu-po-stranicu', i stoga, osim što nepregledni listing direktorijuma možemo proslediti u datoteku (kao što smo već videli u prvom članku), možemo koristiti i programe kao što su less
, more
i bat
. *
Sledeći koraci ....
Iako smo izneli poveću količinu informacija (i ovoga puta), u pitanju je samo relativno kratak uvod u osnovne komande koje se koriste u GNU/Linux distribucijama.
Sa jedne strane, pomisao da "ima još opcija (i to podosta?!)", može delovati pomalo 'zabrinjavajuće'.
Sa druge strane, treba razumeti da je za sam početak sasvim dovoljno (ali i neophodno), dobro savladati (samo) osnovne opcije, a nove komande, opcije (i podopcije, varijacije i sl), treba dodavati postepeno, po potrebi, bez opterećivanja - onda kada se u svakodnevnom radu javi potreba za dodatnom funkcionalnošću.
U sledećem nastavku, bavićemo se naprednim opcijama za obradu teksta u komandnoj liniji ....