리눅스/리눅스 2급

[리눅스 2급] 셸에 대해 알아보자 (2)

tangent0426 2024. 9. 23. 18:00
728x90
반응형

 


저번시간의 셸의 개념 및 종류에 대한 설명을 해보았다면

이번시간에는 환경설정에 대해 설명해 볼까 합니다.


 

 

[리눅스 2급] 셸에 대해 알아보자(1)

저번 시간에는 파일 시스템 관련 명령어에 대해 알아보았습니다.이번 시간에는 셸의 개념 및 종류와 환경 설정에 대해 알아보려 합니다.  [리눅스 2급] 파일 시스템 관련 명령어에 대해 알아보

tangent0426.tistory.com

 

 

환경변수와 셸 변수

변수는 시스템 환경 정보 저장소로 환경 변수(전역 변수)와 셸 변수(지역 변수)로 구분됩니다.

환경변수(전역 변수) 셸 변수(지역 변수)
전체 셸에서 사용 가능한 전역 변수
서브 셸에 기능 상속 가능
환경변수 확인 명령 : env
현재 로그인 셸에서만 사용 가능한 지역 변수
서브 셸에 기능 상속 불가능
셸 변수 확인 명령 : set

 

주요 환경 변수

변수 기능
PATH  실행할 명령어 경로 검색, 셸 설정 파일 중 하나에 설정
HOME 사용자의 홈 디렉터리 절대 경로
HOSTNAME 호스트명
USER 사용자 이름
DISPLAY X - windows 시스템에서 X 응용 프로그램이 화면 출력을 위해 접속할 X 서버의 주소를 지정
PS1 셸 프롬프트를 선언 시 사용하는 변수
PS2 2차 셸 프롬프트 선언 시 사용하는 변수
PWD 현재 디렉터리의 절대 경로명
SHELL 로그인 셸의 절대 경로명
TERM 터미널 종류의 이름
TMOUT 로그아웃 관련 시간 제어
LANG 프로그램 사용 시 기본 지원 언어
PRINT 기본 프린터(설정이 되어 있으면 ipr에게 알려주지 않아도 됩니다.)
MAIL 도착한 메일이 저장되는 경로

 

환경 변수 설정

명령어 설명
 export 환경 변수 리스트 확인
export 변수명 = 변수값 해당 변수명에 변수값 등록, 셸 변수를 환경 변수로 변경
echo $변수명 변수명에 해당하는 환경 변수 값 확인
export 변수명 =$ 변수명변수값 기존 변수며에 변수 값 추가
unset 변수명 변수 정의 해체

 

프롬프트 설정 형식

셸의 프롬프트 형식을 사용자의 임의대로 변경할 수 있다.

명령어 설명
\t 24시로 현재 시간을 표시
\W 현재 작업 디렉터리의 전체 경로 중 마지막 디렉터리만 표시
\w 현재 작업 디렉터리를 절대 경로로 표시
\s 사용 중인 셸 이름 표시
\u 현재 사용자의 이름을 표시
\h 호스트 이름을 표시

 

환경 설정 파일

셸 시작 시 자동으로 실행되는 고유의 시작 파일이 있으며, 이 파일은 사용자 운영환경을 설정합니다.

배쉬 셸의 시작 파일인 /etc/profile, /etc/bashrc, ~/. bash profile, ~/. bashrc이다.

셸 파일은 전역적 파일과 지역적 파일로 나누어집니다.

 

bash 셸 관련 설정 파일들

환경 설정 파일 기능
전역
설정 파일
/etc/profile 모든 사용자의 셸 환경을 제어하는 전역적인 시스템 설정 파일
환경 변수와 bash가 수행 시 실행된는 프로그램을 제어
관리자만 설정 가능해야 하며 모든 사용자들에게 반영되어야 함
/etc/bashrc 별칭(alias)과 bash가 수행 시 실행되는 함수를 전역적으로 제어
생략되기도 하며 /etc/profile에 내용이 포함되기는 함
지역
설정 파일
~/.bash_profile 개인 사용자의 셸 환경을 제어하는 지역적인 시스템 설정 파일
로그인 시 로딩
~/. bash_history 사용자가 명령어나 키보드로 입력한 내용들을 파일 안에 기록
위/아래 화살표를 사용하여 사용했던 명령어 검색 기능
전에 입력했던 명령어의 재사용이 가능하게 만듬
~/.bashrc 별치(alias)과 bash가 수행 시 실행되는 함수를 지역적으로 제어
~/.bash_logout 로그아웃하기 직전에 실행되는 시스템 설정 파일

디렉터리 /etc/profile.d은 몇몇 응용 프로그램들이 시작 시 자동 실행할 스크립트 파일 경로를 넣어둡니다.

 

배쉬셸(bash shell)의 주요 기능

history 기능

일정 개수(기본 1,000개) 이상 사용했던 명령어를 bash_history에 저장해 두고 다시 불러서 사용할 수 있게 하는 기능입니다.

대부분의 셸은 이전에 입력했던 명령어를 반복하거나 약간 변형하여 다시 사용할 수 있도록 하는 기능을 제공합니다.

이전에 입력했던 명령어들을 다시 입력하지 않아도, 상하 화살표 키만 누르면 다시 사용할 수 있습니다.

이 기능은 복잡하거나 긴 명령어를 입력할 때 유용합니다.

!! 마지막으로 실행했던 명령문 실행
!n n번째 명령어 실행
!-n 현재 명령행에서 n 개수를 뺀 행의 명령어 실행
!string 가장 최근에 'string'으로 시작하는 명령문 실행
!$ 또는 !!$ 마지막 명령의 argument
!* 마지막으로 실행된 명령에 사용된 모든 argument
!?string? 가장 최근에 string을 포함하고 있는 단어를 나타냄

 

History관련 환경 변수는 아래의 표와 같습니다.

HISTSIZE 히스토리 스택의 크기 지정, 지정 시 단위는 명령어 개수
HISTFILE 히스토리 파일 위치
HISTFILESIZE 물리적인 히스토리 파일 크기
HISTTIMEFORMAT 히스토리 명령어 수행 시간 출력 형태 지정
HISTCONTROL 중복되는 명령어에 대한 기록 유무를 지정하는 변수

 

alias 기능

자주 사용하는 명령어를 특정 문자로 입력해 두고 간편하게 사용할 수 있게 하는 기능이다.

명령어 설명
alias 설정되어 있는 별명들 확인
alias 별명 = '명령어 정의' 새로운 별명 정의
xunalias 별명 지정된 별명 해제

 

읽어주셔서 감사합니다.^^

반응형