pwd — gde se trenutno nalazim

pwd ispisuje punu putanju direktorijuma u kom se trenutno nalaziš. Skraćenica je od print working directory.

Oblik komande

pwd [opcije]

Upotreba

$ pwd
/home/alen/projekat/src

To je sve što radi. Uvek vraća apsolutnu putanju, od korena / nadole.

Prompt obično već pokazuje gde si, ali skraćeno:

[alen@lab01 src]$

Vidiš samo ime poslednjeg direktorijuma. Da li je to /home/alen/projekat/src ili /opt/app/src — prompt ne kaže. Zato je pwd prva komanda koju otkucaš kad se zatekneš na tuđem serveru, a naročito pre svake komande koja briše.

Simbolički linkovi

Jedina stvarna finesa. Ako si ušao u direktorijum preko simboličkog linka, postoje dva tačna odgovora na pitanje gde si:

$ cd /var/www

$ pwd
/var/www

$ pwd -P
/srv/sajtovi/produkcija
OpcijaŠta vraća
-Llogičku putanju, sa linkom (podrazumevano)
-Pfizičku putanju, pravo mesto na disku

Kad nešto ne radi kako očekuješ, a u putanji ima linkova — proveri sa pwd -P. Često je odgovor tu.

U skriptama

Trenutni direktorijum stoji i u promenljivoj:

$ echo $PWD
/home/alen/projekat

Prethodni je u $OLDPWD, i to je ono što koristi cd -.

U skriptama se često čuva polazni direktorijum, da bi se posle vratio:

pocetni=$(pwd)
cd /tmp
# ... rad ...
cd "$pocetni"

Ali za putanju do same skripte pwd nije dobar izbor — on vraća odakle je skripta pokrenuta, ne gde se nalazi. Za to se koristi:

DIR=$(cd "$(dirname "$0")" && pwd)

Ovo je čest uzrok grešaka kod skripti koje pokreće cron — on ih startuje iz home direktorijuma, ne iz onog u kom skripta leži.

Napomena

pwd postoji i kao ugrađena komanda i kao program u /usr/bin:

$ type pwd
pwd is a shell builtin

Zato pwd --help ne radi kako očekuješ — koristi help pwd.

Vežba

  1. Pređi u nekoliko direktorijuma i posle svakog otkucaj pwd
  2. Uporedi pwd i echo $PWD
  3. Napravi simbolički link na neki direktorijum, uđi kroz njega i uporedi pwd sa pwd -P
  4. Pređi negde, pa se vrati sa cd - i pogledaj $OLDPWD

Sledeći korak → cd

Povezano: cd · ls · Direktorijumi i fajlovi Linux sistema · Linux osnove

Comments

Popular posts from this blog

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

Konverzija tipova podataka u Pythonu

groupadd