Posts

Pisanje skriptova

Skripta se formira od datoteke u kojoj se unose komande. Izvršavanjem skripte izvršiće se svaka komanda u datoteci. Primer: kreirajte datoteku skripta1 i unesite sledeće: #!/bin/sh echo "Moja prva skripta. Pozdrav svima!" Kad sačuvate datoteku, skriptu možete izvršavati komandom:  sh skripta1  ili ./skripta1 . Postoji mogućnos da se skripta učini izvršnom što bi značilo da je dovoljno ukucati samo naziv skripte za izvršenje. Privi red u izvršnoj skripti određuje ljusku (tj. shell) u kojoj se skripta izvršava. Pored sh postoje: zsh, bash, csh, ksh. Da bi skripta postala izvršna potrebno je uneti komandu:  chmod u+x skripta1 . Petlja u okviru skripte Kreirajte skriptu sa sledećim komandama: #! /bin/sh cd ~/www for i in 'ls -1 *.html' do cp $i $i.bak echo "$i backed up!" done prvi red označava shell u kome će se skripta izvršiti drugi red pozicionira trenutnu putanju u www direktorijum ls -1 *.html - kao rezultat daje pretragu svih .htm...

Izvršavanje skriptova i programa

Zakazivanje jednokratnih poslova je moguće komandom at: at 12:01 1 Jan 2013 ls /etc > /root/Desktop/pregledetc.txt Ctrl+D posao će se izvršiti 1. januara u 12:01 2013 na Desktopu će se kreirati pregledetc.txt fajl i u njemu će biti izlistano sve što se nalazi u /etc direktorijumu CTRL + D je kombinacija tastera za kraj zakazivanja posla Vreme zakazivanje je moguće podesiti i na sledeći način: at noon tomorrow at 01/01/99 at 3:42am at now + 3 weeks at teatime Komandom atq će se prikazati spisak svih poslova koji čekaju u at redu. Komanda atrm 12 birše posao pod rednim brojem 12 iz at reda. Zakazivanje periodičnih poslova moguće je zadavanjem komande crontab -e .Otvoriće se cron datoteka u kojoj se unose vrednost za minute, sate, dan u mesecu, mesec i dan u nedelji, a zatim komandu koju želite da izvršite: 55 16 * * 1-5 ls /etc > /root/Desktop/pregledetc.txt Ovaj posao će se izvršavati svakog radnog dana (1-5) u 16:55. Komandom crontab -l mož...

Arhiviranje i raspakivanje datoteka

Dva različita posla koja se stalno mešaju: Arhiviranje — spajanje više fajlova u jedan, uz čuvanje strukture direktorijuma, dozvola i vlasništva. Kompresija — smanjivanje veličine jednog fajla. Na Linuxu su to i doslovno odvojeni alati. tar spaja, ali ne smanjuje. gzip smanjuje, ali ne spaja. Otud i ono .tar.gz — prvo jedan, pa drugi. Na Windowsu je zip radio oba posla odjednom, pa se ta podela u početku čini nepotrebnom. Ali ima razlog: kad su odvojeni, možeš birati kombinaciju i menjati kompresor bez menjanja arhive. Šta izabrati Backup Linux sistema tar.gz — jedini format koji čuva dozvole, vlasništvo i simboličke linkove. Slanje nekome na Windowsu zip — otvara se dvoklikom, bez dodatnog softvera. Distribucija softvera tar.xz — najmanja veličina, pakuje se jednom a preuzima mnogo puta. Noćni backup tar.gz — brzo, a prostor je jeftiniji od vremena. Jedan veliki fajl Sam gzip ...

Kontrola privilegija — root, sudo i SUID

Na Linuxu postoji jedan nalog koji sme sve — root, sa UID-om 0. Kernel za njega ne proverava dozvole; one koje vidiš u ls -l za njega jednostavno ne važe. Otud i celo pitanje kontrole privilegija: kako uraditi ono za šta ti trebaju root prava, a da pri tome ne radiš kao root ceo dan. Zašto se ne radi kao root Nije stvar navike nego posledica. Kao root: Ne postoji ništa što te zaustavi. Greška u kucanju briše sistemske fajlove bez pitanja. Svaki program koji pokreneš ima puna prava — uključujući i onaj koji si preuzeo sa interneta. U logovima piše samo „root", pa se ne zna ko je šta uradio. Klasičan primer razlike: $ rm -rf /usr /lib/nesto rm: cannot remove '/usr': Permission denied Kao običan korisnik — bezopasna greška. Kao root — kraj sistema. Razmak na pogrešnom mestu je isti u oba slučaja; razlikuju se samo prava. Zato je pravilo: radi kao običan korisnik, a prava podigni samo za onu komandu kojoj su stvarno potrebna. Ko sam i š...

Osnovne komande Linux-a

Početak u Linux-u Prijavljivanje na sistem Direktorijumi i datoteke Rad sa datotekama Informacije o sistemu

Početak u Linuxu — šta je i zašto se uči

Ovo je prva lekcija na blogu. Ne uči se nijedna komanda — cilj je da razumeš gde ideš i zašto, pre nego što otvoriš terminal. Linux koristiš i sada Verovatno misliš da nikada nisi radio na Linuxu. Zapravo si u kontaktu sa njim ceo dan: Sajtovi koje otvaraš — najveći deo interneta vrti se na Linux serverima Android telefon — ispod svega je Linux kernel Netflix, Facebook, Google, banke — sve na Linuxu Superračunari — svih pet stotina najbržih na svetu Ruteri, televizori, automobili, bankomati Cloud — AWS, Azure i Google Cloud u ogromnoj većini pokreću Linux instance Praktično svugde osim na desktopu. To je i razlog zašto se Linux uči: ne zato što je bolji od Windowsa za svakodnevni rad, nego zato što je operativni sistem infrastrukture . Šta Linux zapravo jeste Linux je kernel — sloj koji upravlja hardverom, memorijom i procesima. Sam po sebi ne radi ništa vidljivo. Ono što instaliraš zove se distribucija : kernel plus sve ostalo — komande, serv...

Prijavljivanje na sistem

Prvo što Linux traži od tebe je da dokažeš ko si. Za razliku od Windowsa, gde jedan korisnik obično ima ceo računar, Linux je od početka napravljen kao višekorisnički sistem — više ljudi radi na istoj mašini istovremeno, a svako vidi i sme samo svoje. Zato prijava nije formalnost. Ona određuje čiji si i šta smeš. Kako izgleda prijava Na serveru bez grafike dočeka te ovako nešto: Rocky Linux 10.2 (Red Quartz) Kernel 6.12.0-211.el10.x86_64 on an x86_64 lab01 login: alen Password: Upisuješ korisničko ime, pa lozinku. Dok kucaš lozinku ne prikazuje se ništa — ni zvezdice, ni tačke. To je namerno, da onaj ko gleda preko ramena ne sazna ni dužinu. Kucaj normalno i pritisni Enter. Ako sve prođe, dobijaš prompt: [alen@lab01 ~]$ Kako se prompt čita i šta znače $ i # , objašnjeno je u lekciji Rad iz komandne linije . Ko sam Prva provera kad se zatekneš na nepoznatom sistemu: $ whoami alen Detaljnije — sa brojevima i grupama: $ id uid=1000(alen) gid=1000(alen) ...