15 Παραδείγματα εντολών «pwd» (Εκτύπωση καταλόγου εργασίας) στο Linux


Για όσους εργάζονται με τη γραμμή εντολών Linux, η εντολή «pwd» είναι πολύ χρήσιμη, η οποία δείχνει πού βρίσκεστε – σε ποιον κατάλογο, ξεκινώντας από τη ρίζα (/). Ειδικά για αρχάριους Linux, οι οποίοι μπορεί να χαθούν ανάμεσα σε καταλόγους στη διεπαφή γραμμής εντολών κατά την πλοήγηση, η εντολή «pwd» έρχεται να σώσει.

Τι είναι το pwd;

Το "pwd" σημαίνει "Εκτύπωση καταλόγου εργασίας". Όπως δηλώνει το όνομα, η εντολή «pwd» εκτυπώνει τον τρέχοντα κατάλογο εργασίας ή απλώς ο χρήστης του καταλόγου είναι αυτή τη στιγμή. Εκτυπώνει το όνομα του τρέχοντος καταλόγου με την πλήρη διαδρομή που ξεκινά από τη ρίζα (/). Αυτή η εντολή είναι ενσωματωμένη σε εντολή φλοιού και είναι διαθέσιμη στο μεγαλύτερο μέρος του κελύφους – bash, κέλυφος Bourne, ksh, zsh, κ.λπ.

Βασική σύνταξη του pwd:
pwd [OPTION]
Επιλογές που χρησιμοποιούνται με pwd
 Options

 Περιγραφή

 -L (logical)

 Χρησιμοποιήστε PWD από περιβάλλον, ακόμα κι αν περιέχει συμβολικούς συνδέσμους

 -P (physical)

 Αποφύγετε όλους τους συμβολικούς συνδέσμους

 –help

 Εμφάνιση αυτής της βοήθειας και έξοδος

 –version

 Πληροφορίες έκδοσης εξόδου και έξοδος

Εάν χρησιμοποιούνται και οι δύο επιλογές "-L" και "-P", λαμβάνεται προτεραιότητα η επιλογή "L". Εάν δεν οριστεί καμία επιλογή στη γραμμή εντολών, το pwd θα αποφύγει όλους τους συμβολικούς συνδέσμους, δηλαδή θα λάβει υπόψη την επιλογή «-P».

Κατάσταση εξόδου της εντολής pwd:

0

Επιτυχία

Non-zero

Αποτυχία

Αυτό το άρθρο στοχεύει να σας παρέχει μια βαθιά εικόνα της εντολής Linux "pwd" με πρακτικά παραδείγματα.

1. Εκτυπώστε τον τρέχοντα κατάλογο εργασίας σας.

avi@tecmint:~$ /bin/pwd

/home/avi

2. Δημιουργήστε έναν συμβολικό σύνδεσμο ενός φακέλου (πείτε /var/www/html στον αρχικό σας κατάλογο ως htm). Μεταβείτε στον νέο κατάλογο και εκτυπώστε τον κατάλογο εργασίας με συμβολικούς συνδέσμους και χωρίς συμβολικούς συνδέσμους.

Δημιουργήστε έναν συμβολικό σύνδεσμο του φακέλου /var/www/html ως htm στον αρχικό σας κατάλογο και μετακινηθείτε σε αυτόν.

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

3. Εκτυπώστε τον κατάλογο εργασίας από περιβάλλον ακόμα κι αν περιέχει συμβολικούς συνδέσμους.

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

/home/avi/htm

4. Εκτυπώστε τον πραγματικό φυσικό τρέχοντα κατάλογο εργασίας επιλύοντας όλους τους συμβολικούς συνδέσμους.

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

/var/www/html

5. Ελέγξτε εάν η έξοδος της εντολής "pwd " και "pwd -P " είναι ίδια ή όχι, δηλ. εάν δεν δίνονται επιλογές στο Ο χρόνος εκτέλεσης λαμβάνει υπόψη το "pwd " την επιλογή -P ή όχι, αυτόματα.

avi@tecmint:~$ /bin/pwd

/var/www/html

Αποτέλεσμα: Είναι σαφές από την παραπάνω έξοδο του παραδείγματος 4 και 5 (και τα δύο αποτελέσματα είναι ίδια) επομένως, όταν δεν καθορίζονται επιλογές με την εντολή "pwd », λαμβάνει αυτόματα υπόψη την επιλογή «-P».

6. Εκτυπώστε την έκδοση της εντολής σας "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.

Σημείωση: Μια εντολή "pwd" χρησιμοποιείται συχνά χωρίς επιλογές και δεν χρησιμοποιείται ποτέ με ορίσματα.

Σημαντικό: Ίσως έχετε παρατηρήσει ότι εκτελούμε την παραπάνω εντολή ως "/bin/pwd " και όχι ως "pwd ».

Ποια είναι λοιπόν η διαφορά; Λοιπόν, το "pwd " από μόνο του σημαίνει ενσωματωμένο κέλυφος pwd. Το κέλυφός σας μπορεί να έχει διαφορετική έκδοση του pwd. Ανατρέξτε στο εγχειρίδιο. Όταν χρησιμοποιούμε /bin/pwd, καλούμε τη δυαδική έκδοση αυτής της εντολής. Τόσο το κέλυφος όσο και η δυαδική έκδοση της εντολής Εκτυπώνει τον τρέχοντα κατάλογο εργασίας, αν και η δυαδική έκδοση έχει περισσότερες επιλογές.

7. Εκτυπώστε όλες τις τοποθεσίες που περιέχουν εκτελέσιμο αρχείο με όνομα pwd.

avi@tecmint:~$ type -a pwd

pwd is a shell builtin
pwd is /bin/pwd

8. Αποθηκεύστε την τιμή της εντολής "pwd " στη μεταβλητή (ας πούμε a) και εκτυπώστε την τιμή της από τη μεταβλητή (σημαντική για δέσμες ενεργειών φλοιού προοπτική).

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

Current working directory is : /home/avi

Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε το printf, στο παραπάνω παράδειγμα.

9. Αλλάξτε τον τρέχοντα κατάλογο εργασίας σε οτιδήποτε (π.χ. /home) και εμφανίστε τον στη γραμμή εντολών. Εκτελέστε μια εντολή (πείτε "ls") για να επαληθεύσετε ότι όλα είναι ΟΚ.

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

10. Ορίστε τη γραμμή εντολών πολλών γραμμών (πείτε κάτι όπως παρακάτω).

/home
123#Hello#!

Στη συνέχεια, εκτελέστε μια εντολή (πείτε ls) για να ελέγξετε ότι όλα είναι OK.

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

/home
123#Hello#!

11. Ελέγξτε τον τρέχοντα κατάλογο εργασίας και τον προηγούμενο κατάλογο εργασίας με μία κίνηση!

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

/home /home/avi

12. Ποια είναι η απόλυτη διαδρομή (ξεκινώντας από /) του δυαδικού αρχείου pwd.

/bin/pwd 

13. Ποια είναι η απόλυτη διαδρομή (ξεκινώντας από /) του αρχείου πηγής pwd.

/usr/include/pwd.h 

14. Εκτυπώστε την απόλυτη διαδρομή (ξεκινώντας από /) του αρχείου pwd manual pages.

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

15. Γράψτε ένα σενάριο φλοιού που αναλύει τον τρέχοντα κατάλογο (π.χ. tecmint) στον αρχικό σας κατάλογο. Εάν βρίσκεστε στον κατάλογο tecmint βγάζει "Λοιπόν! Βρίσκεστε στον κατάλογο tecmint ” και μετά εκτυπώστε το “Good Bye” αλλιώς δημιουργήστε έναν κατάλογο tecmint κάτω από τον αρχικό σας κατάλογο και σας ζητήστε να cd β> σε αυτό.

Ας δημιουργήσουμε πρώτα έναν κατάλογο «tecmint», κάτω από αυτόν δημιουργήσουμε ένα ακόλουθο αρχείο σεναρίου φλοιού με όνομα «pwd.sh».

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

Στη συνέχεια, προσθέστε το ακόλουθο σενάριο στο αρχείο 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

Δώστε άδεια εκτέλεσης και εκτελέστε το.

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

Well you are in tecmint directory
Good Bye

συμπέρασμα

Η pwd είναι μία από τις απλούστερες αλλά και πιο δημοφιλείς και πιο ευρέως χρησιμοποιούμενες εντολές. Μια καλή εντολή πάνω από το pwd είναι βασική για τη χρήση τερματικού Linux. Αυτα για τωρα. Θα είμαι ξανά εδώ με ένα άλλο ενδιαφέρον άρθρο σύντομα, μέχρι τότε μείνετε συντονισμένοι και συνδεδεμένοι με την Tecmint.