Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

정리하는 공간

리눅스) 쉘 의 환경 설정, 사용자 환경 설정 파일 (feat: alias, history) 본문

리눅스 기초

리눅스) 쉘 의 환경 설정, 사용자 환경 설정 파일 (feat: alias, history)

개구리집 2022. 5. 12. 10:13
반응형

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 명령어를 사용한다.

LIST
Comments