bash 데이터 흐름 재 설정 및 파이프 (회전)
2985 단어 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), 전재 가 필요 하 시 면 양 쯔 블 로그.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.