🐹 CentOS 7: Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° pwd.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

1. ОписаниС.
2. Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ.
3. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Ρ‹ источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.


1. ОписаниС.

Команда pwd — это ΠΎΡ‡Π΅Π½ΡŒ простая ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, которая позволяСт вывСсти Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅. КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΈ запускС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ выполнятся всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Π΅Ρ‘ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Ссли для Π½ΠΈΡ… Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ. ВсС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ этой ΠΏΠ°ΠΏΠΊΠΈ.

ΠŸΡ€ΠΈ запускС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΎΠΉ считаСтся домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ, Ρ‚ΠΎ Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π° ΠΏΠ°ΠΏΠΊΠ°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅Π΅ запустили.

ВстроСнная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ — pwd (Π°Π½Π³Π». Print Work DirectoryΒ«ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Β»), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² GNU/Linux для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, начиная с ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ базовая ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ Π² GNU/Linux. Команда pwd ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ ΠΎΡ‚ корня. Она просто ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния $PWD.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ pwd Π² /bin/pwd ΠΈ /usr/bin/pwd, нСбольшой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ встроСнной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ вывСсти список всСх мСст, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… исполняСмоС имя pwd:

# type -a pwd

ΠžΡ‚Π²Π΅Ρ‚:

Команда pwd ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΎΠΏΡ†ΠΈΠΈ:

  • -L, --logical (логичСская) — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pwd ΠΈΠ· окруТСния, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΎ содСрТит симлинки;
  • -P (физичСская) — ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС симлинки ΠΈ вывСсти фактичСский ΠΏΡƒΡ‚ΡŒ;
  • --help — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ справку ΠΏΠΎ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅;
  • --version — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹.

2. Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ pwd, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³:

# pwd

ΠžΡ‚Π²Π΅Ρ‚:

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ вывСсти содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния $PWD:

# $PWD

ΠžΡ‚Π²Π΅Ρ‚:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π² скриптС Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

Достаточно обратится ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния PWD:

# echo $PWD

ΠžΡ‚Π²Π΅Ρ‚:

Но Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pwd GNU/Linux Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

# CWD=$(pwd)

# echo $CWD

ΠžΡ‚Π²Π΅Ρ‚:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ pwd с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ -L ΠΈ -P, создадим симлинк, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³:

# mkdir -p /home/barsik/cats_folder

# mkdir -p /home/myrzik/wiskas_folder

# ln -s /home/barsik/cats_folder /home/myrzik/wiskas_folder

ΠžΡ‚Π²Π΅Ρ‚:

Π’Ρ‹Π²ΠΎΠ΄ pwd ΠΈ pwd -L ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ² ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ симлинку, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ pwd -P Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ фактичСскоС физичСскоС мСстополоТСниС. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ окруТСния $PWD такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ pwd -L.

# cd /home/myrzik/wiskas_folder/cats_folder

# pwd

# pwd -L

# pwd -P

ΠžΡ‚Π²Π΅Ρ‚:

3. ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»Ρ‹ источников ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

  1. bookflow.ru «Команда pwd Π² Linux с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ.Β»
  2. losst.ru «Команда pwd Linux.»

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅: