■ bash 쉘 사용자 환경
♧ 텍스트 기반의 로그인 환경을 이용하든 터미널 윈도우를 이용하든 관계없이,
쉘이 실행된 후에는 쉘을 시작한 유저를 위한 환경으로 초기화 된다.
- bash 쉘은 몇 개의 파일을 통해 사용자 설정을 지원하며,
스타트업(startup) 파일과 초기화 파일 등 두가지 형태를 가짐.
- bash는 모든 로그인 쉘에 대해서 스타트업 파일을 실행.
이 파일은 사용자의 로그인 전체에 걸쳐 적용되는 설정내용을 정의하고 있다.
- bash는 또한 대화식으로 실행되는 쉘을 위해 초기화 파일들을 실행하는데,
이 파일들은 쉘 스크립트로 실행되지 않는다.
▶ 스타트업(startup) 파일
시스템 전역 초기화 파일 : /etc/profile
개인 초기화 파일 : .bash_profile > .bash_login > .profile
(3개 파일이 동시에 존재 할경우 우선순위 별로 하나의 설정 파일만 실행)
※ 다른 리눅스 배포판에서는 시스템 전체에 적용되는 설정 파일을 /etc/profile과 /etc/profile.d/ 디렉토리에 저장. |
▶ 초기화 파일
시스템 전역 초기화 파일 : /etc/bash.bashrc
개인 초기화 파일 : ~/.bashrc
※ 다른 리눅스 배포판에서는 시스템 전체에 영향을 주는 초기화 파일로 /etc/bashrc 를 사용 |
▶ 쉘이 종료될 때: ~/.bash_logout
(파일에 기술되어 있는 모든 명령어들을 실행)
■ bash쉘 history 기능
♧ 히스트로는 과거에 실행했던 명령들을 보거나, 변경하여 재사용할 수 있도록 해주는 기능.
▶ $HISTFILE : 히스토리 파일 설정
$ echo $HISTFILE /home/devanix/.bash_history |
☞ bash는 실행될 때 ~/.bash_history 파일에 기록되어 있는 히스토리를 메모리로 읽어 들임.
bash 세션이 유지되는 동안에 실행되는 명령들은 모두 메모리에 있는 히스토리에 추가.
▶ $HISTSIZE : bash 세션동안 히스토리로 저장되는 명령어의 수
$ echo $HISTSIZE 1000 |
▶ $HISTFILESIZE : 히스토리 파일에 실제적으로 저장되는 명령어의 수
$ echo $HISTFILESIZE 1000 |
▶ history[n] 명령을 실행
$ history 5 975 mkdir extras 976 mv *doc extras/ 977 ls -CF 978 vi house.txt 979 history |
☞ 숫자와 함께 실행하면 최근 실행했던 명령어를 숫자만큼 보여줌.
▶ bash 히스토리로부터 명령어를 호출하여 다시 실행시키는 몇 가지 방법들
$ !! |
이전에 실행한 명령을 다시 실행 |
$ !997 ls -CF |
히스토리에 저장된 997번 명령을 실행 |
$ !997 *doc |
히스토리에 저장된 997번 명령에 *doc를 추가. |
ls -CF *doc |
|
$ !?CF? ls -CF *doc |
이전에 실행된 명령중에 CF문자열을 포함한 명령을 실행 |
$ !ls ls -CF *doc |
이전에 실행한 ls명령을 실행 |
$ !ls:s/CF/l |
이전에 실행된 ls 명령에서 CF문자열을 l로 대체하여 실행 |
ls -l *doc |
▶ fc명령어를 이용한 명령어 히스토리 편집
$ fc 978 |
Edit 978번 명령을 편집한 후에 실행 |
$ fc |
Edit 이전에 실행된 명령을 편집한 후에 실행 |
$ fc -e /usr/bin/nano 989 |
989번 명령을 나노 에디터로 편집 |
(다른 에디터를 사용하고 싶다면 $FCEDIT 환경변수 이용 : 예) $ FCEDIT=vi)
▶ 히스토리 문자열을 검색 : <Ctrl + r>
( <Ctrl + r>반복적으로 누르면 히스토리 목록열 역방향으로 검색)
■ 알리아스(alias) 사용
♧ alias 명령어를사용하여 알리아스를 설정하너가 기존의 알리아스 설정을 볼 수 있다.
일부 알리아스는 앞에서 시스템 또는 사용자 쉘 초기화 파일에 미리 설정 되어 있다.
▶ 현재 설정되어 있는 알리아스를 보기
$ alias alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l='ls -CF' alias la='ls -A' alias ll='ls -alF' alias ls='ls --color=auto' |
▶ 현재 bash 세션에서 자신이 원하는 알리아스 정의
$ alias la='ls -la' |
(~/.bashrc 파일에 앞의 내용을 추가하면, 새로운 bash 세션이 실행될 때마다 적용)
▶ 현재 bash 세션에서 알리아스 제거
$ unalias la |
이전에 만들어진 알리아스 la 명령어 제거 |
$ unalias -a |
만들어져 있는 모든 알리아스 해제 |
'컴퓨터 서적 정리 > Ubuntu Linux Toolbox' 카테고리의 다른 글
[Chap3 #02] - 리눅스 쉘 사용(3) (Redirection, pipe, xargs) (0) | 2011.08.07 |
---|---|
[Chap3 #02] - 리눅스 쉘 사용(2) (watch, tail) (0) | 2011.08.06 |
[Chap3 #01] - 리눅스 가상 콘솔(터미널) 사용 (0) | 2011.08.06 |
[Chap2 #07] - deb 패키지 만들기 (0) | 2011.08.06 |
[Chap2 #06] - debsums를 사용하여 설치된 패키지 검증 (0) | 2011.08.06 |