Како користити команду цд на Линуку

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!