bash 데이터 흐름 재 설정 및 파이프

bash (Bourne - Again SHell) 는 현재 많은 Linux 시스템 의 기본 셸 로 강력 한 기능 을 가지 고 사람들 이 Linux 시스템 을 조작 하고 사용 할 수 있 도록 한다.
bash 에서 사용 하 는 특수 기 호 는 다음 과 같다.
기호.
내용.
#
주석 기 호 는 script 에서 가장 많이 사용 되 며 설명 으로 간주 합 니 다.그 후의 데 이 터 는 모두 실행 되 지 않 는 다.
전의 기호, 특수 문자 나 어댑터 를 일반 문자 로 복원
|
파이프 (pipe), 두 파이프 명령 의 구분
;
연속 명령 실행 구분자, 연속 명령 의 정의
$
변수 전도 부 호 를 적용 합 니 다. 즉, 변수 전에 추가 해 야 할 변수 대체 값 입 니 다.
&
작업 제어 (job control), 명령 을 배경 으로 이동 합 니 다.
> 와 >>
데이터 흐름 재 설정, 출력 마법사, 각각 '교체' 와 '누적' 입 니 다.
< 와 <<
데이터 흐름 재 설정, 입력 마법사, 각각 "키보드 입력"과 "입력 종료"
' '
작은 따옴표, 변수 교체 기능 이 없습니다.
""
따옴표
` `
먼저 실행 할 수 있 는 명령, $() 를 사용 할 수 있 습 니 다.
( )
하위 셸 의 시작 과 끝
{ }
명령 블록 조합
1. 출력 방향 변경
예 를 들 어 설명:
#            (stdout)        test.txt   
#  test.txt     ,   
$ ls -al ~ > ~/test.txt

#                    test.txt    (        )
$ ls -al ~ >> ~/test.txt

#           test.txt ,           test2.txt ,          
$ ls -al /test/ >> ~/test.txt 2>> ~/test2.txt

#                     test.txt ,    
$ find /home/ -name "test.txt" &>> ~/test.txt                   #    
$ find /home/ -name "test.txt" >> ~/test.txt 2>>&1              #    
$ find /home/ -name "test.txt" >> ~/test.txt 2>> ~/test.txt     #    

#           ,             
$ find /home/ -name "test.txt" 2> /dev/null

2. 재 설정 입력
< 의 역할: 키보드 입력 대신 텍스트 파일 내용 이나 장치 원본 사용
<< 의 역할: 입력 종료 (자주 사용 되 지 않 음)
예 를 들 어 설명:
#        test3.txt,    /home/lsy/,  end      
$ cat > test3.txt << "end"
> /home/lsy/
> end                
$                    ,  test3.txt  

#             ls -al /home/lsy/
$ ls -al < test3.txt

3. 파이프
파이프 | 두 명령 을 연결 하 는 데 사 용 됩 니 다. 즉, "|"왼쪽 명령 의 표준 출력 으로 오른쪽 명령 의 표준 입력 으로 다음 과 같 습 니 다.
command1 | command2 | command3
stdout1  => stdin2
            stdout2 => stdin3

파이프 명령 은 표준 출력 만 처리 하고 표준 오류 출력 은 무시 합 니 다.그리고 파이프 오른쪽 명령 은 less, more, grep, cut 등 표준 입력 을 받 을 수 있어 야 하 며, ls, cp, mv 등 명령 은 표준 입력 을 받 을 수 없 기 때문에 파이프 오른쪽 에 놓 을 수 없습니다.
예 를 들 어:
rpm -qa --last | less     # less       

4. 양 방향 재 설정
명령 tee 는 표준 출력 을 캡 처 할 수 있 습 니 다 (표준 오류 출력 을 캡 처 할 수 없습니다). 파일 이나 장치 에 전송 하 는 동시에 표준 출력 으로 다음 단계 에 계속 전달 합 니 다.용법 은 다음 과 같다.
tee [-a] file/device
-a :       ,      file 

#  ls -al              test.txt ,       
$ ls -al | tee -a test.txt

#  ls -al              test.txt ,       ( less    )
$ ls -al | tee -a test.txt | less

#  ls -al           test.txt、test2.txt ,        
$ ls -al | tee -a test.txt >> test2.txt

이 저작권 협의 (Use License) 를 따 르 십시오. 전재 가 필요 하 시 면 양 쯔 블 로그 에서 온 것 을 밝 혀 주 십시오.

좋은 웹페이지 즐겨찾기