전공/리눅스

리눅스 쉘

vss121 2022. 12. 27. 23:47

 

리눅스 쉘 기본 개념
리눅스의 구조
커널(kernel) 하드웨어를 제어하는 코드를 통해 시스템의 모든 자원을 통제/관리
쉘(shell) 사용자가 입력한 명령어를 커널에게 전달
응용 프로그램 리눅스에 있는 각종 프로그램

* 하드웨어 1) CPU 2) Mem 3) I/O장치

 

 

쉘의 기능

1. 명령어 해석기

- 사용자와 커널 사이에서 명령 해석

2. 프로그래밍

- Shell Programming : 반복적으로 수행하는 작업을 하나의 프로그램으로 제작 가능

- 이러한 프로그램을 Shell Script -> Interptreter  

* Interpreter(Interpret 방식) : txt file(script)을 한 줄씩 번역  <-> Compiler(Compile방식) 한 번에 번역, 실행시간 빠름

3. 사용자 환경 설정

초기화 파일 기능을 이용해 사용자의 환경 설정 가능

ex 로그인할 때 .bash_profile와 같은 초기화 파일이 실행돼 초기 환경이 설정

 

 

로그인 쉘
로그인 쉘 사용자가 로그인했을 때 적용되는 기본 쉘 -> bash shell
서브 쉘 로그인 쉘에서 실행시킨 다른 쉘

* 로그인 쉘 // 비로그인 쉘

 

 

쉘의 종류

1. 본 쉘

2. C 쉘 : 에일리어스, 히스토리 등 사용자 편의 기능 제공

3. 콘 쉘 : C쉘과 달리 본쉘과 호환성 유지하며 (에일리어스, 히스토리 등 사용자 편의 기능 제공)

4. 배시 쉘 : 리눅스의 기본 쉘

5. 대시 쉘 : 본 쉘 대신 사용, POSIX 표준 준수

6. 티시 쉘     7. Z 쉘

 

 

 

쉘 기본 명령어

1. chsh

- change login shell

- 사용자의 로그인 쉘 변경

chsh [옵션] [사용자명]

-s <쉘의 절대경로> : 지정하는 쉘을 앞으로 사용할 로그인 쉘로 변경

 

2. echo

- 화면에 한 줄의 txt 출력

echo [옵션] 문자열

-n : 마지막 줄 바꿈X

 

쉘 특수 문자

1. * 특수 문자

- 임의의 문자열을 나타냄 (모든 것)

- *은 0개 이상의 문자로 대체

 

2. ? 특수 문자

- 길이가 1인 임의의 한 문자

 

3. [ ] 특수 문자

괄호 안에 포함된 한 문자, 범위 지정할 때

 

4. ~ 특수 문자

홈 디렉터리

 

5. - 특수 문자

이전 작업 디렉터리

 

6. | (파이프)  특수 문자

왼쪽 명령의 실행 결과를 오른쪽 명령의 입력으로 전달

 

7. ; 특수 문자

연결된 명령을 왼쪽부터 차례로 실행

 

8. ' ' 특수 문자

감싸진 문자열에서 모든 특수 문자의 기능 제거

 

9. " " 특수 문자

$, ``, | 제외 모든 특수 문자 기능 제거

 

10. ` ` 특수 문자

명령으로 해석할 때 사용

 

11. \ 특수 문자

특수 문자 앞의 \은 일반 문자처럼 취급

 

12. redirection (방향을 바꿈)

> 명령 > 파일명 명령 수행 결과를 파일에 저장, 출력 리다이렉션
>> 명령 >> 파일명 명령 수행 결과를 파일 끝에 추가
< 명령 < 파일명 파일로부터 입력 값을 받음, 입력 리다이렉션

 

 

 

환경 변수

변수 : 시스템/사용자에 의해 사용되는 정보를 저장하기 위한 저장소

쉘 변수 현재의 쉘에서만 확인 가능한 변수 set
환경 변수 모든 쉘에서 공통으로 사용하는 변수 env

 

주요 환경 변수

HISTSIZE 히스토리 저장 크기
HOME 사용자 홈 디렉토리의 절대 경로
LANG 사용 언어
LONGNAME 사용자 계정 이름
PATH 명령을 탐색할 경로
PWD 작업 디렉토리의 절대 경로
SHELL 로그인 쉘

> 특정 변수 출력하기

echo $변수명

> 변수 설정하기

쉘 변수 : 변수명=값

공백 안됨, 공백하면 변수명을 명령어라 생각함

환경 변수 : 쉘 변수 정의 후 export 변수명

> 쉘/환경변수 있는지 확인

set | grep 변수명

export | grep 변수명

> 변수 해제

unset 변수명

 

에일리어스(alias)

- 기존 명령에 별명을 붙여 사용할 수 있는 기능

   
alias 현재 설정된 alias 목록 출력
alias 이름='명령' alias 생성
alias 이름='명령1;명령2' 2개 이상의 명령을 하나의 이름으로 사용할 경우
unalias 이름 alias 해제

 

 

 

히스토리

- 명령 입력 기록 출력

history

- 명령 재실행

   
!! 마지막에 실행한 명령 재실행
!번호 히스토리에 해당 번호의 명령 재실행
!문자열 히스토리에서 해당 문자열로 시작하는 마지막 명령 실행

 

 

설정 파일

 

(배시 쉘) 환경 설정 파일

- 사용자가 로그인할 때마다 자동 실행되는 명령을 저장

- 시스템 환경 설정 파일

   
/etc/profile  
/etc/bash_bashrc  
/etc/profile.d/*sh  

- 사용자 환경 설정 파일

   
~/.profile 로그인 시
~/.bashrc  
~/.bash_logout 로그아웃 시

 

 

 

 

방향키, tab 자주 사용

 

 
 
 
 

'전공 > 리눅스' 카테고리의 다른 글

리눅스 명령어  (0) 2023.01.11
리눅스 파일 속성  (0) 2023.01.10
리눅스 개요  (0) 2023.01.09
리눅스 프로그래밍 개발 환경  (0) 2023.01.09
CentOS + Linux Services  (0) 2023.01.06