정리하는 공간
리눅스) 쉘 의 환경 설정, 사용자 환경 설정 파일 (feat: alias, history) 본문
1. 쉘 변수와 환경 변수
변수란?
자주 필요한 정보를 저장해 사용자가 사용을 편리하게 해주는 것이다.
쉘의 환경을 설정하기 위한 값을 간편하게 저장할 수 있도록 쉘 변수와 환경 변수가 제공된다.
1) 쉘 변수 : 현재 쉘에서만 사용가능하고, 서브 쉘로는 전달되지 않음
2) 환경 변수 : 현재 쉘과 서브쉘로도 전달 가능
단점) 해당 계정이 로그아웃하면 변수 값은 초기화 된다.
set | 전체 변수 출력 |
env | 환경 변수만 출력 |
3) 쉘, 환경 변수는 너무 많기에 해당 환경변수는 기억해두자.
HISTSIZE | 히스토리 저장 크기 | PATH | 명령을 탐색할 경로 |
HOME | 사용자 홈 디렉터리 절대 경로 |
PWD | 작업 디렉터리 절대경로 |
LANG | 사용 언어 | SHELL | 로그인 쉘 |
LOGNAME | 사용자 계정 이름 |
설명) PATH
PATH 변수가 없다면 우리가 명령어를 사용할 때 일일히 경로 값을 입력해 실행해야한다.
예를 들면 ls 의 경우, /usr/bin/ls 이렇게 실행해야 한다는 말이다.
이처럼 변수라는 것은 프로세스를 실행할 때 간편하게 해준다.
4) 특정 변수 출력하기 echo
변수 값을 출력할 때는 변수 이름 앞에 $를 붙인다.
2. 쉘 변수 설정하기
변수이름=문자열 공백이 없다는 걸 기억하자
3. 환경 변수 설정하기
export MYLOVE : 쉘 변수를 환경 변수로 전환
export MYLOVE=test : 환경 변수 생성
grep 명령어를 이용해 환경 변수에 HATE이 추가 된 것을 확인할 수 있다.
1) export -n 은 환경변수를 다시 쉘 변수로 바꾸게 해준다.
환경변수에 있던 HATE이 env 에 없고 set에 있는 것을 확인할 수 있다.
4. 변수 해제하기
unset 변수
출력이 되지 않는 것을 확인할 수 있다.
위에서 언급했다 시피 환경변수는 로그아웃을 하면 설정 정보들이 사라진다.
이럴 땐 /etc/profile , /.bash_frogile 에 저장하면 재부팅을 해도 해당 설정들이 그대로 이용할 수 있다.
5. alias
1) 알리아스는 긴 명령어들을 줄여 간편히 단축키처럼 이용할 수 있게 해주는 명령어다.
alias 명령어를 쳐보면 ls -l 를 사용할 때 간편히 ll만 사용해도 된다고 명시되어 있는데 이렇게 명령어를 짧게 설정할 수 있다.
2) alias 도 현재 계정에서만 적용되고 로그아웃을 하면 사라진다. 그래서 로그인 시에도 변경 사항을 적용하고자 할 경우 /.bashrc 파일에 저장해 두면 된다.
예제) ls - F 를 ls로 알리아스 하시오
alias ls='ls -F'
[실제로 하면 복잡할 수 있어, 어떻게 명령어를 사용하는지만 보자..]
*공백이 있을 때는 작은 따움표를 사용한다.
3) 알리아스 헤제하기
unalias
예제) ls로 알리아스 된 ls -F를 해제하시오.
unalias ls
간단하다.
6. history
1) 사용자가 입력한 명령을 다시 불러 사용하는 것
history를 입력하면 내가 이전에 사용했던 명령어들을 보여준다. 여기서 echo $HISTSIZE 변수값을 확인 했을 때 나오는 수가 histroy 저장 크기 인 것이다.
2) history 파일은 /.bash_history 파일에 저장되고, 실시간으로 저장되는 것이 아닌 로그아웃 할 때 저 파일에 저장된다.
3) history 숫자 : 숫자 만큼 가장 최근에 쓴 히스토리 목록을 출력
예시) history 10 : 최근 사용한 명령어 10개 출력
7. 명령 재실행하기 !
!! | 바로 직전에 수행한 명령 재실행 |
!번호 | 히스토리에서 해당 번호 명령 재실행 |
!문자열 | 히스토리에서 해당 문자열의 최근 명령 재실행 |
8. 환경 설정 파일
1) 환경 설정 파일이란? 사용자가 로그인할 때마다 자동으로 실행되는 명령을 저장한 곳이 환경 설정 파일이다.
2) 쉘마다 다른 이름의 파일을 사용한다.
3) 시스템 환경 설정 파일과 사용자 환경 설정 파일로 구분된다.
8-1. 시스템 환경 설정 파일
시스템을 사용하는 전체 사용자의 공통 환경을 설정하는 파일
/etc/profile | 1)시스템 공통으로 적용되는 환경 변수 설정 2)기본 접근 권한 설정 3) /etc/profile.d/*.sh를 실행 |
/etc/bashrc | 1)시스템 공통으로 적용되는 함수와 엘리어스 설정 2)기본 프롬프트 설정 3)서브 쉘을 위한 명령 경로 설정 4)서브 쉘을 위한 기본 접근 권한 설정 |
/etc/profile.d/*.sh | 1)언어나 명령별로 각각 필요한 환경 설정 2)필요시 설정 파일 추가 |
8-2. 사용자 환경 설정 파일
각 사용자의 홈 디렉터리에 숨김 파일로 생성하고, 사용자가 내용을 수정, 관리 가능
~/.bash_profile | 1)경로 추가 등 사용자가 정의하는 환경 설정 2)bashrc 파일이 있으면 실행 |
~/.bashrc | 1)/etc/bashrc 파일이 있으면 실행 2)사용자가 정의하는 엘리어스나 함수 등을 성정 |
~/.bash_logout | 1)로그아웃 시 실행할 필요가 있는 함수 등을 설정 |
8-3. 사용자 환경 설정 파일 만들기
예시) rm으로 rm -i 기능 추가하기
1) vi .bashrc (알리아스 파일 수정할 때 수정하는 사용자 환경파일)
2) alias rm='rm -i' 내용 추가
3) :wq 저장하고 종료
4) 파일을 수정하면 로그아웃해도 저장이되고, 적용을 하기 위해선 다시 로그인을 해야한다.
이때 로그인을 다시 할 필요없이 바로 적용하려면 source /bashrc 명령어를 사용한다.
'리눅스 기초' 카테고리의 다른 글
리눅스 ) 프로세스 관리-1 (ps -ef, ps-aux) (0) | 2022.05.12 |
---|---|
리눅스) 파일의 접근 권한 (0) | 2022.05.12 |
리눅스) 특수문자(*, ?, [], ~, -, ;, |, `, \, >, >>, <) (0) | 2022.05.12 |
리눅스) 쉘 맛보기 (0) | 2022.05.12 |
리눅스) 문서편집하기, vi 편집기 (0) | 2022.05.12 |