Weboldal keresés

15 'pwd' (Print Working Directory) parancspélda Linuxban


A Linux parancssorral dolgozók számára nagyon hasznos a „pwd” parancs, amely megmondja, hol van – melyik könyvtárban, a gyökértől kezdve (/). Kifejezetten a Linux újoncainak, akik eltévedhetnek a parancssori felület könyvtáraiban navigáció közben, a „pwd” parancs segít.

Mi az a pwd?

A „pwd” a „Print Working Directory” rövidítése. Ahogy a név is mutatja, a „pwd” parancs kiírja az aktuális munkakönyvtárat, vagy egyszerűen a címtár felhasználóját. Kiírja az aktuális könyvtárnevet a teljes elérési úttal a gyökértől kezdve (/). Ez a parancs a shell parancsba épül, és a legtöbb shell-en elérhető – bash, Bourne shell, ksh, zsh stb.

A pwd alapvető szintaxisa:
pwd [OPTION]
A pwd-vel használt opciók
 Options

 Leírás

 -L (logical)

 Használjon PWD-t a környezetből, még akkor is, ha szimbolikus linkeket tartalmaz

 -P (physical)

 Kerüljön minden szimbolikus linket

 –help

 A súgó megjelenítése és kilépés

 –version

 Verzióinformációk kiadása és kilépés

Ha a „-L” és a „-P” opciókat is használja, az „L” opció prioritást élvez. Ha a promptban nincs megadva opció, a pwd minden szimbolikus hivatkozást elkerül, azaz figyelembe veszi a „-P” opciót.

A pwd parancs kilépési állapota:

0

Siker

Non-zero

Hiba

Ennek a cikknek a célja, hogy gyakorlati példákkal mély betekintést nyújtson a Linux „pwd” parancsába.

1. Nyomtassa ki jelenlegi munkakönyvtárát.

avi@tecmint:~$ /bin/pwd

/home/avi

2. Hozzon létre egy szimbolikus linket egy mappához (mondjuk /var/www/html a kezdőkönyvtárba htm néven). Lépjen az újonnan létrehozott könyvtárba, és nyomtassa ki a munkakönyvtárat szimbolikus hivatkozásokkal és szimbolikus hivatkozások nélkül.

Hozzon létre egy szimbolikus hivatkozást a /var/www/html mappához htm néven a saját könyvtárában, és lépjen oda.

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

3. Nyomtasson ki munkakönyvtárat a környezetből, még akkor is, ha szimbolikus hivatkozásokat tartalmaz.

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

/home/avi/htm

4. Nyomtassa ki a tényleges fizikai aktuális munkakönyvtárat az összes szimbolikus hivatkozás feloldásával.

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

/var/www/html

5. Ellenőrizze, hogy a „pwd ” és a „pwd -P ” parancs kimenete megegyezik-e vagy sem, azaz nincs-e megadva opció a futási idő a „pwd ” automatikusan figyelembe veszi a -P opciót, vagy sem.

avi@tecmint:~$ /bin/pwd

/var/www/html

Eredmény: A 4. és 5. példa fenti kimenetéből egyértelműen kiderül (mindkét eredmény ugyanaz), tehát ha nincs megadva opció a "pwd ”, automatikusan figyelembe veszi a „-P ” opciót.

6. Nyomtassa ki a „pwd” parancs verzióját.

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.

Megjegyzés: A „pwd” parancsot gyakran opciók nélkül használják, és soha nem használják argumentumokkal.

Fontos: Lehet, hogy észrevette, hogy a fenti parancsot „/bin/pwd” és nem „pwd<” néven hajtjuk végre. ”.

Tehát mi a különbség? Nos, a „pwd” önmagában azt jelenti, hogy shell beépített pwd. Előfordulhat, hogy a shell eltérő verziójú pwd-vel rendelkezik. Kérjük, olvassa el a kézikönyvet. Amikor a /bin/pwd parancsot használjuk, akkor a parancs bináris verzióját hívjuk meg. A parancshéj és a parancs bináris verziója is kinyomtatja az aktuális munkakönyvtárat, bár a bináris verzió több lehetőséget kínál.

7. Nyomtassa ki a pwd nevű végrehajtható fájlt tartalmazó összes helyet.

avi@tecmint:~$ type -a pwd

pwd is a shell builtin
pwd is /bin/pwd

8. Tárolja a „pwd” parancs értékét a változóban (mondjuk az a), és nyomtassa ki az értékét a változóból (fontos a shell-szkriptekhez perspektíva).

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

Current working directory is : /home/avi

Alternatív megoldásként használhatjuk a printf parancsot a fenti példában.

9. Módosítsa az aktuális munkakönyvtárat bármire (mondjuk: /home), és jelenítse meg a parancssori promptban. Futtasson egy parancsot (mondja: „ls”), hogy ellenőrizze, minden OK-e.

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

10. Állítsa be a többsoros parancssori promptot (mondja az alábbiakhoz hasonlót).

/home
123#Hello#!

Ezután hajtson végre egy parancsot (mondjuk: ls), hogy ellenőrizze, minden OK-e.

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

/home
123#Hello#!

11. Ellenőrizze az aktuális munkakönyvtárat és az előző munkakönyvtárat egy GO-ban!

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

/home /home/avi

12. Mi a pwd bináris fájl abszolút elérési útja (/-től kezdve).

/bin/pwd 

13. Mi a pwd forrásfájl abszolút elérési útja (/-től kezdve).

/usr/include/pwd.h 

14. Nyomtassa ki a pwd manual pages fájl abszolút elérési útját (/-től kezdve).

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

15. Írjon egy shell-szkriptet, amely elemzi az aktuális könyvtárat (mondjuk a tecmint) a saját könyvtárában. Ha a tecmint könyvtárban van, akkor a következőt írja ki: „Nos! Ön a tecmint könyvtárban ” van, majd kinyomtatja a „Viszlát ” szöveget, különben hozzon létre egy tecmint könyvtárat a saját könyvtára alatt, és kérje meg, hogy cd b> hozzá.

Először hozzunk létre egy „tecmint” könyvtárat, alatta hozzunk létre egy következő shell script fájlt „pwd.sh” néven.

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

Ezután adja hozzá a következő szkriptet a pwd.sh fájlhoz.

#!/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

Adjon végrehajtási engedélyt, és futtassa.

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

Well you are in tecmint directory
Good Bye

Következtetés

A pwd az egyik legegyszerűbb, mégis legnépszerűbb és legszélesebb körben használt parancs. Egy jó pwd parancs alapvető a Linux terminál használatához. Ez minden most. Hamarosan ismét itt leszek egy újabb érdekes cikkel, addig is maradjatok velünk és kapcsolódjatok a Tecminthoz.