728x90
리눅스 Shell 명령어
1. 리눅스 Shell
Shell
Shell
- 명령어 해석기
- 사용자가 프롬프트에 입력한 명령을 해석해서 운영체제에게 전달
Shell의 종류
Bourne shell (sh) | AT&T 벨 연구소의 스티븐 본이 개발한 오리지널 셸 |
C Shell (csh, tcsh) | Bill joy가 C언어의 기술을 넣어 만든 셸 C언어의 문법을 적용 |
Korn shell (ksh) | David Kom이 기존 sh에 csh의 기능을 포함시켜 생성 |
Bourne-again shell (bash) | GNU Project로 만들어 짐 csh, ksh이 가진 기능을 포함하면서 sh와 호환성을 많이 높임 |
사용 가능 한 Shell 리스트 확인하기
cat /etc/shells
현재 로그인 한 Shell 확인하기
echo $SHELL
Bash Shell의 변수
Shell의 변수
- 데이터를 넣는 그릇
- 선언 할 필요없이 사용 가능
- 변수명은 문자, 숫자, _(언더바)로 구성됨 반드시 문자나 언더바로 시작
변수 선언
변수 이름 = 변수 내용
var = 1234
변수 확인
echo var
변수 제거
unset var
환경 변수
- 동작 되는 프로그램에 영향을 주는 변수
- 일반 변수와 저장되는 곳이 다르기 때문에 로그아웃해도 사라지지 않고 남아 있음
환경 변수 선언
export var = 1234
환경 변수 확인
env
자주 쓰이는 환경 변수
PATH | 명령어 탐색 경로 |
HOME | 홈 디렉토리의 경로, cd 명령 실행 시 적용 |
USER | 로그인 사용자 이름 |
SHELL | 로그인 shell의 이름 |
.bashrc
- bash에서 작업할 때마다 수행되는 파일
- 별칭(alias)와 bash가 수행될 때 실행되는 함수를 제어하는 시스템 설정과 관련된 파일
- 별칭과 함수들은 오직 해당 사용자에게만 한정되고, 그 이외의 다른 사용자에게는 영향을 미치지 않음
Alias
Shell의 Alias
- shell의 명령에 새로운 이름을 부여
- 명령들을 조합하여 새로운 이름의 명령을 생성
- 로그아웃하면 사라지지만 .bashrc에 기록하면 로그아웃해도 남아 있음
Alias 등록
alias name = 'command'
Alias 확인
alias
alias 이름
Alias 삭제
unalias 이름
.bashrc에 등록
echo "alias name = 'command'" >> ~/.bashrc
source ~/.bashrc
Shell의 프롬프트
- PS1 변수를 이용해 Shell의 기본 프롬프트 모양을 설정
- Bash Shell에서만 Prompt 모양에 적용 가능한 특수 문자가 존재
\n | 호스트 이름 | \W | 상대경로 (local) |
\u | 사용자 이름 | \d | 오늘 날짜 |
\w | 절대경로 (full) | \t | 현재 시간 |
\$ | $ 또는 # 프롬프트 모양 |
Shell의 Redirection
STDIN | 0< | 0<< | 입력을 키보드가 아닌 파일을 통해 받음 |
STDOUT | 1> | 1>> | 표준 출력을 터미널이 아닌 파일로 출력 |
STDERR | 2> | 2>> | 표준 에러 출력을 터미널이 아닌 파일로 출력 |
- > : 내용이 있으면 덮여쓰여짐 (overwrite)
- >> : 밑에 추가 (append)
Shell의 파이프라인
Pipeline
명령의 실행 결과를 다음 명령의 입력으로 전달
command1 | command2 | command3
반응형
'🌏 OS > Linux' 카테고리의 다른 글
[Linux] 리눅스 쉘 프로그래밍 (2) (0) | 2023.03.14 |
---|---|
[Linux] 리눅스 쉘 프로그래밍 (1) (0) | 2023.03.13 |
[Linux] 리눅스 프로세스 관리 (0) | 2023.03.13 |
[Linux] 리눅스 텍스트 처리 (0) | 2023.03.13 |
[Linux] 리눅스 기본 명령어 2. 디렉토리, 파일 조작 (0) | 2023.03.13 |