Autor Tema: Osnovne Linux komande (komplet tutorial)  (Pročitano 2171 puta)

0 Članovi i 1 gost pregledaju ovu temu.

Van mreže commando

  • Satelitski Forum
  • Administrator
  • Veteran
  • *
  • Poruke: 11417
  • Activity:
    78%
  • Pohvaljen: 76071 puta
  • Zemlja: cs
  • Pol: Muškarac
  • "Kuda god ideš, idi srcem"
    • satelitski forum
Odg: Osnovne Linux komande (komplet tutorial)
« Odgovor #5 poslato: Septembar 02, 2016, 11:43:07 pre podne »
Procesi

  • ps – Process Status – Spisak procesa koji se izvršavaju.
  • ps a – Slično, samo za sve procese (all).
  • ps u <username> – Prikaz svih pokrenutih procesa za <username>. Kod nekih verzija UNIX-a ps daje samo spisak procesa u screenu.
  • ps l – Kompletan prikaz procesa koji se izvršavaju (sa prioritetima).
  • ps ax – Prikazuje trenutne procese svih ljudi (i od roota) i procese koji nisu vezani za terminal. Opcija x se najviše koristi za otkrivanje procesa koji su se otrgli kontroli.
  • ps ax | more – Lista stranu po stranu.
  • ps auvx – Ovako ćemo naći sve procese koji su pokrenuti, čak i one koji trenutno spavaju.

U nekim verzijama UNIX-a ispred ovih opcija potrebno je navesti crtu (-). Statusi procesa u komandi ps:

D – Uninteruptible sleeping.
R – Runnable.
S – Sleeping.
T – Stopped or Traced (suspended).
Z – Zombie.

Suspendovanje procesa vrši se pritiskom na ^Z.

  • jobs – Prikazuje suspendovane procese i one u pozadini sa njihovim brojem.
  • bg %<job> – Prebacuje suspendovani proces čiji je broj joba <job> u pozadinu (background), pa proces počinje da se izvršava (ne ceka).
  • fg %<job> – Prebacuje supsendovani proces čiji je broj joba <job> u foreground (isto kao pre pritiska ^Z).

Ako se iza komande navede ampersand (&) tada se proces odmah startuje u backgroundu.

  • finger pera›alas.matf.bg.ac.yu >> pera& – S obzirom da se ovaj proces obavlja bar nekoliko sekundi, stavićemo da se izvršava u pozadini.
  • kill <pid> – Ubijanje procesa čiji je pid <pid> (vidi se pomoću ps). Pid je skraćeno od Process ID.
  • kill %<job> – Kao i malopre. Broj <job> se vidi pomoću jobs.
  • kill -9 <pid> – Ovo je krajnje surovo ubistvo – ubija sigurno. Kao end task u WINDOWS-u. Ako ubijemo proces -tcsh ili -bash, izlogovaćemo sami sebe.
  • screen – Startuje se program screen. U ovom programu, izvesne komande neće raditi, ili neće raditi na uobičajen način, ali će zato one važnije uglavnom raditi bolje. Nakon startovanja screena, možemo da otvaramo više prozora odjednom, da se prebacujemo izme|u njih… Pri otvaranju novog prozora uvek se startuje .tcshrc (odnosno .bashrc u shellu bash). Pomoću komande ps možemo videti koliko je prozora aktivno (u svakom prozoru je aktivan tcsh ili bash).

Upravljanje u screenu:

^AC – Otvaranje novog prozora (create).
^A0 – Prebacivanje na prozor 0 (prvi prozor).
^A1 – Prebacivanje na prozor 1 (ako postoji).
^A<cifra> – Prebacivanje na prozor broj <cifra>.
^A^A – Prebacivanje na poslednji prozor koji smo koristili (u WINDOWS-u alt-tab).
^AN – Prebacivanje na sledeći prozor (next).
^A<space> – Prebacivanje na sledeći prozor.
^A<backspace> – Prebacivanje na prethodni prozor (back).
^A<alt>Q – Startovanje copy moda u screenu. U njemu ’-’ i ’+’ služe za pomeranje ekrana nagore i nadole. Na taj način, omogućeno je čitanje redova koji više nisu na ekranu.
^AK – Zatvaranje tekućeg prozora (kill).
exit – Zatvaranje tekućeg prozora (odnosno shella).

U DOS-u environment se setuje sa: set. U UNIX-u je slično.
 
  • set <promenljiva> = <string> – Ako koristimo shell tcsh.
  • <promenljiva> = <string> – Ako koristimo shell bash.

U oba slučaja, kad ne navedemo <string>, <promenljiva> postaje prazan string.

  • echo $<promenljiva> – Ispisuje vrednost promenljive.
  • set direktorijum = /etc – Definisanje promenljive direktorijum.
  • cat $direktorijum/passwd – Ispisuje fajl /etc/passwd.
  • set nalozi = $direktorijum/passwd – Vrednost promenljive direktorijum se odmah zamenjuje, tako da naknadna promena vrednosti te promenljive ne utiče na promenljivu nalozi.
  • echo $nalozi – Ispis promenljive nalozi.
  • cat $nalozi – Ispisuje fajl /etc/passwd.
  • set catnalozi = “cat $nalozi” – Ovde moraju da stoje navodnici zbog blanka.
  • $catnalozi – Izvršava komandu.
  • set – Spisak svih setovanih promenljivih.
  • set vreme = ’date’ – Promenljivoj vreme dodeljujemo string date.
  • set vreme = ???date??? – Ovi navodnici znače da će se prvo izvršiti komanda date, pa će se tek onda novi string dodeliti promenljivoj.
  • echo $vreme – Ispis vremena u koje smo definisali promenljivu vreme.
  • set ja=???who am i | cut -d“ ” -f1 | cut -d! -f2??? – Kad navedemo ovakav apostrof (???), prvo se izvršava komanda pod apostrofom, pa se tek onda izvršava naredba set. To važi i za sve ostale naredbe.
  • echo $ja – Ispis ranije izvršene komande, jer je izlaz te komande zapamćen u promenljivoj ja.
  • set prompt=“<opcije>” – Ovako se postavlja izgled početnog dela komandne linije i obično se navodi u fajlu .tcshrc da se ne bi pisalo svaki put prilikom logovanja.
  • set prompt=“%/” – Ovako će se na početku linije ispisati trenutna apsolutno ime direktorijuma.
  • set prompt=“%m” – Sad će ispisati ime servera.
  • set prompt=“%B<opcije>%b” – Opcije izme|u %B i %b biće ispisane masno (bold).
  • set prompt=“Neki tekst” – U komandnoj liniji će stajati ovako napisan tekst, tj. neće se videti samo ona slova ispred kojih stoji %.
  • set prompt=“%B%m%b%/>” – Ovo je preporuka za prompt. Ova linija se stavi u .tcshrc.

Skript (kao batch file u DOS-u) je spisak akcija koje treba izvršiti.

U njemu:

# – Komentar, osim kada je u kombinaciji sa !, i tada se navodi shell.
*#!/bin/sh – Znači da se skript izvršava u okviru bourne shella sh, koji je standardan za skriptove, i sistemski skriptovi se uvek pišu za sh. Shell se mora navesti na početku skripta.
$n – Daće nam n-ti ulazni argument (n = 1, 2… 9).
$0 – Ovde se krije ime skripta (fajla).
$# – Broj ulaznih argumenata.
$* – Svi ulazni argumenti.
shift – Pomera indekse argumenata ulevo ($2 –> $1, $3 –> $2, …), dok $0 i dalje ostaje ime skripta. Koristi se kad ima više od 9 ulaznih argumenata.
for <promenljiva> in <skup> do <lista komandi> done – For komanda.
while <uslov> do <lista komandi> done – While komanda.

Poziv jednog skripta iz drugog vrši se prostim navo|enjem imena prvog skripta u drugom. Recimo da želimo da skript bbb pozovemo iz skripta aaa. Tada u jednom redu skripta aaa navedemo bbb.

Naravno, oba fajla, i aaa i bbb, moraju biti izvršni, tj. moraju imati parametar x me|u pravima korisnika.

Poziv jednog skripta iz drugog može se izvršiti i naredbom exec <skript>, jedino što se u tom slučaju bukvalno prelazi na taj skript, dok pozivajući prestaje sa izvršavanjem (isto kao poziv drugog batch fajla bez komande call u DOS-u).

Kada se startuje skript u okviru koga on sam sebe poziva (rekurzivno), tada će se startovati puno procesa (trebalo bi beskonačno mnogo, ali postoji ograničenje od nekoliko desetina).

Da se ne bi ubijalo nekoliko desetina procesa naredbom kill -9 (usput, neki procesi će tako postati zombie), samo se ubije celokupan posao (job) naredbom %<broj>.

U starijim verzijama LINUX-a skript se startuje pomoću sh <skript>, pa je takav i poziv jednog skripta u okviru drugog.

  • awk ’<awk komanda>’ <lista fajlova> – Awk komanda.
  • awk ’šprint “1=”$1“\t2=”$2}’ <lista fajlova> – Ispis prve dve kolone.
  • awk -F<separator> ’<awk komanda>’ <lista fajlova> – Postavljamo separator polja (field). Po defaultu ovaj separator je bilo koja belina.
  • awk –F“\t” ’šprint “1=”$1“\t2=”$2}’ kurs.3/timovi – Postavlja \t za separator polja i ispisuje prva dva polja iz fajla timovi.
  • awk -f <fajl> <lista fajlova> – Umesto da pisemo akciju ’š}’, možemo da je smestimo u <fajl>.

Neka primer u fajlu proba piše:
{ print “1=”$1“\ t2=”$2 } – Tada je prethodni primer:

  • awk -F“\t” -f proba kurs.3/timovi – Isto kao prethodni primer.
  • cc <c prg> – Kompajlira <c prg> u izvršni fajl a.out, koji se startuje sa a.out.
  • cc <c prg> -o <izvršni fajl> – Kompajlira <c prg> u <izvršni fajl>.
  • make <c prg bez ekstenzije> – Kompajlira <c prg bez ekstenzije>.c u <c prg bez ekstenzije>.
  • telnet <server> [<port>] – Telnetovanje na drugi server.
  • telnet alas.matf.bg.ac.yu – Ovako se priključujemo na alas.
  • telnet 0 – Ovako se priključujemo na server na kom se nalazimo (ima svrhe ako navedemo port).
  • telnet 0 4000 – Priključivanje na port 4000 servera na kom se nalazimo.
  • telnet afrodita.rcub.bg.ac.yu 4000 – Priključujemo se na port 4000 na afroditi.
  • logout – Izlazak iz telneta (izlogivanje). Može se koristiti i exit. Negde rade i logoff i bye.
  • ftp <server> – File Transfer Protocol – Protokol za transfer fajlova.

Nakon ftpovanja, komande su sledeće:

help – Spisak svih komandi.
get <fajl>
[<novo ime fajla>] – Skidanje fajla sa naloga.
put <fajl>
[<novo ime fajla>] – Prenošenje fajla na nalog.
mget <lista fajlova> – Multiple get – Za više fajlova. Moguće je koristiti i *, ?,
[ i ] za selekciju.
mput <lista fajlova> – Multiple put.
quit – Izlazak iz ftpa.
!<komanda polaznog OS> – Na ovaj način će se izvršiti data komanda na polaznom sistemu.

Recimo, ako se ftpuje iz DOS-a na alas, može se koristiti bilo koja naredba DOS-a, npr. dir kucanjem !dir.
Rezultat će biti listanje fajlova iz DOS direktorijuma.
Ako se ftpuje sa alasa na neki drugi UNIX server, mogu se koristiti sve komande kojima alas raspolaže, npr. !joe <fajl>.
Time editujemo fajl na alasu.
hash – Pri prenosu fajlova, da bismo znali da prenos nije stao, svakih 2 KB će se ispisati taraba (#). Svega nekoliko korisnih napomena:

^C u većini progama služi za prekid programa (ponekad i ^D).
<tab> dovršava pisanje imena fajla (ako je jednoznačno odre|en).

Ako postoji više fajlova sa početkom koji smo napisali, napisaće se još i onaj deo tih komandi koji je zajednički za sve njih.

^D (negde i tab) za nekoliko napisanih slova (string) lista sve komande koje počinju tim stringom.
^D u slučaju da nije ništa napisano u komandnoj liniji, ima funkciju logout.
^<bckspc> je ponekad bolje koristiti nego sam backspace, na primer, pri logovanju ili ftpu.
  • chown -c <user> <fajl> – Change owner – Menja vlasništvo fajla na unetog korisnika, koji mora da postoji na sistemu. Opcija -c je od changes.
  • chsh -s <shell> <username> – Change shell – Shell se mora navesti sa celom putanjom.
  • chsh -s /bin/tcsh <username> – Menjamo shell u tcsh.
  • groupadd -g <gid> <ime grupe> – Dodavanje grupe sa identifikacionim brojem <gid>.
  • useradd <opcije> <login> – Dodavanje korisnika <login>.

Opcije pri dodavanju korisnika su:

-d <home dir> – Postavljanje home direktorijuma.
-s <shell> – Postavljanje shella.
-u <uid> – User ID – Postavljanje identifikacionog broja korisnika.
-G <group> - Svrstavanje korisnika u navedenu grupu.
  • passwd -i <broj dana> <login> – Broj dana dok ne istekne password.
  • date MMDDhhmm[[ CC]YY][.ss] - Setovanje datuma.

Oznake u naredbi date su:

MM – Month – Mesec.
DD – Day within month – Dan u mesecu.
hh – Hour – Sati.
mm – Minute – Minuti.
CC – Početne dve cifre godine.
YY – Poslednje dve cifre godine.
ss – Second – Sekunde.

  • at <vreme> – Sada očekuje da unesemo komande koje će izvršiti u navedenom vremenu i sve što treba da se ispiše na ekranu (standradnom izlazu) poslaće u obliku maila, kao i u slučaju da je greška u nekoj komandi. Unos komandi završavamo sa ^D.
  • at now + 1 minute – Posle toga u novom redu unosimo komande.
  • at 6 aug 18 – Komande za 18-i avgust u 6 sati.
  • at now + 2 minute – Prijavljuje gramatičku grešku da treba da stoji minutes, ali ipak nastavlja sa radom.
  • atq – Prikazuje jobove koji čekaju da se izvrše.
  • atrm <broj> – Ukida job <broj>. Broj nekog joba vidi se pomoću atq
Octagon SF8008 v2 (S2X + T2/C) 4K UHD
SuperJack HARL 12" Motor/60E-30W
TV LG UM7100PLB 49" 4K Full HDR 10+
Hako Pro, Amlogic S905Y4, 4GB RAM, 64GB ROM
G20s Pro BT + 2.4GHz Wireless, Air Mouse and Voice
TiviMate Premium (lifetime)
 
Sledeći korisnici su pohvalili ovaj post: Taurus

Van mreže commando

  • Satelitski Forum
  • Administrator
  • Veteran
  • *
  • Poruke: 11417
  • Activity:
    78%
  • Pohvaljen: 76071 puta
  • Zemlja: cs
  • Pol: Muškarac
  • "Kuda god ideš, idi srcem"
    • satelitski forum
Odg: Osnovne Linux komande (komplet tutorial)
« Odgovor #4 poslato: Septembar 02, 2016, 11:26:25 pre podne »
Nastavak

Opcije znače:

u – User.
g – Group.
o – Other.
a – All.
+ – Dodaj pravo.
- – Oduzmi pravo.
= – Važe samo prava koja se navedu.

  • chmod <oktalni broj 1><oktalni broj 2><oktalni broj 3> <fajlovi> – Oktalni broj je zamena za rwx, pri tom r = 4, w = 2, x = 1, - = 0, pa je <oktalni broj> = r + w + x. Prvi broj je za usera, drugi – za grupu i treći – za ostale. Na alasu drugi i treći broj treba da budu isti, jer se grupa i ostali tretiraju na isti način, a to je zato što postoji samo jedna grupa (tj. to su svi).
  • grep <uzorak> <lista fajlova> – Ispisuje sve linije u kojima se nalazi <uzorak>. Ako je navedeno više od jednog fajla ispisuje se iz kog je fajla linija.
  • cat /etc/passwd | grep <username> – Podaci o nekoj osobi.
  • grep -v <uzorak> <lista fajlova> – Lista sve linije osim onih koje sadrže <uzorak>.
  • grep -F <lista fiksnih karaktera> – Pojedini specijalni karakteri . ^ $ i još neki se tretiraju kao regularni izrazi, i odmah se razvijaju u listu. Da se to ne bi dogodilo koristimo opciju -F.
  • fgrep <lista fiksnih karaktera> – Isto kao grep -f.
  • grep -x ’<tekst>’ – Spisak svih linija koje sadrže jedino <tekst>.
  • grep -n <uzorak> <lista fajlova> – Pored svake linije ispisuje i njen redni broj (indeksira ih).
  • grep -E ’<regularni izraz>’ – Spisak svih linija koje sadrže <regularan izraz>.

Regularan izraz može da sadrži:

^ – Početak linije.
$ – Kraj linije.
. – Bilo koji karakter.
[<lista karaktera>] – Tačno jedan karakter iz skupa u zagradama: [1-2abc9-D].
[^<lista karaktera>] – Tačno jedan karakter koji nije me|u navedenim.
<izraz>
{n} – <izraz> se pojavljuje n puta.
<izraz>* – Pojavljuje se 0, 1, ili više puta.
<izraz>+ – Pojavljuje se bar jednom.
<izraz>? – Pojavljuje se 0 ili jednom.

  • grep -E ’.’ <lista fajlova> – Lista sve neprazne linije u fajlovima.
  • grep -Ev ’.’ <lista fajlova> – Lista sve prazne linije u fajlovima.
  • grep -E ’i$’ <file> – Ispisuje sve linije koje se završavaju slovom i.
  • grep -E ’^A’ <file>l – Ispisuje sve linije koje počinju slovom A.
  • grep -E ’^[WPM]’ <file> – Ispisuje sve linije koje počinju sa W, P ili M.
  • grep -E ’^[^C-E]’ <file> – Ispisuje sve linije koje ne počinju slovima C, D ili E.
  • grep -E ’[1-2][0-2]’ <file> – Ispisuje sve linije u kojima su brojevi 10, 11, 12, 20, 21 ili 22.
 
  • sort <lista fajlova> – Ispisuje fajlove sortirane po prvom polju (koloni) na ekran (stdout).
  • sort +1 <lista fajlova> – Sortira po drugom polju, tj. po polju posle prvog tabulatora, uključujući i beline (blankove). Po defaultu, separator je tabulator.
  • sort +1b <lista fajlova> – Sortira po drugom polju. Ignoriše beline na početku drugog polja.
  • sort +2 -n <lista fajlova> – Sortira po trećoj koloni. n oznacava da se sortira po brojevima, pa će broj 2 da stoji pre 10.
  • sort +2n <lista fajlova> –Isto kao malopre, jedino je zapis kraći.
  • sort +2nr <lista fajlova> – Slično, samo u obrnutom redosledu.
  • w | sort – Sortira izlaz naredbe w.
  • w | sort +3 – Sortira po četvrtoj koloni (bukvalno: sortira po koloni posle trećeg tabulatora).
  • sort –f <lista fajlova> – Pri sortiranju se ne razlikuju mala i velika slova (ignore case).
 
  • find [<direktorijum>] <expression> – [tampaju se direktorijumi, fajlovi i poddirektorijumi.
  • find [<direktorijum>] -name <ime fajla> <akcija> – Ime fajla se stavlja pod navodnike ako su u imenu neki od rezervisanih karaktera (npr. *). Ako se ne navede akcija, podrazumeva se štampanje na ekran.
  • find ?? -name “*” – Lista sve fajlove u home direktorijumu i njegovim poddirektorijumima.
  • find / -name <fajl> – Lista sve pojave fajla u svim direktorijumima hard diska.
  • find . -name <fajl> – Lista sve pojave fajla od tekućeg direktorijuma naniže.
  • find [<direktorijum>] -name <fajl> -print – [tampanje (ovo je default akcija).
  • find [<direktorijum>] -name <ime fajla> -exec <komanda> – Izvršava komandu koju navedemo nad fajlovima koje je pronašao kao argumentima (ako imamo pristup tim fajlovima).
  • find [<direktorijum>] -perm <ovlašćenje> – Traži fajlove po ovlašćenju.
  • find -perm 700 – Primer.
 
  • cut -d<separator> -f<lista polja> <lista fajlova> – Ispisuje polja koja mu navedemo u listi polja koja su odvojena zarezom, a separator polja je <separator> i mora se navesti pod navodnicima ukoliko sadrži neke rezervisane karaktere.
  • who am i | cut -d“ ” -f1 | cut -d! -f2 – Ispisuje samo username.
  • cat /etc/passwd | grep <username> | cut -d: -f5 – Ispisuje ime i prezime osobe čiji je username <username>.
  • grep <username> /etc/passwd | cut -d: -f5 – Isto kao prethodni primer.
  • grep <username> /etc/passwd | cut -d: -f6 | cut -d/ -f1 – Ispisuje se prazan string jer smo stavili da je drugi separator slash (/).
 
  • tar <komanda> <arhiva> <lista fajlova> – Arhiver – Uobičajene ekstenzije su .tgz (pakovanje sa kompresijom – kao zip) i .tar (pakovanje bez kompresije, tj. kopiranje više fajlova u jedan).
  • tar -zcvf <arhiva>.tgz <direktorijum> – Ovako se pakuju fajlovi iz navedenog direktorijuma.
  • tar -ztvf <arhiva> – Lista sadržaj bez raspakivanja.
  • tar -zxvf <arhiva> – Raspakuje arhivu.

Pri tome, opcije za tar znače (za ostale opcije se preporučuje tar --help):

-c – Create – Pravljenje tar fajla.
-t – List – Ispis sadržaja tar fajla.
-x – Extract – Raspakivanje.
-f – File – Znači da će se koristiti tar arhiva. Naziv arhive mora da ide odmah iza ove opcije (sa ili bez razmaka), a nakon toga mogu ići i još neke opcije. Preporučuje se da se ova opcija navodi kao poslednja pre imena fajlova (kao što je i u gornjim primerima).
-z – Zip – Bolje se pakuje, jer se koristi zip metoda.
-v – Verbose – Ispisuje fajlove koji su obra|eni (zapakovani/raspakovani).
-w – Pita za svaki fajl (da li da se zapakuje/raspakuje). Bitna razlika izme|u DOS-a i UNIX-a je u kraju reda. U DOS-u su to 2 karaktera (CR LF – ascii kodovi su: #13 #10), a u UNIX-u – samo 1 (LF).
CR je Carriage Return (povratak na početak reda, vracanje bubnja, tj. kolica na pisacoj mašini ulevo), a LF – Line Feed (spuštanje za red niže).
ASCII – American Standard Code for International Interchange.
DOS i kasniji OS-ovi koriste da je novi red CR LF, na COMMODORE-u 64 novi red je bio CR, a u C-u i UNIX-u novi red je LF.
Binarno prenošenje je bit-po-bit. Ali ascii tekst tada ne bi bio dobro prenesen jer bi morao svaki LF da se zameni sa CR LF i obratno.

Zato služi ascii prenos.
Na primer, neki DOS fajl binarno ima 150 karaktera, a ascii – 139.

  • zip <arhiva> <lista fajlova> – Kompatibilan sa pkzipom i Winzipom.

Ovako se pakuje.

  • zip -T <arhiva> – Testiranje ispravnosti zip arhive.
  • unzip <arhiva> – Raspakivanje zip arhive. Ponekad je potrebno koristiti opciju -d da bi se raspakovali i direktorijumi.
  • unzip -a <arhiva> – Kad se nešto zipuje u DOS-u, tada će tekst fajlove raspakovati kako treba (CR LF ce biti LF) (slično ascii prenosu podataka). Ne koristiti za raspakivanje binarnih fajlova.
  • unzip -l <arhiva> – Lista sadržaj zipa.
  • unzip -t <arhiva> – Testiramo ispravnost zipa.
  • unzip -x <arhiva> <lista fajlova> – Raspakovaćemo samo fajlove koji su u listi.
Octagon SF8008 v2 (S2X + T2/C) 4K UHD
SuperJack HARL 12" Motor/60E-30W
TV LG UM7100PLB 49" 4K Full HDR 10+
Hako Pro, Amlogic S905Y4, 4GB RAM, 64GB ROM
G20s Pro BT + 2.4GHz Wireless, Air Mouse and Voice
TiviMate Premium (lifetime)
 

Van mreže commando

  • Satelitski Forum
  • Administrator
  • Veteran
  • *
  • Poruke: 11417
  • Activity:
    78%
  • Pohvaljen: 76071 puta
  • Zemlja: cs
  • Pol: Muškarac
  • "Kuda god ideš, idi srcem"
    • satelitski forum
Odg: Osnovne Linux komande (komplet tutorial)
« Odgovor #3 poslato: Septembar 02, 2016, 11:16:38 pre podne »
Dalji koraci

  • id – Identifikacija.
  • clear – Briše ekran.
  • echo “<poruka>” – Ispisuje poruku.
  • echo “Neki tekst” > <fajl> – Piše poruku u fajl. Prethodni sadržaj fajla biva obrisan.
  • echo “Neki novi tekst” >> <fajl> – Dopisuje poruku na kraj fajla.

Navodnike koristimo ako se u poruci nalaze i neki specijalni karakteri:
\n – new line, \t – tabulator, \space – space, \\\… (u svim naredbama). Dovoljno je staviti pod navodnike samo ove specijalne karaktere. Ovo važi i za imena fajlova. U shellu bash ovo sa backslashom ne radi baš dobro.
 
  • echo Prvi red“\n”Drugi red – Primer koji radi u shellu tcsh.
  • last – Lista ko se kad radio na serveru počev od nekog datuma.
  • last <username> – Isto to samo sa odre|enu osobu.
  • last mr0211 | more – Primer.
  • last root | more – Root i logovanja
  • alias <skraćenica> “<puna komanda>” – Na ovaj način u shellu tcsh formiramo skraćenice za odre|ene komande koje kasnije koristimo.
  • alias <skraćenica>=“<puna komanda>” – Isto to samo za shell bash.
  • alias l “ls -l” – Pravimo skraćenicu l ako koristimo shell tcsh.
  • alias l=“ls -l” – Pravimo skraćenicu l ako koristimo shell bash.
  • l – Sad je ovo isto kao da smo otkucali ls -l.
  • alias – Spisak svih alijasa.
  • unalias <skraćenica> - Brisanje definicije za <skraćenicu>.

Aliasi su tako|e mogući i za username. To ne menja proceduru pri logovanju, već samo drugim korisnicima olakšava slanje poruka nama. Za jedan username moguće je imati više aliasa. Da bismo dobili alias za username, poslaćemo molbu rootu i na najljubazniji način objasniti naše želje.
 
  • date – Ispis datuma i vremena.
  • date “+%H:%M:%S” – Ispisuje sate, minute i sekunde.
  • cal – Kalendar za tekući mesec.
  • cal -y – Kaledar za tekuću godinu.
  • bc – Startuje se kalkulator. Izlazi se sa quit. Ovde je deljenje celobrojno, tj. .
  • bc -l – Kalkulator sa standardnom matematickom bibliotekom.
  • wc <lista fajlova> – Word Count – Broji redove, reči i karaktere u fajlovima.
  • wc -l <lista fajlova> – Lines – Broji samo redove.
  • wc -w <lista fajlova> – Words – Broji samo reči.
  • wc -c <lista fajlova> – Characters – Broji samo karaktere.
  • du – Disk Usage – Koliko u kilobajtima zauzima koji direktorijum (uključujući i tekući).
  • du ?? – Slično, samo za userov home direktorijum.
  • du -b – Slično, samo u bajtovima.
  • du -a – Ovako radi i za fajlove i za direktorijume.
  • df – Disk free – Podaci o particijama na hard disku.
  • quota [-v] – Informacije o prostoru na hard disku kojim mi raspolažemo.

Značenje parametara u naredbi quota:

blocks – Broj zauzetih kilobajta.
quota – Ukupan raspoloživi prostor.
limit – Maksimalan raspoloživi prostor. Svaki kilobajt preko kvote (quota) se mora izbrisati u roku od 7 dana, što čini grace period. Prvi disk u naredbi quota sadrži sve fajlove, snimljenu i poslatu poštu… Drugi disk sadrži primljenu poštu (koja stoji u inboxu pinea), kao i sve poruke koje smo odredili za slanje, a koje još nisu poslate.
  • top – Spisak procesa sortiran po procentu zauzeća procesora. Izlaz sa q ili ^C.
  • head <fajl> – Ispisuje pocetak fajla (prvih 10 redova).
  • tail <fajl> – Ispisuje kraj fajla (poslednjih 10 redova).
  • tail -f <fajl> – Ispisuje kraj fajla, kao i redove koji se naknadno (recimo iz drugog procesa) dopisuju u fajl.
  • which <file> – Gde je na disku fajl koji se startuje tim imenom.
  • which – Ovako se dobija gde se nalazi program za promenu šifre.
  • tcsh – Startuje se novi tcsh shell. Izlaz je sa exit.
  • bash – Startuje se novi bash shell. Izlaz je sa exit.

Kako je UNIX višekorisnički operativni sistem, poželjno je zaštiti fajlove od drugih. Najčešće nećemo dozvoliti drugima da nam menjaju fajlove, a poneki ćemo zaštititi i od tu|ih pogleda, jer i pogled može biti ubitacan, naročito ako je neka šifra u pitanju. To radimo promenom prava (fajlova ili celih direktorijuma), tj. atributa fajlova. Atribute dobijamo pomoću ls -l.

Pretpostavimo da za neki fajl piše: drwxr-x--x <broj> <vlasnik> <grupa>

d – Oznaka da li je direktorijum.
r – Dozvoljeno čitanje.
w – Dozvoljeno pisanje.
x – Dozvoljeno izvršavanje (izvršnog) fajla ili ulazak u direktorijum.
<broj> – Broj linkova na taj fajl.

Prva trojka (rwx) su prava za korisnika, druga trojka (r-x) su prava vezana za korisnike iz grupe, a treća trojka (--x) – za sve ostale. Grupu odre|uje administrator (sys adm). Mogu da je čine ljudi koji rade u istoj kancelariji, studenti istog kursa – recimo njima treba C kompajler… Administrator (sys adm) ima sva prava u UNIX-u, npr. može bez upozorenja da obriše neku korisnikovu datoteku bez traga. U novijim OS-ovima administratorima se ostavljaju sva prava da mogu da urade bilo šta zbog održavanja sistema, ali će i korisnik saznati za to.

  • chmod [ <options> ] <mode> <lista fajlova ili direktorijuma> – Change mode – Promena prava nekim fajlovima ili direktorijumima. 
  • chmod [ ugoa ]{ +-=}[rwx] <lista fajlova ili direktorijuma> – Isto.
Octagon SF8008 v2 (S2X + T2/C) 4K UHD
SuperJack HARL 12" Motor/60E-30W
TV LG UM7100PLB 49" 4K Full HDR 10+
Hako Pro, Amlogic S905Y4, 4GB RAM, 64GB ROM
G20s Pro BT + 2.4GHz Wireless, Air Mouse and Voice
TiviMate Premium (lifetime)
 
Sledeći korisnici su pohvalili ovaj post: Taurus

Van mreže commando

  • Satelitski Forum
  • Administrator
  • Veteran
  • *
  • Poruke: 11417
  • Activity:
    78%
  • Pohvaljen: 76071 puta
  • Zemlja: cs
  • Pol: Muškarac
  • "Kuda god ideš, idi srcem"
    • satelitski forum
Odg: Osnovne Linux komande (komplet tutorial)
« Odgovor #2 poslato: Septembar 02, 2016, 11:07:25 pre podne »
Rad sa fajlovima

Svako dobija po parče diska koje može da koristi: /home/<username>. Može se koristiti apsolutno ime (put)
(poqinje sa /, npr: /home/mr02111) ili relativno (od tekućeg direktorijuma, npr: ../mr02111).

pwd – Trenutni položaj u stablu direktorijuma.

  • cd <direktorijum> – Change directory – Promena direktorijuma.
  • cd .. – Vraćanje u prethodni (parent) direktorijum.
  • cd /home/mr02685 – Menjanje direktorijuma.
  • cd . – Tekući direktorijum.
  • cd ?? – Vraćanje u home direktorijum (može i samo: cd).
  • cd ??<direktorijum> – Pomeranje u direktorijum unutar home direktorijuma.
  • ls <lista direktorijuma ili fajlova> – List – Analogon DOS-ove naredbe dir.
  • ls * – Lista i one fajlove koji su unutar poddirektorijuma (dir /s u DOSu).
  • ls -r * – Lista fajlove i direktorijume u obrnutom poretku (reverse order).
  • ls -d * – Ne listaju se direktorijumi.
  • ls a[Bb]* – Lista sve fajlove čije je prvo slovo je a, drugo slovo B ili b.
  • ls [1-3]* – Lista sve fajlove čije je prvo slovo 1, 2 ili 3.
  • ls a?c000 – ? zamenjuje bilo koje, ali tačno jedno, slovo.
  • ls a*0 – * je zamena za bilo koju nisku (i praznu) karaktera, ovako se listaju svi fajlovi koji počinju sa a, a završavaju se sa 0.
  • ls -l – Detaljnije informacije o fajlovima, npr. atributi.
  • ls -a – Spisak svih fajlova, tj. i onih koji počinju tačkom, a koji se inače ne prikazuju (slično hidden fajlovima u DOS-u) jer su ti fajlovi obično veoma važni.
  • ls -la (isto kao: ls -l -a) – Detaljnije informacije o svim fajlovima.
  • ls -s – Lep ispis (brojevi pored fajlova govore koliko je veliki fajl u kilobajtima).
  • ls -R – Ispis sadržaja tekućeg direktorijuma i poddirektorijuma.
  • ls -p – Da bi u screenu direktorijumi bili označeni kosom crtom (/).
  • ls -o – Da bi u screenu izvesni fajlovi bili osvetljeni.
  • cp [<opcije>] <fajl> <fajl ili direktorijum> – Copy – Kopiranje fajla.
  • cp [<opcije>] <lista fajlova> <direktorijum> – Kopiranje fajlova u <direktorijum>.
  • cp [<opcije>] <lista fajlova> . – Kopiranje u tekući direktorijum.
  • cp [<opcije>] <lista fajlova> ?? – Kopira u home direktorijum.
  • cp -i <lista fajlova> <direktorijum> – Za svaki fajl preko koga treba da piše pita da li je to u redu.
  • mv <fajl> <novo ime fajla> – Move – Slično kao kopiranje, samo sto se originalni fajl neće sačuvati, tj. ovako se vrši preimenovanje.
  • mv <lista fajlova> <direktorijum> – Promena mesta boravka fajlova.
  • mv -i <lista fajlova> <direktorijum> – Za svaki fajl pita da li da se izvrši move.
  • rm <lista fajlova> – Remove – Brisanje fajlova.
  • rm -i <lista fajlova> – Pita za svaki fajl da li ga obriše.
  • rm -r <direktorijum> – Briše ceo <direktorijum> bez daljih pitanja.
  • rm -r -i <direktorijum> – Isto kao rm -r, ali postavlja pitanje za svaki poddirektorijum unutar direktorijuma da li da ga razmatra (tj. fajlove u njemu) (descent) i da li da ga briše (remove).
  • rm a* – Briše sve fajlove čije ime pocinje sa a.
  • rm a * – Briše fajl koji se zove a (rm a), i sve fajlove u direktorijumu (rm *), u par reči briše sve fajlove u direktorijumu! Razlog je taj što shell interpretira *, ? i [.-.] i pravi listu fajlova za brisanje.

Ime fajla, odnosno direktorijuma, ne sme da sadrži : ; < > & * ?
[]| <space> ukoliko nije pod navodnicima. Ovo važi pri bilo kakvom navo|enju imena fajla koje sadrži ovakve karaktere.

  • rm “*” – Briše fajl koji se zove *, a ne sve fajlove u direktorijumu.
  • rm -- -f – Briše fajl -f. Ovde je neophodno navesti opciju -- koja označava da dalje ide lista fajlova, a ne neka nova opcija.
  • rm ./-f – Drugi nacin da se izbrise fajl -f u tekućem direktorijumu. Ne postoje drugi načini osim ova dva prikazana da se ovakav fajl direktno izbriše.

Opcija -- postoji i za većinu drugih naredbi i služi pri radu sa fajlovima čije ime počinje minusom.
  • mkdir <direktorijum> – Make directory – Pravljenje direktorijuma.
  • rmdir <direktorijum> – Remove directory – Briše samo prazne direktorijume.

Maksimalna dužina imena fajlova, kao i direktorijuma bi trebalo da je 255.

  • cat <lista fajlova> – Catenate – Lista fajlove (kao type u DOS-u).
  • cat /etc/passwd | more – Spisak svih logina na alasu.
  • cat > <fajl> – Upis teksta sa tastature u fajl do pritiska ^C. Pri tom se prethodni sadržaj fajla gubi.
  • cat >> <fajl> – Dopisivanje teksta koji se unosi sa tastature na kraj fajla.
  • joe <fajl> – Popularan editor. Iako jednostavan, u njemu je moguće praviti makroe, bookmarkove, čak je dozvoljeno i kompajliranje.

Neke od opcija u editoru joe su:

^KH – Help – Piše u gornjem desnom uglu ekrana. Tu pišu sve ostale opcije. Izlaz iz helpa je ^KH.
^[. – Next screen – Sledeća strana helpa. Umesto ^[ može se koristiti i ESC.
^
[, – Previous screen – Prethodna strana helpa.
^- – Undo.
^KX – Save and Exit.
^KS – Save As.
^C – Exit without save (abort).
^R – Refresh.
^KB – Begin block.
^KK – End block.
^KC – Copy block. Blok mora biti prethodno selektovan sa ^ KB i ^KK.
^KM – Move block.
^KY – Delete block.
^KF – Find string (
\n za new line, \\ za \, …).
^L – Find next.
^Y – Delete line.

Postoje još i editori vi i emacs koji su standardni za UNIX, i mnogo su profesionalniji od editora joe, ali i mnogo komplikovaniji. Editor pico je sličan joeu, nalik na pineov editor i zgodan za korišćenje.

Fajlovi iz home direktorijuma koji se po defaultu koriste:

.login – Izvršava se prilikom svakog logovanja (telnetovanja).
.logout – Izvršava se prilikom svakog izlogivanja.
.tcshrc – Izvršava se pri otvaranju novog shella ako koristimo tcsh (kao autoexec.bat u DOS-u). Tu se stavi mesg, alias, set…
.bashrc – Isto kao .tcshrc samo za shell bash.
.forward – Služi da poštu koju primamo preusmerimo na drugi nalog (npr. teslu). U tom fajlu treba da pišu adrese (po jedna u svakom redu) kojima će se slati nove poruke. Ako želimo da pored slanja na druge, nove poruke ostanu i na našem nalogu, u .forward dodaćemo i adresu našeg naloga. Pri tom neće biti rekurzivne raspodele novih poruka. Ovo se najčešće radi kada imamo više naloga, a želimo da čitamo poštu samo na jednom od njih, i tada se na ostalim nalozima napravi po jedan .forward fajl u kome piše samo adresa ciljnog naloga. Da li se i gde nekoj osobi pošta forwarduje vidi se pomoću naredbe finger.
.history – U ovom fajlu se čuva izvestan broj komandi koje smo poslednje koristili. Ukoliko je podešeno set history=100, pamtiće se 100 poslednje otkucanih komandi.
.plan – Ovde navodimo koji su naši planovi. Plan za bilo koju osobu se vidi pomoću finger.
DEADJOE – To je poslednji fajl čije editovanje nismo uspešno priveli kraju. Na primer, pišemo dugačak fajl i računar na kome radimo se odjednom blokira ili nam nestane struja. Ono što smo pisali nije izgubljeno već se čuva u ovom fajlu. Zato UNIX spada u najstabilnije OS-ove.
Ako neki od gore pomenutih fajlova ne postoji, smatra se da je prazan. Ukoliko neko želi da promeni shell u kojem radi, poslaće pismo administratorima (rootu).
Fajlovi koje koristi pine:
.pinerc – Konfiguracija za pine. Učitava se prilikom svakog startovanja pinea.
.addressbook – U njemu se čuvaju adrese poznanika.
.addressbook.lu – Pomoćni fajl vezan za adrese.
.signature – Sadržaj ovog fajla će se pojaviti kao deo svake poruke koju pišemo. Kao što mu i samo ime kaže, služi za potpis.
mail/sent-mail – Tu se čuvaju poruke koje smo poslali.
mail/saved-messages – Ovde su poruke koje čuvamo.
mail/postponed-messages – Ovde su poruke koje još nismo završili.
dead.letter – Sve neuspele (i prekinute) akcije u vezi pisanja pisama u pineu se čuvaju u ovom fajlu. Komentar je isti kao za DEADJOE.

Svi fajlovi (osim konfiguracionog .pinerc) mogu se preimenovati ili smestiti u neki drugi direktorijum.

Tako|e, direktorijum mail koji se po defaultu koristi za foldere ne mora da se zove tako, niti mora da postoji. Sve se to podešava u setupu za pine.
Octagon SF8008 v2 (S2X + T2/C) 4K UHD
SuperJack HARL 12" Motor/60E-30W
TV LG UM7100PLB 49" 4K Full HDR 10+
Hako Pro, Amlogic S905Y4, 4GB RAM, 64GB ROM
G20s Pro BT + 2.4GHz Wireless, Air Mouse and Voice
TiviMate Premium (lifetime)
 
Sledeći korisnici su pohvalili ovaj post: Taurus

Van mreže commando

  • Satelitski Forum
  • Administrator
  • Veteran
  • *
  • Poruke: 11417
  • Activity:
    78%
  • Pohvaljen: 76071 puta
  • Zemlja: cs
  • Pol: Muškarac
  • "Kuda god ideš, idi srcem"
    • satelitski forum
Osnovne Linux komande (komplet tutorial)
« poslato: Septembar 02, 2016, 10:59:04 pre podne »
Promena lozinke

Proces promene login lozinke datog naloga počinje komandom passwd. Od Vas će se tražiti da unesete tekuću lozinku (old, current password), a zatim ćete dobiti zahtev da unesete novu lozinku i da unos nove lozinke ponovite. Lozinke se ne prikazuju.

  • w – Ko je ulogovan
  • who – Koga još ima na sistemu.
  • who am i – Ispis ličnih podataka.
  • whoami – Ispisuje se samo username.
  • finger – Slično kao w i who.
  • finger <lista tagova> – Ispisuje ko sve ima neki od navedenih tagova, tj. stringova, kao svoje ime, prezime ili username.
  • finger [<lista tagova>][›<server>] – Isto samo za konkretan server. Ako se ne navede ›<server>, po defaultu se za server na kom se traže informacije uzima onaj na kome se radi.
  • Za server je potrebno navesti njegovu adresu.
  • pine – Rad sa poštom.
  • U radu sa ovim programom, pored strelica, entera, spacea, za upotrebu nekih opcija treba pritisnuti odgovarajuće slovo, čiji se spisak nalazi u donjem delu ekrana. Caret ^ označava da treba pritisnuti ctrl.

Pri slanju pošte koristi se protokol SMTP (Simple Mail Transfer Protocol).
Za izmenu izgleda pinea postoji gomila opcija u setupu. U njemu, unutar configa, unošenjem news.rcub.bg.ac.yu kao nntp-servera dobija se mogućnost da se iz list folders pristupi i konferencijama po
želji.
Na taj način možemo da saznamo šta drugi ljudi imaju da kažu na neku temu, kao i da sami izlažemo naša gledišta. Slanje fajlova se vrši tako|e iz pinea. Kada se izabere opcija compose message za slanje poruke, pored primaoca i subjecta (naslova), u vidu attachmenta (priveska) može se poslati jedan ili više fajlova pomoću ^J. Fajl se može poslati i u okviru glavne poruke pomoću ^R. Kada se primi poruka sa attachmentima, oni se gledaju sa v (view attachments) i izborom konkretnog priveska. Attachment se snima u poseban fajl pomoću s (save attachment). Izlazak iz pregleda privezaka je sa < (back).

  • talk <username> – Interaktivni razgovor. Izlaz sa ^C.
  • ytalk <username> – Interaktivni razgovor sa više ljudi. Opcije se dobijaju pritiskom na ESC (escape). Primera radi, a je add user, d – delete user… Izlaz je sa ^C.
  • write <username> – Slanje poruke. Nakon ovog reda, pišemo poruku. Izlaz sa ^C.
  • mesg n – Kad hoćemo da onemogućimo da nas uznemiravaju porukama (od write i talk).
  • mesg y – Uznemiravanje dozvoljeno.
  • mesg – Ispisaće da li je trenutno yes ili no.

Ukoliko je onemogućeno uznemiravanje porukama kod onoga koga zovemo pomoću write ili talk, ispisaće nam senešto poput: Permission denied. Promena je aktivna dok se ne izlogujemo.
  • man <komanda> – Manual (uputstvo) za komandu. Koristi se program less za ispis.
  • man write – Uputstvo za naredbu write.
  • man -k <string> – Spisak svih komandi u kojima se javlja <string>.
  • <komanda> --help – Znatno kraći i sažetiji help sa kratkim opisom sintakse i argumenata koji se mogu pojaviti u komandi. Radi za većinu naredbi.

Spajanje komandi vrši se pomoću znaka
| (pipe), redirekcija izlaza pomoću > ili >>, a redirekcija ulaza pomoću <. U UNIX-u ulaz i izlaz se ostvaruju čitanjem ili pisanjem datoteka, pošto svi periferni ure|aji i direktorijumi, čak i tastatura i ekran, predstavljaju datoteke. Zato se redirekcijom izlaza rezultati programa, umesto u fajl koji predstavlja ekran (standardni izlaz), upisuju u neki drugi fajl.

  • prog < infile – ^ita iz fajla šta treba u programu prog (umesto da unosimo sa tastature).
  • prog > outfile – Umesto na ekran, piše u fajl.
  • prog | anotherprog – Izlaz iz prog (ne ide na ekran) je ulaz za anotherprog.
  • prog <infile >outfile – ^ita iz fajla infile i rezultat programa prog upisuje u fajl outfile.
  • <komanda> | more – Lista stranu po stranu.
  • more <fajl> – Lista <fajl> stranu po stranu.
  • <komanda> | less – Slično kao more.

U komandi more, akcije su:

h – Help – Spisak akcija.
space – Pomeranje nadole za navedeni broj redova (otkuca se neki broj i pritisne space). Ako se ništa ne navede, po defaultu je to jedna strana.
b – Backward – Pomeranje za stranu ili za navedeni broj redova unazad.
q – Quit – Izlazak. Akcije u komandi less:
b – Vraćanje na prethodnu stranu.
u – Vraćanje za pola strane unazad.
d – Spuštanje za pola strane.
v – Prelazak na sledeću stranu.
space – Prelazak na sledeću stranu.
/<ime> – Osvetljava sve pojave stringa <ime>. Ako se <ime> ne navede, to znači find next.
q – Izlaz.
Octagon SF8008 v2 (S2X + T2/C) 4K UHD
SuperJack HARL 12" Motor/60E-30W
TV LG UM7100PLB 49" 4K Full HDR 10+
Hako Pro, Amlogic S905Y4, 4GB RAM, 64GB ROM
G20s Pro BT + 2.4GHz Wireless, Air Mouse and Voice
TiviMate Premium (lifetime)
 
Sledeći korisnici su pohvalili ovaj post: Taurus