U ovom članku ćemo navesti 50 najčešće korišćenih Linux komandi koje će vam biti od koristi ako se prvi put susrećete sa Linuxom. Spisak nije napravljen po nekom odredjenom redu, izdvojeno je 50 komandi za koje smatramo da su korisne. Komandi svakako ima još, što ćemo obradjivati u narednim člancima.
1. tar komande
Pravljenje nove tar arhive:
$ tar cvf imefajla.tar ime_foldera/
Raspakivanje postojeće tar arhive:
$ tar xvf archive_name.tar
Pogledajte postojeću tar arhivu:
$ tar tvf archive_name.tar
Dodatni primeri za tar komande: The Ultimate Tar Command Tutorial with 10 Practical Examples
2. grep komande
Pretraga fajla za odredjeni string:
$ grep -i "the" ime_fajla
Ispis linije koja se poklapa, zajedno sa 3 linije posle nje.
$ grep -A 3 -i "rec_koju_trazimo" ime_fajla
Traženje stringa u svim fajlovima rekurzivno:
$ grep -r "rec_koju trazimo" *
Dodatni primeri za grep komande: Get a Grip on the Grep! – 15 Practical Grep Command Examples
3. find komande
Traženje fajlova po imenu:
# find -iname "MyCProgram.c"
Izvršenje komandi nad fajlovima koji su pronadjeni:
$ find -iname "MyCProgram.c" -exec md5sum {} \;
Nalaženje svih praznih fajlova:
# find ~ -empty
Dodatni primeri za find komande: Mommy, I found it! — 15 Practical Linux Find Command Examples
4. ssh komande
Login na remote host:
ssh -l jsmith remotehost.server.com
Debug odredjenog ssh hosta:
ssh -v -l jsmith remotehost.server.com
Provera verzije ssh klijenta:
$ ssh -V
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003
Dodatni SSH primer: 5 Basic Linux SSH Client Commands
5. sed komande
Kada kopirate DOS file na Unix siste, možete primetiti \r\n na kraju svake linije. Ova komanda konvertuje DOS format u UNIX format:
$sed 's/.$//' filename
Ispis sadržaja fajla obrnuto:
$ sed -n '1!G;h;$p' primerfajla.txt
Dodavanje broja linije na sve linije koje nisu prazne:
$ sed '/./=' primerfajla.txt | sed 'N; s/\n/ /'
Dodatni sed primer: Advanced Sed Substitution Examples
6. awk komande
Uklanjanje duplih linija u fajlu:
$ awk '!($0 in array) { array[$0]; print }' temp
Ispisivanje svih linija iz /etc/passwd koje imaju isti uid i gid:
$awk -F ':' '$3==$4' passwd.txt
Ispis odredjenog polja iz fajla:
$ awk '{print $2,$5;}' primer.txt
Dodatni awk primer: 8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR
7. vim komande
Predjite na 143-ću liniju fajla:
$ vim +143 imefajla.txt
Predjite na prvi rezultat pretrage:
$ vim +/termin_koji_trazite imefajla.txt
Otvorite fajl u read-only modu:
$ vim -R /etc/passwd
Dodatni vim primeri: How To Record and Play in Vim Editor
8. diff komande
Ignorišite prazna polja pri poredjenju
# diff -w ime_fajla.txt ime_fajla_novo.txt
Dodatni diff primeri: Top 4 File Difference Tools on UNIX / Linux – Diff, Colordiff, Wdiff, Vimdiff
9. sort komande
Redjanje fajlova uzlazno:
$ sort imena.txt
Redjanje fajlova silazno:
$ sort -r imena.txt
10. export komande
Da pogledate varijable okruženja koje se tiču ORACLE-a
$ export | grep ORACLE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"
Da eksportujete varijablu:
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0
11. xargs komande
Kopirajte sve slike na eksterni hard disk:
# ls *.jpg | xargs -n1 -i cp {} /eksterni-had-disk/folder
Pronadjite sve .jpg slike na računaru i arhivirajte ih:
# find / -name *.jpg -type f -print | xargs tar -cvzf slike.tar.gz
Preuzimanje svih URL-a pomenutih u listi u fajlu:
# cat lista-urla.txt | xargs wget –c
12. ls komande
Prikažite veličine fajla u klasičnim jedinicama (KB, MB):
$ ls -lh
-rw-r----- 1 primer primer 8.9M Sep 12 15:27 arch-linux.txt.gz
Poredjajte fajlove na osnovu vremena zadnje modifikacije:
$ ls -ltr
Klasifikacija fajlva sa specijalnim karakterima:
$ ls -F
Dodatni ls primeri: Unix LS Command: 15 Practical Examples
13. pwd komande
pwd je skraćenica od Print working directory. Šta drugo da vam kažemo o dobrom starom pwd-u koji ispisuje trenutni direktorijum već decenijama.
14. cd komande
Možete koristiti “cd -” da se prebacujete izmedju zadnja 2 direktorijuma u kojima ste bili.
Koristite “shopt -s cdspell” da automatski ispravite imena fajlova koje ste koristili u cd-u
Dodatni cd primeri: 6 Awesome Linux cd command Hacks
15. gzip komande
Da napravite *.gz kompresovan fajl:
$ gzip test.txt
Da raspakujete *.gz fajl:
$ gzip -d test.txt.gz
Prikažite koliko je kompresovan odredjeni fajla pomoću gzipa:
$ gzip -l *.gz
compressed uncompressed ratio uncompressed_name
23709 97975 75.8% asp-patch-rpms.txt
16. bzip2 komande
Da napravite *.bz2 kompresovan fajl:
$ bzip2 test.txt
Da raspakujete *.bz2 fajl:
bzip2 -d test.txt.bz2
Dodatni bzip2 primeri: BZ is Eazy! bzip2, bzgrep, bzcmp, bzdiff, bzcat, bzless, bzmore examples
17. unzip komande
Da raspakujete *.zip fajl:
$ unzip test.zip
Pogledajte sadržaj *.zip fajla, bez raspakivanja:
$ unzip -l magda.zip
Archive: magda.zip
Length Date Time Name
-------- ---- ---- ----
40995 11-30-98 23:50 META-INF/MANIFEST.MF
32169 08-25-98 21:07 classes_
15964 08-25-98 21:07 classes_names
10542 08-25-98 21:07 classes_ncomp
18. shutdown komande
Ugasite sistem odmah:
# shutdown -h now
Ugasite sistem za 10 minuta:
# shutdown -h +10
Restartujte sistem uz pomoć shutdown-a:
# shutdown -r now
Pokrenite fsck (filesystem check) posle restarta:
# shutdown -Fr now
19. ftp komande
ftp i sftp imaju slične komande. Da se konektujete na udaljeni server i skinete više fajlova, uradite sledeće:
$ ftp IP/hostname
ftp> mget *.html
Da pogledate fajlove na serveru pre skidanja, koristite mls uz ftp:
ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
/ftptest/usage.html
Dodatni ftp primeri: FTP and SFTP Beginners Guide with 10 Examples
20. crontab komande
Pogledajte crontab unos za pojedinačnog korisnika:
# crontab -u imekorisnika -l
Zakažite cronjob na svakih 10 minuta:
*/10 * * * * /home/magda/check-disk-space
Dodatni crontab primeri: Linux Crontab: 15 Awesome Cron Job Examples
21. service komande
service komanda se koristi da za pokretanje skripti bez potrebe za pozivanjem pune putanje do skripte.
Proverite status SSH servisa:
# service ssh status
Proverite status svih servisa.
service --status-all
Restartujte servis.
# service ssh restart
22. ps komande
Komanda ps se koristi da se prikažu informacije o procesima koji su trenutno aktivni.
Pogledajte trenutne procese:
$ ps -ef | more
Pogledajte trenutne procese u tree-hijerarhiji:
$ ps -efH | more
23. free komande
Ova komanda se koristi da prikaže slobodne resurse memorije na serveru.
Klasičan free output
$ free
total used free shared buffers cached
Mem: 3566408 1580220 1986188 0 203988 902960
-/+ buffers/cache: 473272 3093136
Swap: 4000176 0 4000176
Ako hoćete brzo da proverite koliko RAMa ima vaš server, koristite -g opciju za GB, -b za bytes, -k za KB, -m za MB.
$ free -g
total used free shared buffers cached
Mem: 3 1 1 0 0 0
-/+ buffers/cache: 0 2
Swap: 3 0 3
Ako hoćete da vidite celu memoriju, zajedno sa swap-om, dodajte -t.
$ free -t
total used free shared buffers cached
Mem: 3566408 1592148 1974260 0 204260 912556
-/+ buffers/cache: 475332 3091076
Swap: 4000176 0 4000176
Total: 7566584 1592148 5974436
24. top komande
top komande prikazuju sve procese u sistemu, poredjane po CPU resursima koje troše. Da složite procese po nekom drugom resursu, pritisnite O:
Current Sort Field: P for window 1:Def
Select sort field via field letter, type any other key to return
a: PID = Process Id v: nDRT = Dirty Pages count
d: UID = User Id y: WCHAN = Sleeping in Function
e: USER = User Name z: Flags = Task Flags
……..
Da izlistate procese koji pripadaju samo jednom korisniku, koristite -u opciju:
$ top -u imekorisnika
Još top primera: Can You Top This? 15 Practical Linux Top Command Examples
25. df komande
Ispis zauzeća prostora na disku:
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 29530400 3233104 24797232 12% /
/dev/sda2 120367992 50171596 64082060 44% /home
Komanda df -h ispisuje informacije u formatu koji je čitljiv, npr zauzeće će biti ispisano u GB:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 3.1G 24G 12% /
/dev/sda2 115G 48G 62G 44% /home
Možete koristiti -T da dobijete informaciju koji tip fajlsistema se koristi:
$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 29530400 3233120 24797216 12% /
/dev/sda2 ext4 120367992 50171596 64082060 44% /home
26. kill komande
kill komande se koriste da ubijete procese. Prvo pronadjite ID procesa, a zatim koristite killall -9 da ubijete proces.
$ ps -ef | grep vim
magda 7243 7222 9 22:43 pts/2 00:00:00 vim
$ kill -9 7243
Dodatni kill primeri: 4 Ways to Kill a Process – kill, killall, pkill, xkill
27. rm komande
Upit za potvrdu pre brisanja fajla:
$ rm -i imefajla.txt
Može biti veoma korisno u kombinaciji sa specijalnim karakterima.
Ispis imena fajla i potvrda pre brisanja:
$ rm -i file*
Sledeća komanda će obrisati sve fajlove i foldere unutar foldera /primer, uključujući i folder /primer .
$ rm -r primer
28. cp komande
Kopirajte fajl1 u fajl2, a da pritom sačuvate vlasništvo nad fajlom i timestamp:
$ cp -p fajl1 fajl2
Kopirajte fajl1 u fajl2 a da pritom dobijete potvrdu o kopiranju, pre samog kopiranja:
$ cp -i fajl1 fajl2
29. mv komanda
Preimenujte fajl1 u fajl2. Ako fajl2 već postoji, dobićete potvrdu o tome pre preimenovanja:
$ mv -i fajl1 fajl2
Napomena: mv -f je suprotna komanda, koja će preimenovati fajl1 u fajl2, bez potvrde o tome.
mv-v će ispisati šta se dešava prilikom preimenovanja, što može biti korisno u masovnijim izmenama fajlova.
$ mv -v fajl1 fajl2
30. cat komande
Možete pogledati više fajlova odjedom. Sledeća komanda će ispisati sadržaj fajla1 a zatim sadržaj fajla2.
$ cat fajl1 fajl2
Pri ispisu fajla, komanda cat -n će dodati i broj svake linije u fajlu.
$ cat -n /etc/logrotate.conf
1 /var/log/btmp {
2 missingok
3 monthly
4 create 0660 root utmp
5 rotate 1
6 }
31. mount komande
Da montirate fajl sistem, potrebno je da kreirate folder i da montirate sistem kao što je prikazano:
# mkdir /backup
# mount /dev/sdb1 /backup
Takodje možete dodati ovo u fstab, za automatsko montiranje.
/dev/sdb1 /backup ext2 defaults 0 2
32. chmod komande
chmod komande se koriste da upravljanje permisija nad folderom ili fajlom.
Dajte pun pristup korisniku ili grupi nad fajlom koristeći sledeću komandu:
$ chmod ug+rwx fajl.txt
Onemogućite pristup grupi na odredjenom fajlu:
$ chmod g-rwx fajl.txt
Primenite set permisija rekurzivno na svim fajlovima i folderima:
$ chmod -R ug+rwx fajl.txt
Dodatni chmod primeri: 7 Chmod Command Examples for Beginners
33. chown komande
chown komande se koriste da upravljanje vlasništva nad folderima i fajlovima.
Da promenite vlasništvo nad fajlom tako da vlasnik bude oracle, a grupa db, možete koristiti sledeću komandu:
$ chown oracle:db fajl.sh
Možete koristiti -R da promenite vlasništvo rekurzivno nad svim folderima i fajlovima unutar jednog foldera:
$ chown -R oracle:db /home/oracle
34. passwd komande
Promenite vašu lozinku koristeći passwd. Ova komanda će vas pitati za staru lozinku a zatim za novu:
$ passwd
Administrator može promeniti lozinke ostalim korisnicima. U ovom slučaju nije potrebno znati staru lozinku:
# passwd imekorisnika
Uklonite lozinku za odredjenog korisnika. Kada se lozinka ukloni, taj korisnik se može logovati bez lozinke.
# passwd -d imekorisnika
35. mkdir komande
Sledeća komanda će napraviti folder temp unutar home direktorijuma.
$ mkdir ~/temp
Možete napraviti nekoliko foldera sa jednom mkdir komandom.
$ mkdir -p dir1/dir2/dir3/dir4/
36. ifconfig komande
ifconfig se koristi za konfiguraciju mreže na Linux sistemima.
Pogledajte interfejs zajedno sa statusom:
$ ifconfig -a
Startujte ili stopirajte odredjeni mrežni interfejs koristeći up i down komande.
$ ifconfig eth0 up
$ ifconfig eth0 down
Dodatne ifconfig komande: Ifconfig: 7 Examples To Configure Network Interface
37. uname komande
Uname komande ispisuju važne informacije o sistemu: kernel, hostname, tip procesora i slično.
Primer ispisa na Ubuntu laptopu:
$ uname -a
Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Sat Sep 12 01:12:52 UTC 2015 i686 GNU/Linux
38. whereis komande
Ako želite da saznate gde se odredjena komanda nalazi na serveru i kako se poziva, možete koristiti whereis.
$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
39. whatis komande
Komanda whatis ispisuje kratak opis odredjene komande:
$ whatis ls
ls (1) - list directory contents
$ whatis ifconfig
ifconfig (8) – configure a network interface
40. locate komande
Koristeći locate komandu možete brzo pronaći lokaciju fajla ili grupe fajlova. Komanda locate koristi bazu kreiranu od strane updatedb.
Primer ispod pokazuje sve fajlove koji sadrže reč ‘crontab’ u sebi.
$ locate crontab
/etc/anacrontab
/etc/crontab
/usr/bin/crontab
/usr/share/doc/cron/examples/crontab2english.pl.gz
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/vim/vim72/syntax/crontab.vim
41. man komande
Ispis man stranice za odredjenu komandu:
$ man crontab
Kada je man stranica prevelika ili se sadrži od više poglavlja, direktno do poglavlja možete doći na sledeći način:
$ man BROJPOGLAVLJA ime_komande
Sledećih 8 poglavlja su dostupni na man stranicama:
- Generalne komande
- Pozivanje sistema
- Funkcije C biblioteka
- Speciajalni fajlovi
- Formati fajlova
- Igre i screensaver-i
- Razno
- Administracija sistema i daemon-i
Na primer, kada uradite whatis crontab, primetićete da crontab ima 2 poglavlja, poglavlje 1 i poglavlje 5. Da vidite odmah poglavlje 5, uradite sledeće:
$ whatis crontab
crontab (1) - maintain crontab files for individual users (V3)
crontab (5) - tables for driving cron
$ man 5 crontab
42. tail komande
Bez dodatnih argumenata, ispisuje zadnjih 10 linija fajla:
$ tail ime_fajla.txt
Ispis n broja linija fajla:
$ tail -n N ime_fajla.txt
Pogledajte sadržaj fajla u realnom vremenu koristeći tail -f. Ovo je korisno za praćenje logova. Komanda se terminiše koristeći CTRL+C.
$ tail -f log-fajl
Dodatni tail primeri: 3 Methods To View tail -f output of Multiple Log Files in One Terminal
43. less komande
less je veoma koristan kada pregledate ogromne logove.
$ less ogroman-log-fajl.log
Kada jednom otvorite fajl koristeći less, sledeće dve prečice su dosta korisne:
CTRL+F – napred
CTRL+B – nazad
Dodatni less primeri: Unix Less Command: 10 Tips for Effective Navigation
44. su komande
Prebacite se na drugi korisnički nalog koristeći su komandu. Admin može da se prebaci na bilo čiji nalog, bez lozinke.
$ su - IMEKORISNIKA
Izvršite komandu sa tudjeg naloga. U navedenom primeru, Duško može da izvrši ls komandu kao Magda. Kada se komanda izvrši, sistem će se vratiti na Duškov nalog.
[dusko@dev-server]$ su - magda -c 'ls'
[dusko@dev-server]$
Ulogujte se na odredjeni nalog i pokrenite odredjeni shell umesto standardnog shell-a.
$ su -s 'SHELLNAME' USERNAME
45. mysql komande
mysql je najrasprostranjeniji sistem baza podataka otvorenog koda. Čak i ako ne koristite SQL na svom serveru, možda će vam zatrebati mysql komanda da se konektujete na SQL na drugom serveru.
Da se povežete na udaljeni mysql server:
$ mysql -u root -p -h 192.168.1.2
Da se povežete na lokalni mysql server:
$ mysql -u root -p
Ako hoćete da unesete lozinku direktno u terminal, unesite je odmah posle -p, bez razmaka.
46. yum komande
Da instalirate Apache koristeći yum:
$ yum install httpd
Da ažurirate Apache koristeći yum:
$ yum update httpd
Da obrišete Apache koristeći yum:
$ yum remove httpd
47. rpm komande
Da instalirate Apache koristeći rpm:
# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm
Da ažurirate Apache koristeći rpm:
# rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
Da obrišete Apache koristeći rpm:
# rpm -ev httpd
Dodatni rpm primeri: RPM Command: 15 Examples to Install, Uninstall, Upgrade, Query RPM Packages
48. ping komande
Pingujte gmail server sa samo 5 paketa:
$ ping -c 5 gmail.com
Dodatne ping komande: Ping Tutorial: 15 Effective Ping Command Examples
49. date komande
Postavite datum na mašini:
# date -s "09/12/2015 23:59:53"
Kada promenite vreme na mašini, trebalo bi da sinhronizujete sat sa datumom:
# hwclock –systohc
# hwclock –systohc –utc
50. wget komande
Brzi i lak način da skinete softver, muziku, video ili bilo koji drugi fajl sa inerneta.
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
Skinite fajl i snimite ga pod drugim imenom:
$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
Dodatni wget primeri: The Ultimate Wget Download Guide With 15 Awesome Examples
Mene interesuje dali za linux postoji internet exsplorer
Pozdrav Žarko,
Da budem iskren, to mi nikad nije palo na pamet. Potražio sam, ali nativno ne postoji. Postoje načini instalacije preko Wine-a: http://www.cyberciti.biz/tips/how-to-install-internet-explorer-on-linux.html