쉘
- 사용자와 리눅스 커널 사이에 중간자 역할을 수행
- 명령어 해석기 기능, 프로그래밍 기능, 사용자 환경 설정 기능을 제공
- 종류는 본 쉘, C 쉘, 콘 쉘, 배시 쉘 등이 있음
- 로그인 쉘과 지정과 변경
=> '/etc/passwd' 파일에 로그인쉘을 지정
=> 'chsh' 명령으로 변경할 수 있음.
쉘 특수 문자
특수 문자 |
기능 |
예 |
* |
임의의 문자 또는 문자열 |
$ ls t* |
? |
임의의 한 문자 |
$ ls t?.txt |
[] |
한 문자의 위치를 위한 문자의 범위 표시 |
$ ls [0-9]* |
~ |
홈 디렉터리 |
$ cd ~ or ~[user] |
- |
이전 작업 디렉터리 |
$ cd - |
; |
한 행에 여러 개의 명령 입력 |
$ date;ls;pwd |
| |
왼쪽 명령의 결과를 오른쪽 명령의 입력으로 전달 |
$ ls -al | more |
'' |
모든 쉘 문자 무시 |
$ echo '$HOME' |
"" |
$, `, \ 을 제외한 모든 쉘 문자 무시 |
$ echo "$HOME" |
`` |
쉘 명령 실행 |
$ echo `date` |
\ |
특수 문자 기능 제거 |
$ echo "\$HOME" |
입출력 방향 바꾸기(리다이렉션)
- 출력 방향 바꾸기 : >, >>
ex) ls -al > ls.out
- 오류 방향 바꾸기 : 2>
ex) find ~ -name tmp.txt 2> /dev/null
- 입력 방향 바꾸기 : <
ex) cat < out.txt
쉘 변수와 환경 변수
- 지정한 쉘에서만 사용할 수 있는 쉘 변수
- 전체 쉘에서 사용할 수 있는 환경 변수
동작 |
설정 방법 |
예 |
변수 정의 |
- [쉘 변수] 변수 이름=문자열 - [환경 변수] exort 변수 이름=문자열 |
$ data=321 $ export PS="Linux $" |
변수 정의 해제 |
unset 변수 |
$ unset data |
전체 변수 출력 |
set, env |
$ set |
특정 변수 출력 |
echo $변수 |
$ echo $HOME |
주요 환경 변수
환경 변수 |
의미 |
HISTSIZE |
- 히스토리 저장 크기 |
HOME |
- 사용자 홈 디렉터리의 절대 경로 |
LANG |
- 사용하는 언어 |
LOGNAME |
- 사용자 계정 이름 |
PATH |
- 명령을 탐색할 경로 |
PWD |
- 작업 디렉터리 절대 경로 |
SHELL |
- 로그인 쉘 |
에일리어스와 히스토리
- 에일리어스 : 명령에 따른 다른 별칭을 붙이는 것
- 히스토리 : 사용한 명령을 기억했다가 재실행하는 기능
에일리어스 생성 |
alias 이름="명령" |
$ alias ls="ls -lF" |
에일리어스 해제 |
unalias 에일리어스 |
$ unalias ls |
히스토리 목록 보기 |
history |
이전 명령 불러오기 |
!c !120 |
명령 편집 |
화살표 키를 사용하여 명령을 불러오고 수정 |
프롬프트 설정
- 프롬프트는 환경 변수 PS1에 값을 지정
- 터미널을 제어하는 특수 문자를 사용하면 컬러 프롬프트를 만들 수 있음
ex) PS1="\[\e[33;45;7m\] \u@\h $ \[\e[0;0m\]"
환경 설정 파일
- '시스템 환경 설정 파일' 과 '사용자 환경 설정 파일' 로 구분
- 로그인 시 '시스템 환경 설정 파일' -> '사용자 환경 설정 파일' 순서로 실행
- 배시 쉘의 시스템 환경 설정 파일
파일 |
기능 |
/etc/profile |
본 쉘이나 본 쉘과 호환되는 모든 쉘에 공통으로 적용되는 .profile 파일 - 배시 쉘의 경우 '/etc/bash.bashrc' 파일을 실행 - 배시 쉘이 아닌 경우 프롬프트를 #(root 사용자)나 $(일반 사용자)로 설정 - '/etc/profile.d/*.sh" 파일을 실행 |
/etc/bash.bashrc |
시스템 공통으로 적용되sms .bashrc 파일 - 기본 프롬프트를 설정 - sudo 명령과 관련된 힌트를 설정 |
/etc/profile.d/*.sh |
- 언어나 명령별로 각각 필요한 명령을 설정 - 필요시 설정 파일을 추가 |
- 배시 쉘의 사용자 환경 설정 파일
파일 |
기능 |
~/.profile |
- 경로 추가 등 사용자가 정의하는 환경을 설정 - .bashrc 파일이 있으면 실행 |
~/.bashrc |
- 히스토리의 크기를 설정 - 기본 에일리어스나 함수 등을 설정 |
~/.bash_aliases |
- 사용자가 정의한 에일리어스를 별도 파일로 저장 |
~/.bash_logout |
- 로그아웃 시 실행할 필요가 있는 함수 등을 실행 |
'OS > Linux - Ubuntu' 카테고리의 다른 글
[Linux - 리눅스 / Ubuntu - 우분투] 파일 접근 권한 (0) | 2015.02.08 |
---|---|
[Linux - 리눅스 / Ubuntu - 우분투] 파일의 속성 - file, groups (0) | 2015.02.07 |
[Linux - 리눅스 / Ubuntu - 우분투] 환경 설정 파일 (0) | 2015.01.28 |
[Linux - 리눅스 / Ubuntu - 우분투] 프롬프트, 컬러 프롬프트 설정 - 이스케이프 이용 (0) | 2015.01.23 |
[Linux - 리눅스 / Ubuntu - 우분투] 에일리어스와 히스토리 - alias, history (0) | 2015.01.14 |