Computer >> 컴퓨터 >  >> 시스템 >> Linux

리눅스에서 환경 변수를 설정하고 확인하는 방법 완벽 가이드

리눅스에서 환경 변수를 설정하고 확인하는 방법 완벽 가이드

예전에는 리눅스를 사용하려면 명령줄에 바로 익숙해져야 했습니다. 하지만 GNOME이나 KDE 같은 데스크톱 환경이 등장하면서 초보자도 훨씬 쉽게 리눅스를 다룰 수 있게 되었고, 터미널 명령어를 하나도 모른 채로 오랫동안 리눅스를 사용하는 것도 가능해졌습니다.

그러나 언젠가는 명령줄을 반드시 사용해야 하는 상황이 찾아오고, 그 시점부터 환경 변수(environment variables)라는 개념을 알아야 합니다. 다소 생소하게 들릴 수 있지만, 사실 환경 변수는 생각보다 훨씬 이해하기 쉬운 개념입니다.

환경 변수란 무엇인가?

환경 변수는 특정 애플리케이션의 설정 파일을 일일이 수정하지 않고도 여러 프로그램에 옵션을 적용할 수 있게 해주는 기능입니다. 이 값들은 시스템 전체에 적용되기 때문에 프로그램뿐만 아니라 셸(shell)과 자식 프로세스에서도 동일하게 작동합니다.

환경 변수는 다양한 명령어가 홈 디렉터리 위치, 현재 사용자 이름, 사용 중인 셸의 종류 등을 파악할 수 있도록 돕습니다. 또한 터미널 색상 같은 세부 옵션을 지정하는 데에도 활용할 수 있습니다.

환경 변수 목록 확인하기

실제로는 환경 변수를 나열하는 것보다 설정하는 경우가 더 많지만, 문제를 해결(troubleshooting)할 때는 특정 변수가 어떻게 설정되어 있는지, 아니면 아예 설정되지 않았는지 확인하는 것이 매우 유용합니다.

리눅스에서 환경 변수를 설정하고 확인하는 방법 완벽 가이드

확인 방법은 두 가지로 나뉩니다. 현재 설정된 모든 환경 변수를 한 번에 볼 수도 있고, 특정 변수의 값만 골라서 확인할 수도 있습니다. 현재 설정된 모든 환경 변수를 나열하려면 인수 없이 printenv 명령어를 실행하면 됩니다.

printenv

이 명령은 다양한 환경 변수에 대한 개요를 보여줍니다. 어떤 값들이 설정되어 있는지 살펴보거나, grep 같은 도구와 조합하여 원하는 문자열을 검색하는 용도로도 활용할 수 있습니다.

특정 변수의 값만 확인하고 싶다면 변수 이름을 인수로 넘겨 printenv를 실행하면 됩니다.

printenv HOME

여러 개의 변수를 동시에 확인하려면 아래 예시처럼 인수로 함께 전달하면 됩니다.

printenv HOME PWD

환경 변수의 값을 다른 명령어에 전달하려면 아래 예시처럼 $ 기호를 붙여 참조하면 됩니다.

ls $HOME

환경 변수 설정하기

환경 변수를 설정하는 것 역시 매우 간단합니다. $ 연산자 없이 변수 이름만 사용하고, = 연산자로 값을 할당하면 됩니다. 예를 들어 "EXAMPLE_VAR"를 "hello"로 설정하려면 다음과 같이 실행합니다.

EXAMPLE_VAR=hello

이제 위에서 설명한 대로 $ 연산자를 사용해 해당 변수에 접근할 수 있습니다.

echo $EXAMPLE_VAR

단, 이 방식으로 설정한 변수는 현재 세션에만 유효합니다. 로그아웃하거나 컴퓨터를 재시작하면 변수가 사라집니다. 따라서 테스트 목적이나 임시로 값을 지정해야 할 때 적합한 방법입니다.

리눅스에서 환경 변수를 설정하고 확인하는 방법 완벽 가이드

환경 변수를 영구적으로 유지하려면 적절한 설정 파일에 추가해야 합니다. 시스템 전체에 적용되는 변수는 "/etc/environment" 파일에, 셸 관련 변수는 "/etc/profile" 파일에 설정할 수 있습니다.

개인 용도로 사용하려면 "~/.bashrc" 파일에 변수를 추가하면 됩니다. 다른 셸을 사용한다면 그에 맞는 설정 파일(예: zsh의 "~/.zshrc")을 활용하세요. 설정 형식은 앞서 설명한 것과 동일합니다.

마무리

위에서 소개한 명령줄 도구만 익혀두면 환경 변수와 관련된 거의 모든 작업을 처리할 수 있는 기본기를 갖추게 됩니다. 먼저 자신의 셸 프롬프트나 시작 옵션을 원하는 대로 꾸며보면서 시작하고, 점차 범위를 넓혀가는 것을 추천합니다.

물론 리눅스를 처음 접한다면 환경 변수 외에도 명령줄을 능숙하게 다루기 위해 알아야 할 것이 많습니다. 학습 내용을 체계적으로 정리하려면 리눅스 명령어를 쉽게 암기하는 방법을 다룬 가이드도 함께 참고해 보세요.