개발공부 & Network & OS

[Windows] 환경변수 path란?

판교너굴맨 2022. 5. 23. 08:00

환경변수

환경변수라는 단어를 검색하면 아래와 같이 설명한다.

프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임이다.

즉, 환경변수는 운영체제가 참조하는 변수이다.

환경변수 path

windows에서 Java를 설치할 때, 또는 Android studio를 설치한 후 path 변수에 설정해주던 기억이 있다. 블로그에서 설치 순서라며 막연히 따라만 해보다가 문득 path에 설정해주는 이유가 궁금하게 되었다.

 

환경변수 위키백과에서는 path에 대해 이렇게 설명한다.

PATH
: 디렉터리 경로의 목록. 사용자가 전체 경로를 지정하지 않고 명령을 입력하면 이 목록을 확인하여 해당 명령어가 경로에 속하는지를 살펴본다.

예를 들어 Java의 컴파일러인 javac 명령어를 사용하려고 한다. 윈도우 명령 프롬프트(CMD)창에서 javac 명령어만 입력하게 되면  'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 출력될 것이다. 왜냐하면 javac의 해당하는 경로를 찾지 못했기 때문이다. 이때 필요한 것이 path 설정이다.

 

path를 설정하지 않고 javac 명령어를 사용하기 위해서는 C:\java\java-11-openjdk-11.0.8.10-1.windows.ojdkbuild.x86_64\bin 과 같은 디렉터리로 이동해서 사용해야 작동될 것이다. 왜냐하면 javac 실행파일은 위 디렉터리 내에 있기 때문이다.

 

javac를 환경변수 path에 C:\java\java-11-openjdk-11.0.8.10-1.windows.ojdkbuild.x86_64\bin 같은 경로로 입력해주게 되면 javac라는 명령어를 전역적으로 사용할 수 있게 된다.

실습

1. 파일 생성

  • 먼저 c드라이브 내에 test/test.txt 파일을 생성했다.
  • CMD 창에서 tset.txt를 입력했을 때 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 출력되었다.

2. 환경변수 설정

  • 고급 시스템 설정 -> 환경변수로 들어오면 사용자 변수, 시스템 변수가 있다.
    • 사용자 변수: 컴퓨터에 있는 각 계정에서 사용하는 변수이다.
    • 시스템 변수: 시스템 전반에 걸쳐 적용되는 변수, 즉 전역 변수와 같은 개념이다.
  • 둘 다 상관없지만 실습은 사용자 변수에서 진행했다.
  • 사용자 변수의 path에 C:\test 경로 설정

  • CMD 창을 재실행하고 C:\test가 아닌 아무 경로에서 test.txt 를 입력한다.
  • 어떤 경로에서도 test.txt파일이 잘 열리는 것을 확인할 수 있다.