15 primjera naredbi 'pwd' (Print Working Directory) u Linuxu


Za one koji rade sa Linux komandnom linijom, naredba „pwd“ je od velike pomoći, koja govori gdje se nalazite – u kojem direktoriju, počevši od korijena (/). Posebno za Linux početnike, koji se mogu izgubiti usred direktorija u interfejsu komandne linije tokom navigacije, naredba „pwd“ dolazi u pomoć.

Šta je pwd?

'pwd' znači 'Print Working Directory'. Kao što naziv kaže, naredba 'pwd' ispisuje trenutni radni direktorij ili jednostavno korisnik direktorija je trenutno. Štampa trenutno ime direktorija sa kompletnom putanjom počevši od root (/). Ova naredba je ugrađena u shell komandu i dostupna je na većini shell – bash, Bourne shell, ksh, zsh, itd.

Osnovna sintaksa pwd:
pwd [OPTION]
Opcije koje se koriste sa pwd
 Options

 Opis

 -L (logical)

 Koristite PWD iz okruženja, čak i ako sadrži simboličke veze

 -P (physical)

 Izbjegavajte sve simboličke veze

 –help

 Prikaži ovu pomoć i izađi

 –version

 Izlaz informacije o verziji i izlaz

Ako se koriste obje opcije "-L" i "-P", opcija "L" se uzima kao prioritet. Ako nijedna opcija nije navedena u promptu, pwd će izbjeći sve simbolične veze, tj. uzeti u obzir opciju '-P'.

Izlazni status komande pwd:

0

Uspjeh

Non-zero

Neuspjeh

Ovaj članak ima za cilj pružiti vam dublji uvid u Linux naredbu „pwd“ s praktičnim primjerima.

1. Odštampajte svoj trenutni radni direktorij.

avi@tecmint:~$ /bin/pwd

/home/avi

2. Kreirajte simboličku vezu foldera (recimo /var/www/html u svoj početni direktorij kao htm). Pomaknite se u novokreirani direktorij i ispišite radni direktorij sa simboličkim vezama i bez simboličkih veza.

Kreirajte simboličku vezu foldera /var/www/html kao htm u svom početnom direktoriju i premjestite se na njega.

avi@tecmint:~$ ln -s /var/www/html/ htm
avi@tecmint:~$ cd htm

3. Ispišite radni direktorij iz okruženja čak i ako sadrži simbolične veze.

avi@tecmint:~$ /bin/pwd -L

/home/avi/htm

4. Ispišite stvarni fizički trenutni radni direktorij rješavanjem svih simboličkih veza.

avi@tecmint:~$ /bin/pwd -P

/var/www/html

5. Provjerite jesu li izlaz komande “pwd ” i “pwd -P ” isti ili ne, tj. da li nema opcija na vrijeme izvođenja „pwd ” automatski uzima u obzir opciju -P ili ne.

avi@tecmint:~$ /bin/pwd

/var/www/html

Rezultat: Jasno je iz gornjeg izlaza primjera 4 i 5 (oba rezultata su isti), dakle, kada nijedna opcija nije specificirana komandom “pwd “, automatski uzima u obzir opciju “-P”.

6. Odštampajte verziju vaše komande 'pwd'.

avi@tecmint:~$ /bin/pwd --version

pwd (GNU coreutils) 8.23
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Jim Meyering.

Napomena: Komanda 'pwd' se često koristi bez opcija i nikada se ne koristi s argumentima.

Važno: Možda ste primijetili da gornju naredbu izvršavamo kao “/bin/pwd”, a ne “pwd ”.

U čemu je razlika? Pa samo “pwd” znači pwd ugrađen u školjku. Vaša školjka može imati drugačiju verziju pwd. Molimo pogledajte priručnik. Kada koristimo /bin/pwd, pozivamo binarnu verziju te komande. I shell i binarna verzija naredbe Štampa trenutni radni direktorij, iako binarna verzija ima više opcija.

7. Odštampajte sve lokacije koje sadrže izvršnu datoteku pod nazivom pwd.

avi@tecmint:~$ type -a pwd

pwd is a shell builtin
pwd is /bin/pwd

8. Spremite vrijednost naredbe “pwd ” u varijablu (recimo a), i odštampajte njenu vrijednost iz varijable (važno za shell skriptiranje perspektiva).

avi@tecmint:~$ a=$(pwd)
avi@tecmint:~$ echo "Current working directory is : $a"

Current working directory is : /home/avi

Alternativno, možemo koristiti printf, u gornjem primjeru.

9. Promijenite trenutni radni direktorij na bilo šta (recite /home) i prikažite ga u promptu komandne linije. Izvršite naredbu (recite 'ls') da provjerite je li sve OK.

avi@tecmint:~$ cd /home
avi@tecmint:~$ PS1='$pwd> '		[Notice single quotes in the example]
> ls

10. Postavite višelinijski prompt komandne linije (recite nešto kao ispod).

/home
123#Hello#!

A zatim izvršite naredbu (recimo ls) da provjerite da li je sve OK.

avi@tecmint:~$ PS1='
> $PWD
123#Hello#!
'

/home
123#Hello#!

11. Provjerite trenutni radni direktorij i prethodni radni direktorij u jednom GO!

avi@tecmint:~$ echo “$PWD $OLDPWD”

/home /home/avi

12. Koja je apsolutna putanja (počevši od /) pwd binarne datoteke.

/bin/pwd 

13. Koja je apsolutna putanja (počevši od /) izvorne datoteke pwd.

/usr/include/pwd.h 

14. Odštampajte apsolutnu putanju (počevši od /) datoteke pwd manual pages.

/usr/share/man/man1/pwd.1.gz

15. Napišite shell skriptu koja analizira trenutni direktorij (recimo tecmint) u vašem početnom direktoriju. Ako se nalazite u direktoriju tecmint ispisuje “Pa! Nalazite se u tecmint direktoriju ” a zatim odštampajte “Zbogom ” inače kreirajte direktorij tecmint u svom početnom direktoriju i zamolite vas da cd b> na to.

Kreirajmo prvo 'tecmint' direktorij, ispod njega kreiramo sljedeću datoteku shell skripte s imenom 'pwd.sh'.

avi@tecmint:~$ mkdir tecmint
avi@tecmint:~$ cd tecmint
avi@tecmint:~$ nano pwd.sh

Zatim dodajte sljedeću skriptu u datoteku pwd.sh.

#!/bin/bash

x="$(pwd)"
if [ "$x" == "/home/$USER/tecmint" ]
then
     {
      echo "Well you are in tecmint directory"
      echo "Good Bye"
     }
else
     {
      mkdir /home/$USER/tecmint
      echo "Created Directory tecmint you may now cd to it"
     }
fi

Dajte dozvolu za izvršavanje i pokrenite ga.

avi@tecmint:~$ chmod 755 pwd.sh
avi@tecmint:~$ ./pwd.sh

Well you are in tecmint directory
Good Bye

Zaključak

pwd je jedna od najjednostavnijih, ali najpopularnijih i najčešće korištenih naredbi. Dobra komanda nad pwd je osnovna za korištenje Linux terminala. To je sve za sada. Uskoro ću biti ovdje s još jednim zanimljivim člankom, a do tada ostanite sa nama i povezani s Tecmint-om.