-
2.쉘자격증/리눅스 마스터 2023. 6. 5. 19:44
본쉘($)과 c쉘(%)로 나뉨
본쉘 (/bin/sh) - 유닉스 기본 쉘, 스티븐 본
콘쉘 (ksh) - AT&T, 데이비드 콘
배쉬셀 (bash) - 리눅스 기본 쉘, 브라이언 폭스, GNU
지쉘 (zsh) - 폴 팔스타드
대시쉘- POSIX
c쉘 (csh) - 빌조이, 히스토리, 별명, 작업제어
tc쉘 (tcsh) - 켄 그리
본 -> c -> tc -> 콘 -> 배쉬 -> z
사용 가능한 쉘은 /etc/shells에
각 계정에 할당된 쉘은 /etc/passwd에
현재 사용자의 쉘 확인은 'echo $SHELL'
ps - 사용중인 쉘 확인
chsh -l = 사용 가능한 쉘 나열
chsh -u = 도움말
chsh -s [] = 로그인 쉘 변경 (유저)
usermod -s [] = (루트)
환경변수 - env
쉘 변수 - set
변수 해제는 unset *unenv없음
export:쉘 변수를 한경변수로
환경변수
- PATH: 실행할 명령어 경로
- TERM: 터미널
- LANG: 기본 언어
- TMOUT: 로그아웃 시간
- SHELL: 쉘 절대경로
- USER: 사용자명
- HOSTNAME: 호스트명
- PS1: 쉘 프롬프트 선언시 사용하는 변수
프롬프트 설정 형식
\w : 절대 경로
\W : 마지막 디렉토리만
s = 쉘 이름, u = 사용자, h = 호스트, t = 24시, d = 요일 월 일
배쉬 셀 시작 파일
-전역 파일: /etc 아래에 존재
-지역 파일: 각 사용자의 홈 디렉토리에 숨김 파일 형태로 존재
/etc/profile - 전역적인 시스템 설정 파일
/etc/profile.d - 스크립트
/etc/bashrc - alias와 bash의 일부 함수
~/.bash_profile - 환경변수 PATH
~/.bash_history - 히스토리
~/.bashrc - alias와 bash의 일부 함수
~/.bash_logout - 로그아웃 직전에 실행되는 시스템 설정 파일
히스토리
!! 마지막 실행한 명령어 수행
!n n번째 명령어 수행
!-n n번째 전 명령어 수행
*history 10 = 최근 입력한 10개
!string string으로 시작하는 가장 최근 명령어 수행
!?string? string이 들어간 명령어 수행
!$ 마지막 명령의 argument
!!$ 동일
!* 마지막 실행된 명령의 모든 argument
히스토리 관련 변수
HISTSIZE = 스택 사이즈
HISTFILE = 히스토리 파일 위치
HISTTIMEFORMAT = 히스토리 명령어 수행 시간 출력 포맷
HISTCONTROL = 중복 명령어 기록 유무 설정
별칭
alias 목록 출력
alias ld='ls-l' 별칭 지정
unalias [ld] 삭제
GB TB PB EB