본문 바로가기

리눅스

Linux 리눅스 쉘의 여러가지 기능

https://linux.die.net/man/1/bash

 

bash(1): GNU Bourne-Again SHell - Linux man page

bash(1) - Linux man page Name bash - GNU Bourne-Again SHell Synopsis bash [options] [file] Copyright Bash is Copyright © 1989-2009 by the Free Software Foundation, Inc. Description Bash is an sh-compatible command language interpreter that executes comman

linux.die.net

 

특수문자

메타문자

이스케이프문자

 

1.리다이렉션

2.파이프

3.기능

4.변수

5.메타캐릭터

6.히스토리

7.환경파일

8.글로빙

9.패턴

 

 

# 표준 입력/표준출력/표준에러

bash는 세가지 기본적인 입출력이 존재한다

1. stdin       표준 입력  - 0   <

2. stdout    표준 출력  - 1   1 > (생략가능)

3. stderr     표준 에러  - 2  2 >  (꼭표기!)

                 >  덮어쓰기

                >> 이어쓰기

 

-- stdin ------->   bash    ------stdout 1-->

                                      ------stderr 2-->

 

 

w -> 어떤 사용자가 어떤 작업을 하는지 보여준다

 

리다이렉션 -방향재지정

출력되는 어떤 데이터에 대해서  좀 더 편하게 사용하기 위해서

 

표준 입력 <

 

# wall

 

cat > file1 << STOP

 

# cat

 

 

표준 출력 > >>

표준 에러 2> 2>>

표준 출력으로 받아 파일 저장

 

# | PIPE

표준 출력으로 파이프를 통하여 표준 입력으로 넣는것

 

 

2>&1 표준 에러를 표준 출력으로 넘긴다

 

 

표준출력 버퍼를 넘어간 애들만 넘어감

2>&1 표준 에러를 표준 출력으로 넘긴다

기본적으로 표준 출력만 넘어가는데 에러까지 넘어가길 바란다면 표준 에러를 출력으로 만들어 줘야 한다

 

CMD > file1 2>&1 도 자주 사용한다

PIPE는 몇번을 타고 넘어가더라도 표준출력에서 표준입력만 처리하기 때문에

에러를 파이프로 넘길때는 에러를출력으로 넘겨주세요 하는 2>&1 구문을 사용한다

 

here document

cat > file << STOP

hhhh 여기서 멈춰주세요

<<<는 리드라인을 받아쓸때 사용

 

 

 

^d

EOF

쉘을 빠져나가는 기능

 

# set -o ignoreeof

실수로 나가는것을 방지하기 위해 설정

 

# set -o noclobber

덮어쓰기 방지

 

 

> file1  파일 내부의 내용을 지울 때 사용한다

 

 

# 절대경로/ 상대경로

 

절대경로

시작위치가 항상 / 로 부터 시작한다. 나머지 경로를 작성

 

상대경로

시작위치가 현재 작업 디렉토리 (pwd)이다. 현재 위치에서 나머지 경로를 작성

쓸수있는 문자열이 . ..  실제 디렉토리들

. 현재 디렉토리

.. 상위 디렉토리

작업 디렉토에 내부에 존재하는 디렉토리

 

# 쉘 확장

쉘은 각 명령어를 토큰 단위로 분류한다

빈칸이 몇개가 있어도 압축한다(쉘은 white space가 두개이상 있는경우 하나로 압축한다)

근데 나는 띄어쓰는게 필요하다 -> 특수문자 사용

'' 일반 문자열로 인식

"" 일반 물자열로 인식 (인지하는 특수문자가 몇개 존재 \ < 특정 옵션이 필요 ` $ )

 

명령어가 내장 명령어인지 외장 명령어인지??

 

명령어 사용 순서

1. alias

2. type

3.내장

4. PATH 변수 확인

5. PATH 변수에서 처음 나온 명령어를 실행 한다

 

 

 

# alias

 

일반적인 명령어 줄이는 목적보다는 변형한것을 등록하여 사용하자

/etc/bashrc 에 등록하여 사용한다.

 

# 특수문자

&& 

CMD1 && CMD2

CMD1이 참일 경우에 CMD2를 사용한다

 

CMD1 || CMD2

CMD1이 거짓일 경우에 CMD2가 동작

 

CMD1 && CMD2 || CMD3 -> 가능

CMD1 || CMD2 && CMD3 -> 불가능

 

# 주석처리

\뒤는 문자열로 인식

 

 

# 변수

 

 

현재 쉘의 pid

앞의 작업이 정상인지 아닌지

 

아래거는 서브쉘을 실행 할 수 있다 (?)

 

touch {a..z}file

ls [a-z]file

 

 

'리눅스' 카테고리의 다른 글

Linux 리눅스 정리 2  (0) 2021.09.09
Linux 리눅스 정리 1  (0) 2021.09.08
DHCP  (0) 2021.08.12
Linux 리눅스 DNS 서버 구성  (0) 2021.08.11
Linux 리눅스 DNS  (0) 2021.08.11