15 Primjeri naredbi 'pwd' (Ispis radnog imenika) u Linuxu


Za one koji rade s Linux naredbenim retkom, naredba 'pwd' je od velike pomoći, koja govori gdje se nalazite - u kojem direktoriju, počevši od korijena (/). Posebno za početnike u Linuxu, koji se mogu izgubiti usred direktorija u sučelju naredbenog retka tijekom navigacije, naredba 'pwd' dolazi u pomoć.

Što je pwd?

pwd’ je kratica za ‘Ispis radnog imenika’. Kao što naziv kaže, naredba ‘pwd’ ispisuje trenutni radni direktorij ili jednostavno direktorij koji je trenutno korisnik. Ispisuje naziv trenutnog direktorija s potpunom putanjom počevši od korijena (/). Ova naredba ugrađena je u naredbu ljuske i dostupna je na većini ljuske – bash, Bourne ljuska, ksh, zsh itd.

Osnovna sintaksa pwd-a:
pwd [OPTION]
Opcije korištene s 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 informacija o verziji i izlaz

Ako se koriste obje opcije ‘-L’ i ‘-P’, opcija ‘L’ ima prioritet. Ako u odzivniku nije navedena opcija, pwd će izbjeći sve simboličke veze, tj. uzeti u obzir opciju '-P'.

Izlazni status naredbe pwd:

0

Uspjeh

Non-zero

Neuspjeh

Cilj ovog članka je pružiti vam duboki uvid u Linux naredbu 'pwd' s praktičnim primjerima.

1. Ispišite svoj trenutni radni imenik.

avi@tecmint:~$ /bin/pwd

/home/avi

2. Napravite simboličku vezu mape (recite /var/www/html u svoj matični direktorij kao htm). Prijeđite u novostvoreni imenik i ispišite radni imenik sa simboličkim vezama i bez simboličkih veza.

Napravite simboličku vezu mape /var/www/html kao htm u svom početnom direktoriju i prijeđite na nju.

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

3. Ispis radnog imenika iz okruženja čak i ako sadrži simboličke veze.

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

/home/avi/htm

4. Ispis stvarnog fizičkog trenutnog radnog direktorija rješavanjem svih simboličkih veza.

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

/var/www/html

5. Provjerite je li izlaz naredbe “pwd ” i “pwd -P ” isti ili ne, tj. nisu li dane opcije vrijeme izvođenja “pwd ” uzima opciju -P u obzir ili ne, automatski.

avi@tecmint:~$ /bin/pwd

/var/www/html

Rezultat: Jasno je iz gornjeg izlaza primjera 4 i 5 (oba rezultata su ista) prema tome, kada nijedna opcija nije navedena s naredbom “pwd ”, automatski uzima u obzir opciju “-P ”.

6. Ispis vaše naredbe '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: Naredba 'pwd' često se koristi bez opcija i nikada s argumentima.

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

Dakle, u čemu je razlika? Pa samo “pwd ” znači ugrađeni pwd u ljusku. Vaša ljuska može imati drugu verziju pwd-a. Pogledajte priručnik. Kada koristimo /bin/pwd, pozivamo binarnu verziju te naredbe. I ljuska i binarna verzija naredbe ispisuje trenutni radni direktorij, iako binarna verzija ima više opcija.

7. Ispišite 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. Pohranite vrijednost naredbe “pwd ” u varijablu (recimo a) i ispišite njezinu vrijednost iz varijable (važno za skriptiranje ljuske 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 u bilo što (recimo /home) i prikažite ga u odzivniku naredbenog retka. 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šeredni redak naredbenog retka (recite nešto poput dolje).

/home
123#Hello#!

Zatim izvršite naredbu (recimo ls) da provjerite je li 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. Koji je apsolutni put (počevši od /) binarne datoteke pwd.

/bin/pwd 

13. Koji je apsolutni put (počevši od /) izvorne datoteke pwd.

/usr/include/pwd.h 

14. Ispišite apsolutni put (počevši od /) datoteke pwd priručnika.

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

15. Napišite skriptu ljuske koja analizira trenutni direktorij (recimo tecmint) u vašem početnom direktoriju. Ako ste u direktoriju tecmint ispisuje se “Pa! Nalazite se u direktoriju tecmint ” i zatim ispišite “Zbogom ” inače stvorite imenik tecmint ispod svog matičnog direktorija i zatražite da cd tome.

Kreirajmo prvo direktorij 'tecmint', ispod njega stvorimo sljedeću datoteku skripte ljuske 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 dopuštenje za izvršenje i pokrenite ga.

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

Well you are in tecmint directory
Good Bye

Zaključak

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