빠 른 입문 셸 프로 그래 밍 (4) 파이프라인 문자
3369 단어 Shell빠 른 입문 Shell 프로 그래 밍
파 이 프 는 실제 적 으로 프로 세 스 간 의 통신 도구 이다. 그러면 리 눅 스 명령 에 사용 되 는 것 은 주로 두 명령 이 서로 통신 할 수 있 도록 하 는 것 이다.
파이프 문자
파이프 문자 (익명 파이프) 는 Shell 프로 그래 밍 에 자주 사용 되 는 통신 도구 입 니 다.
파이프 부 호 는 '
|
' 로 주로 두 응용 프로그램 을 연결 한 다음 에 첫 번 째 응용 프로그램의 출력 을 두 번 째 응용 프로그램의 입력 으로 한다.세 번 째 프로그램 이 있다 면 두 번 째 프로그램의 출력 을 세 번 째 프로그램의 입력 으로 유추 할 수 있다.예 를 들 어
ls | grep test.sh
현재 파일 에서 test.sh
파일 을 걸 러 냅 니 다.[root@lincoding /]# ls
bin data etc lib lost+found net opt root selinux sys usr
boot dev home lib64 media mnt proc sbin srv test.sh tmp
[root@lincoding /]# ls | grep test.sh
test.sh
파이프 문자 '
|
' 는 ls
명령 의 파일 목록 을 grep test.sh
명령 에 출력 하여 파일 을 걸 러 냅 니 다.파이프 문자 와 분점 문자
파이프 부 호 는 또 주의해 야 할 부분 이 있 습 니 다. 우 리 는 아래 명령 을 통 해 파이프 부 호 를 사용 할 때 파이프 부 호 는 두 명령 에 하위 프로 세 스 를 생 성 하 는 것 을 관찰 할 수 있 습 니 다.
[root@lincoding /]# cat | ps -f
UID PID PPID C STIME TTY TIME CMD
root 2627 2623 0 14:57 pts/0 00:00:00 -bash
root 88029 2627 0 19:51 pts/0 00:00:00 cat
root 88030 2627 0 19:51 pts/0 00:00:00 ps -f
부모 프로 세 스
bash
의 pid 는 2627
이 고, 하위 프로 세 스 cat
의 pid 는 88029
이 며, 하위 프로 세 스 ps -f
의 pid 는 88030
입 니 다.파이프 부 호 는 연 결 된 명령 에 하위 프로 세 스 를 만 들 수 있 기 때문에 현재 환경 에 영향 을 주지 않 습 니 다.
우 리 는
cd /home/ | ls
명령 으로 다음 과 같이 실행 결 과 를 검증 합 니 다.[root@lincoding /]# cd /home/ | ls
bin data etc lib lost+found net opt root selinux sys usr
boot dev home lib64 media mnt proc sbin srv test.sh tmp
[root@lincoding /]# pwd
/
이상 의 실행 결 과 를 통 해 알 수 있 듯 이 디 렉 터 리 전환
cd
과 같은 현재 환경 에 영향 을 줄 수 있 는 명령 은 파이프 부 호 를 사용 한 후에 현재 환경 에 영향 을 주지 않 습 니 다.분점 '
;
' 을 사용 하여 두 명령 을 연결 하면 어떻게 될까요?[root@lincoding /]# cd /sys/ ; ls
block bus class dev devices firmware fs hypervisor kernel module power
[root@lincoding sys]# pwd
/sys
분점 '
;
' 으로 연결 하면 cd
명령 이 현재 환경 에 영향 을 미 친 다 는 것 을 알 수 있다.작은 매듭
분점 부호 와 파이프 부 호 는 두 명령 을 연결 할 수 있 지만 그 역할 은 다르다.분호 부 호 는 실제 적 으로 두 명령 을 분리 하 는 것 이다. 첫 번 째 조 는 집행 이 끝 났 고 그 다음 에 두 번 째 조 를 집행 했다. 두 명령 사이 에는 아무런 관계 가 없다.
파이프 문자 의 역할 은 첫 번 째 명령 결 과 를 두 번 째 명령 에 전달 하 는 동시에 첫 번 째 명령 과 두 번 째 명령 에 하위 프로 세 스 를 만 드 는 것 입 니 다. 명령 이 하위 프로 세 스에 서 실행 되 기 때문에 명령 이 유사
cd
디 렉 터 리 전환 과 같은 내장 명령 이 있 으 면 현재 환경 에 영향 을 주지 않 습 니 다.따라서 파이프 부 호 를 사용 할 때 는 내장 명령 을 피해 야 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell alias 명령에 별칭을 설정하는 방법명령에 별명을 설정하면 명령의'작은 이름'으로 삼을 수 있지만, 이렇게 하는 것이 무슨 의미가 있습니까? 이때 별명이 작용할 수 있다.vim 명령의 별명을vi라고 정의하면 이후에 실행된vi 명령은 실제로vim 명령을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.