Inleiding tot pwd-opdracht
PWD staat voor Print Working Directory. Het schrijft de volledige padnaam van de werkmap naar standaarduitvoer in UNIX-achtige en andere besturingssystemen.
Implementaties van pwd Command
Multics hadden een bevel, dat wil zeggen: pwd (wat een verkorte naam van het commando was, d.w.z. print_wdir ), waaruit het Unix pwd-commando is geproduceerd. Het PWD-commando is een shell die in bijna elke Unix-shell is ingebouwd, zoals de zsh-, ksh-, bash-, ash- en Bourne-shell. Het kan eenvoudig worden geïmplementeerd met de POSIX C-functies getwd() of getcwd(). Het is ook beschikbaar in veel besturingssystemen, waaronder KolibriOS, PANOS en SpartaDOS X. Het cd-commando is, zonder argumenten, gelijkwaardig op Microsoft Windows (cmd.exe) en DOS Windows (COMMAND.com). Windows PowerShell biedt dezelfde GET-LOCATION-cmdlet met de standaardaliassen pwd en gl. In versie 5.0 van Windows CE heeft de opdrachtprocessorshell cmd.exe de opdracht pwd.
Sinds uitgave 2 van 1987 is pwd een onderdeel van de X/Open Portability Guide zoals gedetecteerd op Unix-systemen. Het werd overgenomen in de eerste versie van de Single Unix Specification en POSIX.1. Het gebeurde in versie 5 Unix. De pwd-versie is gespecificeerd door Jim Meyering en geladen met GNU coreutils.
De numerieke computeromgevingen GNU Octave en MATLAB bevatten een pwd-functie met dezelfde functionaliteit. De OpenVMS is hetzelfde als de standaardshow.
karakter.vergelijk Java
Inleiding tot de Woking Directory (huidig)
De huidige werkmap is de map waarin de gebruiker momenteel werkt. Elke keer dat we met onze opdrachtprompt communiceren, werken we in een map. Wanneer we inloggen op ons Linux-systeem, is onze huidige werkmap standaard onze thuismap. We kunnen het cd-commando gebruiken om onze werkmap te wijzigen.
We moeten bijvoorbeeld de onderstaande opdracht in het terminalvenster invoeren om de werkmap te wijzigen in /tmp:
$ cd /tmp
Als u een aangepaste zsh- of bash-prompt heeft, kan het huidige directe werkpad worden weergegeven in de shell-prompt.
PWD-syntaxis
pwd heeft de onderstaande syntaxis:
geen ingangssignaal
pwd [-options]
De opties worden in het onderstaande gedeelte uitgelegd.
Status afsluiten
Hoe te converteren van string naar int
pwd bevat de volgende afsluitstatussen:
PWD-opties en hun uitleg
Opties | Uitleg |
---|---|
pwd | Deze opdracht wordt gebruikt om de huidige werkmap weer te geven. Bijvoorbeeld, /home/foobar |
pwd-L | Deze opdracht wordt gebruikt om het logische pad van de huidige werkmap weer te geven, met de naam van de eventuele symbolische link. Bijvoorbeeld, indien aanwezig in een map /home/symlinked, is het een symbolische link naar /home/realdir; het zou /home/symlinked weergeven. |
pwd-R | Deze opdracht wordt gebruikt om het fysieke pad van de huidige werkmap weer te geven, zonder de naam van de eventuele symbolische link. Bijvoorbeeld, indien aanwezig in een map /home/symlinked, is het een symbolische link naar /home/realdir; het zou /home/realdir weergeven. |
--hulp | Het toont het helpbericht. |
--versie | Het biedt de programmaversie. |
Opmerking: POSIX-behoeften die standaard van aard zijn, moeten zijn alsof de optie -L is opgegeven.
Voorbeelden van PWD-commando
- We kunnen de onderstaande opdracht in het terminalvenster gebruiken om onze huidige werkmap af te drukken:
$ /bin/pwd
- Om de symbolische link van een map te maken, gaat u naar de gemaakte map en drukt u de huidige werkmap af zonder symbolische links en met symbolische links.
- Druk de huidige werkmap af via de omgeving, zelfs als deze symbolische links bevat:
$ /bin/pwd -L
- Druk de originele fysieke werkmap af door alle symbolische links af te dwingen:
$ /bin/pwd -P
- Controleer of het resultaat van opdrachten is 'pwd-P' En 'pwd' zijn gelijkwaardig of niet, d.w.z. als er tijdens de runtime geen opties worden aangeboden, houdt pwd dan automatisch rekening met de optie -P of niet?
- We kunnen de onderstaande opdracht gebruiken om de versie van onze pwd-opdracht af te drukken:
$ /bin/pwd -version
Opmerking: de opdracht pwd wordt nooit met argumenten toegepast en wordt vaak zonder opties gebruikt.
Belangrijk: We hebben misschien gezien dat we de opdracht uitvoeren als /bin/pwd, en niet als pwd, zoals hierboven vermeld.
Wat is het verschil?
pwd alleen beschrijft de in de shell ingebouwde pwd. Onze shell kan verschillende PWD-versies bevatten. Wij raden u aan de handleiding te raadplegen. We roepen een binaire versie van de opdracht aan als we /bin/pwd gebruiken. Zowel de binaire versie als de shell-versie van de opdracht zullen de huidige werkmap afdrukken, dus de binaire versie bevat meer opties.
- We kunnen de volgende opdracht gebruiken om elke locatie af te drukken met een uitvoerbaar pwd-bestand:
$ type -a pwd
- Sla de waarde van het pwd-commando op in een willekeurige variabele en druk de waarde van deze variabele af (essentieel vanuit het perspectief van shell-scripting).
In het bovenstaande voorbeeld kunnen we als alternatief printf gebruiken.
- Wijzig de werkmap naar een andere map en toon deze in het terminalvenster. We kunnen ook de opdracht ls uitvoeren om te verifiëren dat alles in orde is.
- Meerregelig terminalvenster instellen:
En voer vervolgens de opdracht ls uit om te zien of alles in orde is.