리눅스마스터2급강좌 : 명령어 경로 설정 및 매뉴얼 보기
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,980 조회
- 0 추천
- 목록
본문
리눅스마스터2급강좌 : 명령어 경로 설정 및 매뉴얼 보기
명령어의 경로 설정
리눅스에서 명령어는 /sbin, /bin, /usr/bin 및 /usr/sbin 디렉토리 아래에 있고, 사용자의 프로그램 설치에 따라 임의의 디렉토리나 /usr/local/bin 및 /usr/local/sbin에 위치하게 된다.
이들에 대해 앞서의 네 곳의 경우와 /usr/local/[s]bin의 경우에는 명령 패스(PATH)가 미리 지정되어 있어 명령어를 지정하는데 경로가 필요 없지만 임의의 디렉토리에 명령어가 있는 경우에는 경로를 모두 기입해 주어야 명령이 실행된다.
패스 설정은 터미널의 쉘 프롬프트에서 “env | grep PATH” 명령으로 볼 수 있다.
우선 일반 사용자의 예이다.
|
|
|
| $ env | grep PATH PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/freekgb/bin |
|
|
|
|
다음은 root 사용자의 PATH를 확인한 것이다.
|
|
|
| # env | grep PATH PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin |
|
|
|
|
만약 개별 사용자가 자신의 PATH를 설정하려면 사용자의 홈디렉토리 아래의 .bash_profile 파일을 수정한다.
.bash_profile 파일에는 터미널 설정과 환경변수, 초기에 실행할 프로그램과 같은 항목들이 설정되고, 이 항목들은 사용자가 연결 중에 변경하지 않는 한 연결이 끊어질 때까지(로그아웃 할 때까지) 유지된다.
PATH는 앞에서부터 읽혀지므로 PATH 설정의 가장 앞에 경로를 포함한 디렉토리를 기술하고 콜론(:)으로 다른 디렉토리와 구분한다.
|
|
|
| [freekgb@localhost ~]$ cat .bash_profile # .bash_profile
# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH unset USERNAME
export TMOUT TMOUT=3600 [freekgb@localhost ~]$ |
|
|
|
|
홈디렉토리의 .bash_profile 파일은 PATH 설정에서 $PATH 변수에 의해 /etc/profile의 PATH 설정(pathmunge 함수에 의해 PATH 설정)을 읽어 들인다.
따라서 이 $PATH 변수 앞이나 뒤에 패스를 설정하면 그 순서대로 패스가 설정된다.
만약 전체 사용자들을 위한 PATH 설정을 하려면 /etc/profile을 수정하고, useradd에 의해서 신규로 생성되는 사용자들의 기본 PATH의 설정을 변경하려면 신규 사용자들의 홈디렉토리 생성에 사용되는 /etc/skel 디렉토리의 파일들 중에서 /etc/skel/.bash_profile 파일의 PATH 설정을 수정하도록 한다.
.bash_profile과 /etc/profile은 Bash 쉘의 환경 설정 파일이다.
따라서 다른 쉘을 사용할 때에는 다른 설정 파일을 수정해야 한다.
사용자의 쉘은 ‘env | grep SHELL’ 명령을 내리거나 /etc/passwd 파일에 설정된 내용을 통해 간단하게 확인할 수 있다.
useradd 명령에 의해 사용자 생성 시에 쉘을 지정하여 줄 수 있지만, 만약 기본적으로 지정되는 쉘을 변경하고 싶다면 /etc/default/useradd 파일에서 SHELL에 지정된 쉘을 다른 것으로 변경하면 된다.
다음은 /etc/passwd 파일에서 사용자인 master의 설정 내용을 확인한 것이다.
|
|
|
| # grep master /etc/passwd master:x:510:510::/home/master:/bin/bash |
|
|
|
|
관련자료
-
이전
-
다음