๊ฐœ๋ฐœ๋…ธํŠธ/Linux

[Linux] Linux pwd ๋ช…๋ น์–ด ์™„์ „ ์ •๋ณต: ์ ˆ๋Œ€๊ฒฝ๋กœ์˜ ๋ชจ๋“  ๊ฒƒ ๐Ÿ”

๋กœ๋กœ๋ฝœ 2025. 11. 29. 07:35

Linux pwd ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์ ˆ๋Œ€๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ธฐ๋ณธ ๋„๊ตฌ๋‹ค. OpenWrt·์„œ๋ฒ„·์ž„๋ฒ ๋””๋“œ ํ™˜๊ฒฝ์—์„œ๋„ ํ•„์ˆ˜๋กœ ์‚ฌ์šฉ๋˜๋Š” pwd ํ™œ์šฉ๋ฒ•์„ ์ •๋ฆฌํ–ˆ๋‹ค.

1. ์™œ Linux pwd ๋ช…๋ น์–ด๊ฐ€ ์ค‘์š”ํ•œ๊ฐ€?

Linux ์‰˜์„ ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ์‚ฌ๋žŒ๋„, ๋Œ€๊ทœ๋ชจ OpenWrt ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋„, ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋Š” ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๋„ ๊ณตํ†ต์œผ๋กœ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ํ•˜๋‚˜ ์žˆ๋‹ค. ๋ฐ”๋กœ pwd(print working directory)์ด๋‹ค.

pwd๋Š” “์ง€๊ธˆ ๋‚ด๊ฐ€ ์ •ํ™•ํžˆ ์–ด๋””์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š”์ง€” ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋ณธ ๋ช…๋ น์–ด์ง€๋งŒ, ์‹ค๋ฌด์—์„œ๋Š” ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ฒฝ๋กœ ๋ฌธ์ œ, ์Šคํฌ๋ฆฝํŠธ ์˜ค๋ฅ˜, ํŒŒ์ผ ์ ‘๊ทผ ์‹คํŒจ ๋“ฑ์ด ํ•˜๋ฃจ์—๋„ ์ˆ˜์‹ญ ๋ฒˆ ๋ฐœ์ƒํ•œ๋‹ค.

ํŠนํžˆ ๋‹ค์Œ ํ™˜๊ฒฝ์—์„œ๋Š” pwd ์ดํ•ด๋„๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

  • OpenWrt ๋นŒ๋“œ ์‹œ์Šคํ…œ์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณ€๊ฒฝ๋  ๋•Œ
  • CMake·Makefile์—์„œ ์ƒ๋Œ€๊ฒฝ๋กœ/์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ํ—ค๋”๋ฅผ includeํ•  ๋•Œ
  • CI/CD ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅธ ๊ฒฝ๋กœ์—์„œ ์‹ค์ˆ˜๋กœ ์‹คํ–‰๋  ๋•Œ
  • rm -rf ๊ฐ™์€ ์œ„ํ—˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์œ„์น˜ ํ™•์ธ์ด ํ•„์š”ํ•  ๋•Œ
  • ์ž„๋ฒ ๋””๋“œ Linux ์žฅ๋น„์—์„œ ์ตœ์†Œํ•œ์˜ ๋„๊ตฌ๋กœ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•ด์•ผ ํ•  ๋•Œ

์ด์ฒ˜๋Ÿผ pwd๋Š” ๋‹จ์ˆœ ๋ช…๋ น์–ด ๊ฐ™์•„๋„ ๋ฌธ์ œ ์˜ˆ๋ฐฉ·๋””๋ฒ„๊น…·์ž๋™ํ™”·๋ณด์•ˆ์˜ ํ•ต์‹ฌ ์š”์†Œ๋‹ค.


2. pwd ๋ช…๋ น์–ด ๊ธฐ๋ณธ ๊ฐœ๋…

pwd ๋ช…๋ น์–ด ๊ธฐ๋ณธ ๊ฐœ๋… , ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๊ตฌ์กฐ
Linux pwd ๋ช…๋ น์–ด ๋™์ž‘ ๊ฐœ๋…๋„

Linux pwd ๋ช…๋ น์–ด๋Š” “Print Working Directory”์˜ ์•ฝ์ž๋กœ, ํ˜„์žฌ ์…ธ์ด ์œ„์น˜ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ(์ž‘์—… ๊ฒฝ๋กœ)๋ฅผ ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

๐Ÿ“Œ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

pwd
 

์ถœ๋ ฅ ์˜ˆ:

/home/ubuntu/workspace
 

pwd์˜ ํ•ต์‹ฌ ๊ฐœ๋…

  • ์ ˆ๋Œ€๊ฒฝ๋กœ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค
  • ํ˜„์žฌ ์…ธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜(PWD) ์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค
  • bash ๋‚ด๋ถ€ ๋ช…๋ น์–ด(builtin)์ด๋ฉฐ, coreutils ๋ฒ„์ „๋„ ์กด์žฌํ•œ๋‹ค

3. pwd ๋ช…๋ น์–ด์˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹

pwd๋Š” ๋‘ ๊ฐ€์ง€ ๋™์ž‘ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

1) ๋…ผ๋ฆฌ ๊ฒฝ๋กœ(Logical Path)

pwd ๊ธฐ๋ณธ๋™์ž‘
์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ณด์กดํ•œ๋‹ค.

pwd
 

์˜ˆ:

/home/ubuntu/project -> /mnt/data/project
 

๋กœ๊ทธical pwd๋Š” /home/ubuntu/project ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

2) ๋ฌผ๋ฆฌ ๊ฒฝ๋กœ(Physical Path)

-P ์˜ต์…˜
์‹ค์ œ ๋””์Šคํฌ ์ƒ์˜ ๊ฒฝ๋กœ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

pwd -P
 

์ถœ๋ ฅ ์˜ˆ:

/mnt/data/project
 

์–ธ์ œ ์œ ์šฉํ•œ๊ฐ€?

  • Docker, chroot, OverlayFS ๊ธฐ๋ฐ˜ OpenWrt ๋นŒ๋“œ
  • ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ๋งŽ์€ ๊ฒฝ๋กœ ๊ตฌ์กฐ
  • ์‹ค์ œ ‘๋ฆฌ์–ผ’ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๋””๋ฒ„๊น… ์ƒํ™ฉ

4. pwd ๋ช…๋ น์–ด์˜ ์˜ต์…˜ ์ƒ์„ธ ์ •๋ฆฌ

pwd -L ๊ณผ pwd -P ๋™์ž‘ ์ฐจ์ด ๋น„๊ต ํ‘œ
pwd๋กœ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒ€์ฆ ํ›„ ์•ˆ์ „ํ•œ ๋ช…๋ น ์‹คํ–‰


์˜ต์…˜ ์„ค๋ช…
(๊ธฐ๋ณธ) logical path ์ถœ๋ ฅ
-L logical path ๊ฐ•์ œ ์ถœ๋ ฅ
-P physical path ์ถœ๋ ฅ

์˜ˆ์ œ

pwd -P
pwd -L
 

5. pwd ๋ช…๋ น์–ด ์šด์˜์ฒด์ œ๋ณ„ ์ฐจ์ด

Linux bash

  • ๋‚ด๋ถ€ ๋ช…๋ น(builtin)
  • help pwd ๋กœ ๋ฌธ์„œ ํ™•์ธ ๊ฐ€๋Šฅ

BusyBox(OpenWrt)

  • BusyBox ๋‚ด์žฅ ๊ธฐ๋Šฅ
  • ์˜ต์…˜ ์ง€์› ๋ฒ”์œ„๊ฐ€ ์ข์„ ์ˆ˜ ์žˆ์Œ
  • ๋””๋ฒ„๊น… ์‹œ ์˜คํžˆ๋ ค readlink -f . ๋ฅผ ๋” ๋งŽ์ด ์“ฐ๊ธฐ๋„ ํ•จ
readlink -f .
 

macOS

  • coreutils pwd(gpwd) ๋ณ„๋„ ์„ค์น˜ ๊ฐ€๋Šฅ
  • ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ๋ฆฌ๋ˆ…์Šค์™€ ๋ฏธ์„ธํ•˜๊ฒŒ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ

6. pwd ๋ช…๋ น์–ด ์‹ค์ „ ํ™œ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค

์•„๋ž˜๋Š” pwd๊ฐ€ ์‹ค๋ฌด์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜๋Š”์ง€ ์‹ค์ œ ์˜ˆ์‹œ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๋ช…ํ•œ๋‹ค.

1) ๊ฒฝ๋กœ ํ™•์ธ์ด ํ•„์š”ํ•œ ์œ„ํ—˜ํ•œ ๋ช…๋ น ์‹คํ–‰ ์ „

์˜ˆ: rm ๋ช…๋ น์–ด ์‹คํ–‰ ์ „์— ์•ˆ์ „ ํ™•์ธํ•˜๊ธฐ

pwd
rm -rf *
 

ํŠนํžˆ ์ž„๋ฒ ๋””๋“œ ์žฅ๋น„์—์„œ root ๊ถŒํ•œ์ผ ๋•Œ ๋” ์ค‘์š”ํ•˜๋‹ค.
์‹ค์ˆ˜๋กœ /etc ๋‚˜ /overlay ๊ฐ™์€ ๊ฒฝ๋กœ์—์„œ rm์„ ์‹คํ–‰ํ•˜๋ฉด ์‹œ์Šคํ…œ ์ž์ฒด๊ฐ€ ๋ถ•๊ดด๋œ๋‹ค.

2) ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์˜ˆ์ƒ ๊ฒฝ๋กœ์—์„œ ์‹คํ–‰๋˜๋Š”์ง€ ๊ฒ€์ฆ

bash script ์ƒ๋‹จ์—์„œ ์ฐพ๋Š” ํŒจํ„ด:

#!/bin/sh

if [ "$(pwd)" != "/usr/local/myapp" ]; then
    echo "Error: wrong directory"
    exit 1
fi
 

CI/CD(์˜ˆ: GitHub Actions, Jenkins)์—์„œ๋„ ๊ฐ™์€ ํŒจํ„ด์„ ํ™œ์šฉํ•œ๋‹ค.

3) OpenWrt ๋นŒ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ฒฝ๋กœ ์ด๋™ ์ถ”์ 

OpenWrt๋Š” ๋‹ค์Œ์ฒ˜๋Ÿผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ด๋™ํ•˜๋ฉด์„œ ๋นŒ๋“œ๊ฐ€ ์ง„ํ–‰๋œ๋‹ค.

./scripts/feeds update -a
./scripts/feeds install tcpdump
make menuconfig
make V=s
 

๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ:

pwd
 

์œผ๋กœ ํ˜„์žฌ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์–ด๋””์„œ ๋Œ๊ณ  ์žˆ๋Š”์ง€ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

4) Makefile์—์„œ ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ์กฐ๊ฑด ์ฒ˜๋ฆฌ

C ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฒฝ๋กœ ํ™•์ธ ์ฝ”๋“œ๋ฅผ ๋„ฃ์„ ๋•Œ pwd๊ฐ€ ๊ฐ„์ ‘์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

์˜ˆ:

WORK_DIR := $(shell pwd)

all:
    @echo "BUILD PATH = $(WORK_DIR)"
 

์ž„๋ฒ ๋””๋“œ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๋ฅผ ๋นŒ๋“œํ•  ๋•Œ๋„ ์ž์ฃผ ์“ฐ์ด๋Š” ํŒจํ„ด์ด๋‹ค.

5) C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ฐ๊ณ„ ์˜ˆ์ œ(getcwd)

getcwd ํ•จ์ˆ˜๊ฐ€ pwd์™€ ๋™์ผํ•˜๊ฒŒ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ตฌ์กฐ
C ์–ธ์–ด์—์„œ pwd ๊ธฐ๋Šฅ ๊ตฌํ˜„: getcwd()

C ๊ฐœ๋ฐœ์ž๋ผ๋ฉด pwd์™€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜๋Š” getcwd()์ด๋‹ค.

/**
 * getcwd_example - Demonstrate how to get current working directory
 *
 * Brief:
 *     Print the current working directory similar to Linux pwd command.
 *
 * Return:
 *     0 on success, -1 on failure.
 */
#include <stdio.h>
#include <unistd.h>
#include <limits.h>

int main(void)
{
    char path[PATH_MAX];

    if (getcwd(path, sizeof(path)) == NULL) {
        perror("getcwd error");
        return -1;
    }

    printf("Current Directory: %s\n", path);
    return 0;
}
 

pwd์˜ ๋‚ด๋ถ€ ๋™์ž‘๊ณผ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ํ˜•ํƒœ๋‹ค.

6) pwd ๋ช…๋ น์–ด์™€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์˜ ๊ด€๊ณ„

ํ•ต์‹ฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜

  • $PWD : ํ˜„์žฌ ๋…ผ๋ฆฌ ๊ฒฝ๋กœ
  • $OLDPWD : ์ด์ „ ๋””๋ ‰ํ„ฐ๋ฆฌ
echo $PWD
echo $OLDPWD
 

์ฐจ์ด์ 

pwd ์ถœ๋ ฅ = $PWD ๋ณ€์ˆ˜
๋‹จ, ์ผ๋ถ€ ์ƒํ™ฉ์—์„œ๋Š” ์„œ๋กœ ๋‹ฌ๋ผ์ง„๋‹ค(์˜ˆ: chroot, overlay ์ฒ˜๋ฆฌ, manual cd -P).


7. pwd ๋ช…๋ น์–ด๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋Œ€ํ‘œ ๋ฌธ์ œ๋“ค

pwd๋Š” ๋‹จ์ˆœํ•˜์ง€๋งŒ, ์•„๋ž˜์ฒ˜๋Ÿผ ์‹ค์ œ ๋ฌธ์ œ๋ฅผ ๋งŽ์ด ์ผ์œผํ‚จ๋‹ค.

1) ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋•Œ๋ฌธ์— ๊ฒฝ๋กœ๊ฐ€ ํ˜ผ๋™๋  ๋•Œ

์˜ˆ:

cd /data/logs
pwd
pwd -P
 

์ถœ๋ ฅ ๊ฒฝ๋กœ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋ฉด:

  • ๋กœ๊ทธํŒŒ์ผ ๊ฒฝ๋กœ ์ฐฉ์˜ค
  • “ํŒŒ์ผ์ด ์—†๋‹ค”๋Š” ์˜ค๋ฅ˜ ๋ฐœ์ƒ
  • ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ƒ๋Œ€๊ฒฝ๋กœ๊ฐ€ ๊ผฌ์ž„

ํŠนํžˆ OpenWrt overlay ํŒŒ์ผ์‹œ์Šคํ…œ์—์„œ ํ”ํžˆ ๋ฐœ์ƒํ•œ๋‹ค.

2) chroot ํ™˜๊ฒฝ์—์„œ๋Š” pwd๊ฐ€ ‘์ง„์งœ’๊ฐ€ ์•„๋‹˜

์˜ˆ:

chroot /tmp/rootfs /bin/sh
pwd
 

๊ฒ‰๋ณด๊ธฐ์—” / ์ด์ง€๋งŒ ์‹ค์ œ๋Š” /tmp/rootfs ๋‚ด๋ถ€๋‹ค.
๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ฌผ๋ฆฌ ๊ฒฝ๋กœ(real path) ์ถ”์ ์ด ํ•„์š”ํ•œ ๋””๋ฒ„๊น…์—์„œ๋Š” ๋ฐ˜๋“œ์‹œ pwd -P ๋˜๋Š” readlink -f . ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

3) ์Šคํฌ๋ฆฝํŠธ ์ž๋™ํ™”์—์„œ PWD ์บ์‹œ ๋ฌธ์ œ

์˜ˆ:

export PWD="/fake/path"
pwd
 

bash builtin pwd๋Š” $PWD์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ, ๋•Œ๋กœ๋Š” ์Šคํฌ๋ฆฝํŠธ์ฒ˜๋Ÿผ ์ง์ ‘ ์กฐ์ž‘๋˜๋ฉด ์ž˜๋ชป๋œ ๊ฒฝ๋กœ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.


8. pwd ๋ช…๋ น์–ด์™€ ์ž์ฃผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น๋“ค

1) ls

ํ˜„์žฌ ์œ„์น˜์—์„œ ํŒŒ์ผ ํ™•์ธ

pwd
ls -al
 

2) cd

ํด๋” ์ด๋™ ํ›„ pwd๋กœ ํ˜„์žฌ ์œ„์น˜ ํ™•์ธ

cd /etc
pwd
 

3) readlink

์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์‹ค์ œ ๊ฒฝ๋กœ ๋ถ„์„

readlink -f .
 

4) dirname / basename

๊ฒฝ๋กœ ๋ถ„๋ฆฌ

dirname $(pwd)
basename $(pwd)
 

9. Linux pwd ๋ช…๋ น์–ด๋ฅผ ๋” ์ž˜ ์“ฐ๊ธฐ ์œ„ํ•œ ํŒ

โœ” ์ƒ๋Œ€๊ฒฝ๋กœ๋ณด๋‹ค ์ ˆ๋Œ€๊ฒฝ๋กœ๋ฅผ ์ตํ˜€๋ผ

pwd ์ถœ๋ ฅ์€ ํ•ญ์ƒ ์ ˆ๋Œ€๊ฒฝ๋กœ๋‹ค → ์ž๋™ํ™” ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋” ์•ˆ์ „ํ•˜๋‹ค.

โœ” rm -rf ์‹คํ–‰ ์ „ ๋ฐ˜๋“œ์‹œ pwd ํ™•์ธ

์‹ค์ˆ˜ ์˜ˆ๋ฐฉ์˜ ํ•ต์‹ฌ ์Šต๊ด€.

โœ” pwd -P ๋กœ ์‹ค์ œ ๊ฒฝ๋กœ๋„ ํ™•์ธ

ํŠนํžˆ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

โœ” log ํŒŒ์ผ์— ํ˜„์žฌ ๊ฒฝ๋กœ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ์Šต๊ด€

๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ๋””๋ฒ„๊น…์ด ์‰ฌ์›Œ์ง„๋‹ค.


11. Linux pwd ๋ช…๋ น์–ด ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ(FAQ)

Q1. pwd๋Š” ์–ด๋–ค ๊ฒฝ์šฐ์— ์ถœ๋ ฅ์ด ๋‹ฌ๋ผ์ง€๋‚˜์š”?

์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์œ ๋ฌด, -L/-P ์˜ต์…˜, $PWD ์กฐ์ž‘ ๋“ฑ์—์„œ ์ถœ๋ ฅ์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.

Q2. BusyBox(OpenWrt) pwd๋Š” ์˜ต์…˜์ด ์ œํ•œ๋˜๋‚˜์š”?

๋„ค, BusyBox๋Š” -P์€ ์žˆ์ง€๋งŒ -L ์˜ต์…˜์ด ์—†๊ฑฐ๋‚˜ ์ผ๋ถ€ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์ ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

Q3. pwd ์—†์ด๋„ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‚˜์š”?

ํ™˜๊ฒฝ๋ณ€์ˆ˜ $PWD๋กœ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

echo $PWD
 

Q4. pwd ๋‚ด๋ถ€ ๊ตฌํ˜„์€ ์–ด๋–ค ํ•จ์ˆ˜๋กœ ๋™์ž‘ํ•˜๋‚˜์š”?

๋Œ€๋ถ€๋ถ„ getcwd() ๊ธฐ๋ฐ˜์ด๋ฉฐ, ๋…ผ๋ฆฌ๊ฒฝ๋กœ ๋ชจ๋“œ์—์„œ๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜ $PWD๋ฅผ ์šฐ์„ ํ•œ๋‹ค.

Q5. pwd๊ฐ€ ํ‹€๋ฆฐ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ์ƒํ™ฉ์ด ์žˆ๋‚˜์š”?

์Šคํฌ๋ฆฝํŠธ๊ฐ€ $PWD๋ฅผ ๋ฎ์–ด์“ด ๊ฒฝ์šฐ, chroot ํ™˜๊ฒฝ, overlayfs ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.


Linux pwd ๋ช…๋ น์–ด๋Š” ์–ด๋–ค ํšจ๊ณผ๋ฅผ ์ฃผ๋Š”๊ฐ€?

Linux pwd ๋ช…๋ น์–ด๋Š” ๋‹จ์ˆœํ•œ ๋„๊ตฌ ๊ฐ™์ง€๋งŒ, ๊ฒฝ๋กœ ๊ธฐ๋ฐ˜ ์‚ฌ๊ณ ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์žก์•„์ฃผ๋ฉฐ ์œ„ํ—˜ํ•œ ์‹ค์ˆ˜๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ณ  ์Šคํฌ๋ฆฝํŠธ ์ž๋™ํ™”·CI/CD·์ž„๋ฒ ๋””๋“œ ๋””๋ฒ„๊น…๊นŒ์ง€ ๋ชจ๋“  ์˜์—ญ์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.


“๊ฒฝ๋กœ๋ฅผ ์ดํ•ดํ•˜๋Š” ์ˆœ๊ฐ„ ์‹œ์Šคํ…œ์„ ์ง€๋ฐฐํ•œ๋‹ค.”
pwd๋Š” ๊ทธ ์ถœ๋ฐœ์ ์ด๋‹ค.