15 „pwd“ (spausdinimo darbo katalogo) komandų pavyzdžių sistemoje „Linux“.


Tiems, kurie dirba su Linux komandų eilute, labai naudinga komanda „pwd“, kuri nurodo, kur esate – kuriame kataloge, pradedant nuo šaknies (/). Specialiai Linux naujokams, kurie naršydami gali pasiklysti tarp katalogų komandų eilutės sąsajoje, komanda „pwd“ ateina į pagalbą.

Kas yra pwd?

pwd“ reiškia „Print Working Directory“. Kaip nurodo pavadinimas, komanda „pwd“ išspausdina esamą darbo katalogą arba tiesiog šiuo metu yra katalogo vartotojas. Jis išspausdina dabartinio katalogo pavadinimą su visu keliu, pradedant nuo šaknies (/). Ši komanda yra integruota į apvalkalo komandą ir yra prieinama daugumoje apvalkalo – bash, Bourne shell, ksh, zsh ir kt.

Pagrindinė pwd sintaksė:
pwd [OPTION]
Su pwd naudojamos parinktys
 Options

 Aprašas

 -L (logical)

 Naudokite PWD iš aplinkos, net jei joje yra simbolinių nuorodų

 -P (physical)

 Venkite visų simbolinių nuorodų

 –help

 Parodykite šią žinyną ir išeikite

 –version

 Išvesti versijos informaciją ir išeiti

Jei naudojamos ir „-L“, ir „-P“ parinktys, parinktis „L“ yra prioritetinė. Jei raginime nenurodyta jokia parinktis, pwd vengs visų simbolių nuorodų, t. y. atsižvelgs į parinktį -P.

Išėjimo iš komandos pwd būsena:

0

Sėkmės

Non-zero

Gedimas

Šio straipsnio tikslas – suteikti jums gilios įžvalgos apie Linux komandą „pwd“ su praktiniais pavyzdžiais.

1. Išspausdinkite dabartinį darbo katalogą.

avi@tecmint:~$ /bin/pwd

/home/avi

2. Sukurkite simbolinę aplanko nuorodą (tarkite /var/www/html į savo namų katalogą kaip htm). Pereikite į naujai sukurtą katalogą ir atsispausdinkite darbo katalogą su simbolinėmis nuorodomis ir be simbolinių nuorodų.

Sukurkite simbolinę aplanko /var/www/html nuorodą kaip htm savo namų kataloge ir perkelkite į jį.

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

3. Spausdinkite darbo katalogą iš aplinkos, net jei jame yra simbolių nuorodų.

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

/home/avi/htm

4. Išspausdinkite faktinį fizinį dabartinį darbo katalogą, pašalindami visas simbolines nuorodas.

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

/var/www/html

5. Patikrinkite, ar komandų „pwd“ ir „pwd -P“ išvestis yra tokia pati, ar ne, t. y. ar nėra parinkčių vykdymo laikas „pwd“ atsižvelgia į parinktį -P arba ne, automatiškai.

avi@tecmint:~$ /bin/pwd

/var/www/html

Rezultatas: tai aišku iš anksčiau pateiktos 4 ir 5 pavyzdžių išvesties (abu rezultatai yra vienodi), taigi, kai nenurodyta jokių parinkčių su komanda „pwd “, automatiškai atsižvelgiama į parinktį „-P“.

6. Spausdinkite komandos „pwd“ versiją.

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.

Pastaba: komanda „pwd“ dažnai naudojama be parinkčių ir niekada nenaudojama su argumentais.

Svarbu: galbūt pastebėjote, kad aukščiau pateiktą komandą vykdome kaip „/bin/pwd“, o ne „pwd “.

Taigi koks skirtumas? Na, vien „pwd“ reiškia apvalkalą, įmontuotą pwd. Jūsų apvalkalas gali turėti skirtingą pwd versiją. Žr. vadovą. Kai naudojame /bin/pwd, iškviečiame dvejetainę šios komandos versiją. Tiek apvalkalas, tiek dvejetainė komandos versija spausdina dabartinį darbo katalogą, nors dvejetainėje versijoje yra daugiau parinkčių.

7. Išspausdinkite visas vietas, kuriose yra vykdomasis failas pavadinimu pwd.

avi@tecmint:~$ type -a pwd

pwd is a shell builtin
pwd is /bin/pwd

8. Išsaugokite komandos „pwd“ reikšmę kintamajame (tarkime, a) ir išspausdinkite jos reikšmę iš kintamojo (svarbu apvalkalo scenarijui perspektyva).

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

Current working directory is : /home/avi

Arba aukščiau pateiktame pavyzdyje galime naudoti printf.

9. Pakeiskite dabartinį darbo katalogą į bet ką (tarkim /home) ir parodykite jį komandinės eilutės eilutėje. Vykdykite komandą (pasakykite „ls“), kad patikrintumėte, ar viskas OK.

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

10. Nustatykite kelių eilučių komandų eilutės eilutę (pasakykite kažką panašaus į toliau).

/home
123#Hello#!

Tada vykdykite komandą (tarkim ls), kad patikrintumėte, ar viskas Gerai.

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

/home
123#Hello#!

11. Patikrinkite dabartinį darbo katalogą ir ankstesnį darbo katalogą vienu GO!

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

/home /home/avi

12. Koks yra absoliutus pwd dvejetainio failo kelias (pradedant nuo /).

/bin/pwd 

13. Koks yra absoliutus pwd šaltinio failo kelias (pradedant nuo /).

/usr/include/pwd.h 

14. Išspausdinkite pwd rankinio puslapių failo absoliutų kelią (pradedant nuo /).

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

15. Parašykite apvalkalo scenarijų, kuris analizuoja dabartinį katalogą (tarkime, tecmint) jūsų namų kataloge. Jei esate kataloge tecmint, jis išveda „Na! Esate tecmint kataloge “, tada išspausdinkite „Sudie“, kitaip sukurkite katalogą tecmint savo namų kataloge ir paprašykite cd b> prie jo.

Pirmiausia sukurkime „tecmint“ katalogą, po juo sukurkime sekantį apvalkalo scenarijaus failą pavadinimu „pwd.sh“.

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

Tada pridėkite šį scenarijų prie pwd.sh failo.

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

Suteikite leidimą vykdyti ir paleiskite.

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

Well you are in tecmint directory
Good Bye

Išvada

pwd yra viena iš paprasčiausių, tačiau populiariausių ir plačiausiai naudojamų komandų. Norint naudoti „Linux“ terminalą, būtina gerai valdyti pwd. Tai kol kas viskas. Netrukus vėl būsiu čia su kitu įdomiu straipsniu, iki tol sekite naujienas ir prisijunkite prie Tecmint.