재우니의 블로그

 

윈도우 11에서 "시스템 환경 변수 편집" 이라고 검색을 하면, 아래와 같은 환경변수 설정하는 창이 뜹니다.

이번에 알아보고자 하는 내용은 "사용자 변수" 와 "시스템 변수" 에 대해서 알아보고자 합니다.

 

 

 

환경 변수가 뭐죠?

 

환경 변수는 시스템 및 사용자 환경에서 실행되는 모든 프로그램에 사용되는 변수입니다. Windows 운영 체제에서는 사용자별 및 시스템 전역 변수를 지원합니다.

 

 

시스템 변수란?

시스템 변수 : 모든 사용자와 시스템 전체에 적용되는 변수입니다. 시스템 변수를 수정하려면 관리자 권한이 필요합니다. 시스템 변수는 대개 운영 체제에 대한 경로, 시스템 디렉토리, 라이브러리 경로 등과 같은 값을 저장합니다.

 

사용자 변수란?

사용자 변수 : 개별 사용자가 자신의 로그인과 관련된 변수를 정의할 수 있습니다. 사용자 변수는 해당 사용자가 로그인한 모든 프로그램에서 사용할 수 있습니다. 사용자 변수는 사용자가 작업에 필요한 경로, 자주 사용하는 파일 및 디렉토리, 사용자 지정 환경 설정 등과 같은 값을 저장합니다.

 

차이점은?

시스템 변수는 모든 사용자에게 공유되며 변경하려면 관리자 권한이 필요합니다. 
사용자 변수는 개별 사용자에게 적용되며 변경하려면 해당 사용자의 로그인 정보를 사용하여 변경해야 합니다.

 

이제 알겠죠?

 

 

좀 더 쉽게 사례로 알아보자

 

예를 들어, 시스템 변수 PATH는 Windows 운영 체제에서 실행되는 모든 프로그램에서 참조하는 환경 변수입니다. PATH 변수는 시스템 변수로 정의됩니다. 만약 사용자가 새로운 프로그램을 설치하고 해당 프로그램이 PATH에 추가된 경로를 사용해야 한다면, 관리자 권한으로 로그인하여 PATH 시스템 변수를 수정해야 합니다. 이렇게 하면 해당 프로그램이 모든 사용자에게 사용 가능한 PATH 변수에 추가됩니다. (전체 공용으로 사용)

 


반면에 사용자 변수로는 예를 들어, 사용자 A가 자주 사용하는 파일을 C:\Users\A\Documents\MyFiles 경로에 저장하려 한다고 가정해 보겠습니다. 이 경우, 사용자 A는 로그인하여 자신의 사용자 변수에 새 변수를 추가할 수 있습니다. 

예를 들어, "MYFILES" 라는 변수를 만들고 해당 변수를 C:\Users\A\Documents\MyFiles 경로와 연결할 수 있습니다. 그런 다음 사용자 A는 다른 프로그램에서 이 변수를 사용하여 파일을 저장하거나 열 수 있습니다. 이렇게 함으로써 사용자 A는 자주 사용하는 파일에 쉽게 액세스할 수 있습니다. (사용자 계정별로 별도로 사용)

 

 

java 설치를 할 경우 PATH 를 어디 설정하는게 좋을가요?

 

Java 경로를 설정하는 경우 시스템 변수에 할당하는 것이 좋습니다. 이유는 모든 사용자가 Java 경로에 액세스해야 하기 때문입니다.

시스템 변수에 Java 경로를 할당하면 모든 사용자가 동일한 경로를 사용할 수 있으며, 모든 프로그램에서 Java를 참조할 수 있습니다. 또한, 시스템 변수에 Java 경로를 할당하면 사용자가 로그인할 때마다 Java 경로를 재설정할 필요가 없으므로 편리합니다.

반면에 사용자 변수에 Java 경로를 할당하면 해당 사용자만 Java 경로를 사용할 수 있습니다. 이 경우, 다른 사용자는 Java를 사용할 수 없으며, 각 사용자가 로그인할 때마다 Java 경로를 설정해야 합니다. 이러한 접근 방식은 권한을 분리하는 경우에 유용할 수 있습니다. 예를 들어, 시스템 관리자가 자신의 Java 버전을 사용하고 일반 사용자가 다른 버전을 사용하는 경우에는 사용자 변수를 사용하여 각 사용자의 Java 경로를 분리할 수 있습니다.

따라서, 대개는 Java 경로와 같은 모든 전역 환경 변수는 시스템 변수에 할당하는 것이 좋습니다.