Prakticne precice
Cilj lekcije: Nauciti precice koje ce ti ustedeti sate kucanja i spasiti te kada terminal "zaglavne".
Tab autocomplete — najveca usteda vremena
Umesto da kucas celo ime fajla ili direktorijuma, pritisni Tab — terminal ce dovrsiti umesto tebe.
Primer:
cd /h
Pritisni Tab → terminal automatski dopunjuje:
cd /home/
Ako postoji samo jedna mogucnost, Tab ce je odmah dovrsiti. Ako ima vise opcija, pritisni Tab dva puta da vidis listu:
ls /etc/sys
Pritisni Tab Tab:
sysctl.conf sysfs/ syslog systemd/
Tab funkcionise za:
- Imena direktorijuma i fajlova — najcesca upotreba
- Imena komandi — ukucaj
gii pritisni Tab, ponudicegit,gimp... - Opcije komandi — u nekim shellovima (zsh, fish) Tab dopunjuje i
--help,--verbose...
Navika vredna zlata: Od sad, svaki put kad kucas put do fajla ili ime komande — pritisni Tab. Greske u kucanju su uzrok broj jedan problema u terminalu. Tab ih eliminise.
Istorija komandi — ne kucaj dva puta isto
Strelica gore
Pritisni ↑ (strelica gore) da se vratis na prethodnu komandu. Pritisni vise puta da pregledas starije komande. ↓ ide napred kroz istoriju.
$ ls -la /var/log
# ... (izlaz) ...
$ ↑ # vraca: ls -la /var/log
Ctrl+R — pretraga istorije
Kada trazis komandu koju si koristio pre dugo vremena:
$ Ctrl+R
(reverse-i-search)`':
Pocni da kucas deo komande — terminal ce pronaci najskorije podudaranje:
(reverse-i-search)`apt': sudo apt update
Pritisni Enter da pokrenes pronadjenu komandu, ili Ctrl+R ponovo da ides dalje unazad kroz istoriju. Ctrl+C za izlaz bez pokretanja.
history komanda
history
Ispisuje numerisanu listu poslednjih komandi (obicno poslednjih 500-1000):
497 ls -la
498 cd /var/log
499 cat syslog
500 history
Precice za pokretanje iz istorije:
!! # ponovi poslednju komandu
!499 # ponovi komandu broj 499 iz history
!cat # ponovi poslednju komandu koja pocinje sa "cat"
Primer korisne primene
!!:apt update # greska: Permission denied sudo !! # postaje: sudo apt update
Izlazak iz zaglavljene komande
Ovo je prva stvar koja zbuni sve pocetnike — kako da izadjem iz ovoga?
Primer problema
Pokrenes komandu cat (cita i ispisuje sadrzaj fajla) bez argumenta:
cat
Terminal ceka. Kucas nesto:
zdravo svete
zdravo svete
cat samo ponavlja ono sto ukucas — i ne mozes da izadjes. Sta sad?
Ctrl+C — otkazivanje komande
Najvaznije prece u terminalu. Prekida komandu koja se izvrsava:
cat
zdravo svete
zdravo svete
^C
$
^C oznacava da si pritisnuo Ctrl+C. Vratis se na prompt.
Koristi Ctrl+C kada:
- Komanda se izvrsava predugo i hoces da je zaustaTvis
- PogreSno si pokrenuo komandu
- Program ne reaguje
Ctrl+D — kraj unosa (EOF)
Ctrl+D salje signal "kraj fajla" (EOF — End Of File). Govori komandi da nema vise unosa:
cat
zdravo svete
zdravo svete
^D
$
Razlika od Ctrl+C: Ctrl+D normalno zavrsava unos (kao da si zatvorio fajl), Ctrl+C nasilno prekida.
Ctrl+D takodje izlazi iz bash sesije kada nema vise komandi (zatvoris terminal ako si na vrhu).
Ctrl+Z — suspendovanje procesa
Ctrl+Z pauzira (suspenduje) komandu i vraca te na prompt, ali komanda nastavlja da postoji u pozadini:
nano vazanfajl.txt
^Z
[1]+ Stopped nano vazanfajl.txt
$
Napomena: Suspendovani procesi, upravljanje pozadinom i
fg/bgkomande su tema poglavlja 10 — Upravljanje procesima. Za sad zapamti samo da Ctrl+Z postoji i da suspendovani proces mozes da vratis komandomfg.
Brisanje i kretanje po redu
Ne moras da drzis Backspace da obrises 30 karaktera. Ove precice postaju instinktivne posle par dana:
| Precica | Sta radi |
|---|---|
Ctrl+A |
Idi na pocetak reda |
Ctrl+E |
Idi na kraj reda |
Ctrl+U |
Obrisi sve pre kursora |
Ctrl+K |
Obrisi sve posle kursora |
Ctrl+W |
Obrisi prethodnu rec |
Alt+F |
Pomeri kursor jedno slovo napred |
Alt+B |
Pomeri kursor jedno slovo unazad |
Nije potrebno uciti sve odjednom. Ctrl+A, Ctrl+E i Ctrl+U su najkorisniji — ostalo dolazi vremenom.
Tilde ~ — precica za home direktorijum
Tilde (~) je poseban karakter koji uvek znaci tvoj home direktorijum (/home/student ili slicno).
cd ~ # idi u home direktorijum (isto kao samo: cd)
ls ~/dokumenti # listaj dokumenti folder u home-u
cp fajl.txt ~/ # kopiraj fajl.txt u home
Ovo je verovatno prvi put da vidis ~ u ovom kontekstu. Upamti: ~ = tvoj home. Videces ga svuda.
Primer — ova dva reda su ekvivalentna:
cd /home/student/projekti
cd ~/projekti
Drugi je krace i radi na bilo kom racunaru bez obzira na korisnicko ime.
Rezime
| Precica | Akcija |
|---|---|
Tab |
Autocomplete (ime fajla, komande, puta) |
Tab Tab |
Pokazi sve moguce dopune |
↑ / ↓ |
Prethodna / sledeca komanda iz istorije |
Ctrl+R |
Pretraga istorije komandi |
history |
Prikazi listu svih prethodnih komandi |
!! |
Ponovi poslednju komandu |
!N |
Ponovi komandu broj N iz history |
Ctrl+C |
Otkaži / prekini komandu koja se izvrsava |
Ctrl+D |
Kraj unosa (EOF), ili izlaz iz shella |
Ctrl+Z |
Suspenduj komandu (vise u poglavlju 10) |
Ctrl+U |
Obrisi red pre kursora |
Ctrl+K |
Obrisi red posle kursora |
Ctrl+A |
Idi na pocetak reda |
Ctrl+E |
Idi na kraj reda |
~ |
Home direktorijum |