OS/Linux - Ubuntu

[Linux - 리눅스 / Ubuntu - 우분투] 쉘 요약(쉘 설정, 쉘 특수 문자, 리다이렉션, 쉘 변수, 환경 변수, 에일리어스, 히스토리)

주누다 2015. 1. 29. 00:31
반응형

- 사용자와 리눅스 커널 사이에 중간자 역할을 수행

- 명령어 해석기 기능, 프로그래밍 기능, 사용자 환경 설정 기능을 제공

- 종류는 본 쉘, 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 

- 로그아웃 시 실행할 필요가 있는 함수 등을 실행 




반응형