Napredne komande za Linux terminal (Prvi deo)
U ranijem tekstu prošli smo kroz osnovne komande za Linux terminal, a u ovom tekst ćemo se pozabaviiti malo naprednijim komandama. Ukoliko je potrebno da se prisetite komandi iz ranijeg teksta ili ste propustili taj tekst – možete ga pročitati ovde.
Upload/download fajlova (i direktorjuma)
Komanda wget
Ranije smo pričali o tome kako neki fajl možemo izmeniti ili napraviti, ali šta kada nam treba da, na primer, skinemo nek fajl sa interneta?
Komanda wget priskače u pomoć. Sintaksa komande je vrlo jednostavna:
wget "link_do_željene_datoteke"
Na ovom primeru vidimo da je slika sačuvana pod imenom „_xlarge.webp“ što je poslenji deo link-a, kada želimo da sačuvamo neki fajl pod drugačijim nazivom jednostavno na kraju domande dodamo argument -o željeni_naziv_fajla.
Možemo i primetiti da ova komanda proizvodi dosta povratnih informacija, ukoliko ne želimo da vidimo sve ovo na početak možemo dodati argument -q.
Obzirom da -q ne daje nikakvu povratnu informaciju, postoji i zlatna sredina, odnosno argument -nv na početku komande.
Naravno, nećemo uvek skidati slike od par stotina KB, a u tom slučaju nije idealno čekati da se skidanje završi. Za ovakve slučajeve postoji opcija da se pokrene wget da radi u pozadini jednostavnim dodavanjem argumenta -b na početak komande.
Wget je odlična komanda kada treba nešto da skinemo sa interneta, ali kako da prebacimo fajl sa jednog servera na drugi?
Komanda scp
Komanda scp (secure copy) nam nudi opciju da prebacujemo fajlove (i direktorijume) sa jednog servera na drugi, sa lokalnog računara na server i sa servera na lokalni računar. Kada koristimo scp i sam fajl i šifre biće enkriptovani radi veće bezbednosti podataka.
Bitno je napomenuti da se scp oslanja na ssh konekciju tako da nam je potrebno da imamo shh ključ ili šifru servera.
Sintaksa komande je sledeća:
scp naziv_fajla.txt username@IP_adresa:/lokacija_gde_prebacujemo_fajl
Ukoliko želimo da fajl zadrži svoj naziv na kraju komande pišemo samo lokaciju gde prebacujemo. Za slučajeve gde je potrebno i naziv promeniti, samo ćemo naziv dodati na kraj komande:
scp naziv_fajla.txt username@IP_adresa:/lokacija_gde_prebacujemo_fajl/novi_naziv_fajla.txt
U ovom primeru, sa nekog drugog servera prebacujem fajl na server gde inače radimo. Obzirom da se prvi put uspostavlja ova konekcija prvo dobijamo pitanje da li prihvatamo konektovanje na server nakon čega je potrebno uneti lozinku servera na koji se konektujemo.
Fajl je prebačen i nakon toga možemo da ga vidimo:
Kada ssh port nije na standardnom portu (22), onda na početak komande dodajemo argument -P broj porta pa komanda izgleda ovako:
scp -P broj porta naziv_fajla.txt username@IP_adresa:/lokacija_gde_prebacujemo_fajl/novi_naziv_fajla.txt
Napomena: Ako želimo kopiramo direktorijum i sve što se nalazi u njemu, potrebno je dodati argument -r na početak komande.
Kada prebacujete fajl sa jednog servera na drugi, nije neophodno da budete konektovani na jedan od njih već to možete postići komandom:
scp usarname1@IP_prvog_servera:/lokacija/fajl_koji_prebacujemo username2@IP_drugog_servera:/lokacija_na_koju_prebacujemo_fajl
Komanda curl
Ova komanda, pored toga što može da skine neki sadržaj sa interneta, može da se koristi i za pregled sadržaja nekog sajta (HTML kod) kroz terminal ili da skinete/okačite neki sadržaj za koji je potreban FTP pristup. Standardna verzija komande, bez ikakvih argumenata prikazuje HTML zadržaj stranice:
curl neki_link
Da skinemo neki fajl dodajemo argument -O, a ako želimo da se taj fajl sačuva pod drugačijim imenom pišemo -o novi_naziv_fajla:
Ako ne želimo nikakvu povratnu infromaciju, koristimo argument -silent.
Za skidanje fajlova kojima je potreban FTP pristup možemo koristiti sledeću sintaksu:
curl -u korisničko_ime:lozinka -O ftp://link_do_fajla
Izmena vlasnika i permisija fajlova i direktorijuma
Na svakom Linux sistemu ili serveru može imate više korisnika. Naravno, ako već imamo više korisnika, potrebno je i nekako odrediti koji korisnik ima pristup kojim fajlovma i direktorijumima. Pre nego što krenemo sa samim menjanjem vlasnika fajlova, prvo bi bilo dobro da dodamo nekog korisnika.
Dodavanje korisnika
Da dodamo korsnika korstićemo komadnu useradd, a sintaksa je sledeća:
useradd naziv_korisnika
Dodali smo korsnika, a sada je potrebno i dodeliti mu lozinku koristeći sledeću komandu:
passwd naziv_korisnika
Nakon pokretanja ove komande potrebno je uneti lozinku koju želimo da postavimo i nakon toga je potvrditi.
Da sve uradimo u jednom koraku, možemo koristiti i komandu adduser:
Kao što vidite i na slici, komanda adduser nakon pokretanja odmah napravi home za tog korisnika, grupu, pita da uneste šifru, kao i druge (opcione) podatke o korisniku.
Izmena vlasnika
Sada kada imamo kreiranog novog korisnika, možemo na nekom fajlu da proverimo vlasnika. Ovo radimo komandom chown.
Ukoliko menjamo samo korisnika, koristićemo:
chown korisnik naziv_fajla
Ukoliko menjamo i korisnika i grupu, koristićemo:
chown korisnik:grupa naziv_fajla.
Kada želmo da promenimo vlasnika nekog direktorijuma kao i svega što se nalazi u njemu, dodaćemo argument -R:
chown -R korisnik:grupa naziv_direktorijuma
Izmena permisija
Pre nego što pređemo na samu izmenu permisija, prvo je potrebno objasniti čemu one služe i koje postoje.
Kada promenimo vlasnika nekog fajla, to ne znači da sada samo on može da ga čita, izmeni ili pokrene. Ove stvari određujemo permisijama. Postoje 3 grupe za koje određujemo permisije, a to su korisnik(user, u), grupa(group, g) i drugi(other, o).Svakoj grupi možemo dodeliti različite permisije koje se odnose na čitanje, izmene i pokretanje fajla. Ove permisije se mogu označavati slovima ili brojevima:
- Čitanje – r – 4
- Izmena – w – 2
- Pokretanje – x -1
Kada menjamo permisije koristimo komandu chmod, a permisije možemo pisati na oba načiina (i slovima i brojevima):
chmod u=rwx,g=rx,o=r naziv_fajla
Kada su u pitanju brojevi, ne pišemo ih zasebno već ih sabiramo i pišemo u istom redosledu kao i gore (korisnik, grupa pa drugi) pa dobijemo:
- Korisnik: ima sve tri permisije – 4+2+1=7
- Grupa: može da čita i pokrene fajl – 4+1=5
- Drugi: može samo da čita fajl – 4
chmod 754 naziv_fajla
Napomena: Permisije i vlasnici fajlova su jako bitni za sigurnost servera i sajtova. Ovo su samo primeri. Nemojte menjati vlasnika ili permisije ako niste sigurni šta radite.
Ovo je samo deo naprednih komandi koje smo pripremili za vas, očekujte uskoro i drugi deo. U njemu ćemo pisati o tome kako možete proveriti zauzeće diska i potrošnju resursa na serveru, komande za brzo i lako pronalaženje DNS zapisa i mnoge druge.
Bez komentara