Neke Linux komande su toliko uobičajene da ih koristimo gotovo nesvesno. Komanda cd
, koja služi za promenu direktorijuma, je tipičan primer. Međutim, postoje trikovi koji mogu poboljšati vašu efikasnost sa cd
-om, a možete čak razmisliti i o tome da je potpuno izbacite iz upotrebe.
Komanda o kojoj retko razmišljate
Kao što trepćemo očima, često ne razmišljajući o tome, tako i neke Linux komande koristimo automatski. One su prisutne na margini naše svesti. Iako ih upotrebljavamo svakodnevno, ne privlače našu pažnju jer su jednostavne i kratke.
U prvom satu korišćenja Linux računara, naučite da koristite cd
komandu, koja je deo Bash-a i drugih shell-ova. Ako ste imali iskustva sa drugim operativnim sistemima, možda vam objašnjenje nije ni bilo potrebno. Ona menja trenutni radni direktorijum, zar ne? Šta još ima da se zna?
Ipak, ima više nego što mislite. Sledi nekoliko saveta koji vam mogu pomoći da budete efikasniji.
Standardne cd
operacije
Radi potpunosti, osvrnućemo se na osnovnu upotrebu cd
komande.
Ako se nalazimo u početnom (home) direktorijumu, a želimo da pređemo u direktorijum koji se nalazi na putanji /usr/lib/firefox/browser
, i potom se vratimo u početni direktorijum, koristimo sledeće komande:
cd /usr/lib/firefox/browser/
cd /home/dave
Ne morate kucati celu putanju do direktorijuma, možete koristiti automatsko dovršavanje. Za svaki deo putanje, kada unesete dovoljno slova da razlikujete ime direktorijuma od ostalih, pritisnite Tab da automatski dopunite ime.
Na primer, unesite sledeće u komandnu liniju:
cd /usr/lib/fire
Sada pritisnite Tab, i shell će dopuniti ostatak direktorijuma, „firefox“. Ako dodate /b
na putanju i ponovo pritisnete Tab, dodaje se direktorijum „browser“ komandi.
Shell dodaje kosu crtu na kraju, tako da možete ponoviti proces tab-dovršavanja. To je i razlog zašto prva komanda ima kosu crtu na kraju. U drugoj komandi je nema, jer je kucana.
Možete koristiti tildu (~) kao skraćenicu da se brzo vratite u početni direktorijum sa bilo koje lokacije u sistemu datoteka; samo ukucajte:
cd ~
Ovo su primeri apsolutnih putanja, gde navodite kompletnu putanju od korena sistema datoteka do ciljnog direktorijuma.
Relativne putanje se odnose na trenutni radni direktorijum. Unutar početnog direktorijuma se nalazi direktorijum pod nazivom „work“. Možete koristiti komandu tree
za prikaz strukture direktorijuma unutar „work“ direktorijuma – unesite sledeće:
tree
Direktorijum „work“ sadrži poddirektorijum pod nazivom „dev“. Takođe, postoji direktorijum sa nazivom „dev“ u korenu sistema datoteka. Možete koristiti ls
sa opcijom -d
(direktorijum) da pogledate svaki od njih. Opcjia -hl
(human-readable, long list) nalaže ls da koristi jedinice lakše za čitanje za veličine direktorijuma, i prikazuje dugačku listu.
Ako ukucate „dev“, shell pretpostavlja da mislite na direktorijum „dev“ u trenutnom direktorijumu. Da biste pristupili „dev“ u korenu sistema, dodajte početnu kosu crtu, koja označava koren sistema datoteka, kao što je prikazano:
ls -d dev -hl
ls -d /dev -hl
Komanda cd
se ponaša na isti način kao i ls
. Ako referencirate direktorijum kao „dev“, kao što je prikazano, pretpostavlja se da mislite na direktorijum „dev“ u radnom direktorijumu:
cd dev
Bez početne kose crte, pretpostavlja se da duže putanje počinju od trenutnog radnog direktorijuma, kao što je prikazano:
cd dev/mobile/android
Promena direktorijuma pomoću dvotačke
Identifikator dvotačke (..) predstavlja roditeljski direktorijum trenutnog radnog direktorijuma. Ako se nalazite u duboko ugnježdenom poddirektorijumu, možete koristiti „..“ sa cd
da pređete u nadređeni direktorijum.
Ovo vas pomera dva nivoa više u strukturi direktorijuma. Ako dodate više „..“ komandi, možete se pomeriti proizvoljan broj nivoa više u strukturi.
Ukucajte sledeće:
cd ..
cd ../..
Možete kreirati i pseudonime da izvedete ove manevre, tako što ćete ukucati:
alias .2="cd ../.."
alias .3="cd ../../.."
Možete ih koristiti na isti način kao i same komande.
Da biste učinili pseudonime trajnim i dostupnim tokom ponovnog pokretanja računara, morate ih dodati u datoteku .bashrc
ili .bash_aliases
.
Lako prelaženje između dva direktorijuma
Crtica (-) je još jedan simbol sa posebnom funkcijom. Ona vas vraća u direktorijum iz kojeg ste prethodno došli.
Na primer, recimo da ste u direktorijumu „c“. Možete koristiti cd
da pređete u direktorijum „forth“. Zatim možete koristiti cd -
da se krećete napred-nazad između ta dva direktorijuma.
Da biste to uradili, ukucajte:
cd ../forth
cd -
cd -
Ime direktorijuma u koji prelazite se pojavljuje pre nego što se prebacite u njega.
Druga vrsta rođaka
Shell koristi trenutni radni direktorijum kao „osnovni“ direktorijum za relativne putanje. Možete da koristite promenljivu okruženja CDPATH
da postavite drugu lokaciju kao osnovni direktorijum za relativne putanje. Ako većinu vremena provodite u određenom delu strukture datoteka, ovo može da vam uštedi mnogo pritisaka na tastere (i vremena) svakog dana.
Ukucajmo sledeće da direktorijum work/dev/projects
bude osnovni direktorijum za relativne putanje:
export CDPATH=/home/dave/work/dev/projects
Sada, svaki put kada koristite komandu cd
, prvo se proverava lokacija u promenljivoj okruženja CDPATH
da li postoje podudarna imena direktorijuma. Ako bilo koji od njih odgovara cilju koji ste naveli u cd
komandi, bićete premešteni u taj direktorijum.
Bez obzira gde se nalazite u sistemu datoteka, kada koristite cd
komandu, shell proverava da li se ciljni direktorijum nalazi u osnovnom direktorijumu. Ako jeste, premešteni ste u taj direktorijum.
Ako vaš ciljni direktorijum počinje sa vodećom kosom crtom (/), čime postaje apsolutna putanja, promenljiva okruženja CDPATH
neće uticati na njega.
Da demonstriramo ovo, ukucajmo:
cd c
cd prolog
cd /usr
cd forth
Promenljiva okruženja CDPATH
je zapravo putanja, baš kao i promenljiva okruženja PATH
. Kada unesete komandu, shell pretražuje lokacije u PATH
za podudaranja. Kada koristite CDPATH
, shell pretražuje lokacije u promenljivoj okruženja CDPATH
za podudaranja. Slično kao PATH
, i CDPATH
može sadržati više lokacija.
Da bi shell pretražio trenutni direktorijum pre drugih lokacija u promenljivoj okruženja CDPATH
, dodajte tačku (.) na početak putanje ovako:
export CDPATH=.:/home/dave/work/dev/projects
Da biste svoja podešavanja učinili trajnim, morate ih dodati u konfiguracionu datoteku, kao što je .bashrc
.
Jedna stvar koju treba imati na umu: ako postavite osnovni direktorijum, to će uticati i na promene direktorijuma koje se vrše u okviru skripti. Da biste to izbegli, možete koristiti apsolutne putanje u skriptama ili testirati u vašoj .bashrc
datoteci kada navodite svoj CDPATH
, kao što je prikazano:
if test “${PS1+set}”; then CDPATH=.:/home/dave/work/dev/projects; fi
Ovo testira da li je promenljiva komandne linije, $PS1
, postavljena. Promenljiva okruženja CDPATH
će biti postavljena samo ako test prođe.
Korišćenje shopt
sa cd
Sa komandom shopt
, možete postaviti određene opcije za shell. Neke od njih mogu poboljšati vašu upotrebu komande cd
. Da biste ih postavili, koristite opciju -s
(enable) sa shopt
, da biste joj prosledili ime opcije.
Opcija cdspell
proverava imena vaših direktorijuma i ispravlja neke uobičajene greške u kucanju, uključujući premeštena slova, nedostajuća slova ili imena sa previše slova. Ako pronađe direktorijum koji se poklapa sa ispravkom, ispravljena putanja se ispisuje, i cd
akcija se izvršava.
Kao primer, ukucajmo sledeće da bismo postavili opciju cdspell
, i namerno pogrešno napišimo „Desktop“ da vidimo da li će shell to ispraviti umesto nas:
shopt -s cdspell
cd Desktpo
Shell je uočio grešku, ispravio je i prebacio u direktorijum „Desktop“.
Još jedna opcija koju možete koristiti sa cd
je autocd
. Ona eliminiše potrebu da uopšte kucate cd
. Sve što unesete, a nije komanda, skripta, ili izvršni fajl (kao što je pseudonim), se koristi kao ciljni direktorijum. Ako možete da pređete u taj direktorijum, on će biti ispisan u terminalu i bićete prebačeni u taj direktorijum.
Kao primer, ukucajmo:
shopt -s autocd
/usr/local/games
/etc
~
Vidite! Možete se kretati po celom sistemu datoteka bez korišćenja cd
komande!
Podešavanja koja menjate pomoću shopt
utiču samo na interaktivne shell-ove, ne i na skripte.
Kolekcija cd
saveta
Verovatno nećete usvojiti sve ovo. Međutim, nadamo se da ste ovde pronašli nešto korisno. Na kraju krajeva, sve što ubrzava i pojednostavljuje vašu navigaciju komandnom linijom je dobrodošlo!