리눅스의 파이프 문자는 무엇입니까?
Linux에서 파이프 문자는 "|"로, 주로 둘 이상의 명령을 연결하고 하나의 명령의 출력을 다음 명령의 입력으로 사용하는 데 사용됩니다. 구문 "command1 | command2 [ | commandN. .. ]", "|" 문자 왼쪽에 있는 명령의 출력은 "|" 문자 오른쪽에 있는 명령의 입력으로 사용됩니다. 파이프 문자는 연속적으로 사용될 수 있습니다. 첫 번째 명령의 출력은 두 번째 명령의 입력으로 사용되고, 두 번째 명령의 출력은 세 번째 명령의 입력으로 사용됩니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
Shell에는 두 개 이상의 명령(프로그램 또는 프로세스)을 함께 연결하고, 한 명령의 출력을 다음 명령의 입력으로 사용하는 기능도 있습니다. 이렇게 연결된 두 개 이상의 명령이 파이프를 형성합니다. .
Linux 파이프는 수직 막대|
를 사용하여 파이프 문자라고 하는 여러 명령을 연결합니다.
command1 | command2 command1 | command2 [ | commandN... ]
두 명령 사이에 파이프가 설정되면 파이프 기호 | 왼쪽 명령의 출력이 오른쪽 명령의 입력이 됩니다. 첫 번째 명령이 표준 출력에 쓰고 두 번째 명령이 표준 입력에서 읽는 한 두 명령은 파이프를 형성할 수 있습니다. 대부분의 Linux 명령을 사용하여 파이프를 형성할 수 있습니다.
파이프 문자는 연속적으로 사용될 수 있습니다. 첫 번째 명령의 출력은 두 번째 명령의 입력으로 사용되고, 두 번째 명령의 출력은 세 번째 명령의 입력으로 사용됩니다.
여기서 command1은 올바른 출력을 가져야 하며 command2는 command2의 출력 결과를 처리할 수 있어야 하며 command2는 command1의 올바른 출력 결과만 처리할 수 있지만 다음의 오류 메시지는 처리할 수 없다는 점에 유의해야 합니다. 명령1.
예: hello.sh 파일을 정렬하고 중복 제거 후 "better"가 포함된 줄을 찾습니다. 명령은 다음과 같습니다. cat hello.sh | sort | grep 'better'
텍스트 보기
Sort- 중복 제거
- Filter
【1】첫 번째 단계 - 텍스트 보기 먼저 cat 명령을 사용하여 텍스트를 확인하고, 화면에 인쇄되는 내용은 cat 명령의 출력입니다.
[root@linuxforliuhj test]# cat hello.sh hello this is linux be better be better i am lhj hello this is linux i am lhj i am lhj be better i am lhj have a nice day have a nice day hello this is linux hello this is linux have a nice day zzzzzzzzzzzzzz dddddddd gggggggggggggggggggg [root@linuxforliuhj test]#
【2】두 번째 프로세스 - 정렬
이전 cat 명령으로 출력된 결과가 파이프라인을 통해 sort 명령으로 전달되므로 sort 명령은 이전 cat 명령으로 출력된 텍스트를 정렬합니다
[root@linuxforliuhj test]# cat hello.sh | sort be better be better be better dddddddd gggggggggggggggggggg have a nice day have a nice day have a nice day hello this is linux hello this is linux hello this is linux hello this is linux i am lhj i am lhj i am lhj i am lhj zzzzzzzzzzzzzz [root@linuxforliuhj test]#
【3】 세 번째 프로세스 프로세스 - Deduplication
이전 uniq 소개 글에서 언급했듯이 sort는 uniq와 함께 사용하면 효과적으로 중복 제거가 가능하므로 sort별로 출력된 텍스트는 파이프라인을 통해 처리하기 위해 uniq로 보내지므로 uniq는 sorted를 처리합니다. text., 중복을 효과적으로 제거할 수 있습니다
[root@linuxforliuhj test]# cat hello.sh | sort | uniq be better dddddddd gggggggggggggggggggg have a nice day hello this is linux i am lhj zzzzzzzzzzzzzz [root@linuxforliuhj test]#
【4】네 번째 프로세스 - 필터링
필터링의 마지막 단계는 이전 명령인 uniq 명령
[root@linuxforliuhj test]# cat hello.sh | sort | uniq | grep 'better' be better [root@linuxforliuhj test]#
여기에 중요한 점이 있습니다!
여기에 중요한 점이 있습니다!
위의 cat, sort, uniq, grep 및 기타 명령은 모두 파이프 문자를 지원합니다. 표준 입력에서 처리됩니다(즉, rm, kill 및 기타 명령과 같은 일부 명령의 경우 표준 입력에서 매개변수 읽기를 지원하지 않고 명령줄에서 매개변수 읽기만 지원합니다). (즉, rm 명령 파일이나 디렉터리 뒤에 delete를 지정해야 하고, kill 명령 뒤에 kill할 프로세스 번호를 지정해야 하는 등)
그러면 어떤 명령이 파이프를 지원하는지, 어떤 명령이 있는지 파이프를 지원하지 않습니까?
일반적으로 sort, uniq, grep, awk, sed 등과 같이 텍스트를 처리하는 명령은 모두 파이프를 지원하고, rm 및 ls와 같이 텍스트를 처리하지 않는 명령은 파이프를 지원하지 않습니다.
표준 입력 매개변수와 명령줄 매개변수 중 무엇이 우선합니까?[root@linuxforliuhj test]# cat hello.sh | sort be better be better be better dddddddd gggggggggggggggggggg have a nice day have a nice day have a nice day hello this is linux hello this is linux hello this is linux hello this is linux i am lhj i am lhj i am lhj i am lhj zzzzzzzzzzzzzz [root@linuxforliuhj test]#로그인 후 복사로그인 후 복사있습니다. sort 이후에 매개변수가 없으면 파이프 문자에 의해 던져진 이전 명령의 출력이 처리됩니다(즉, 이전 명령의 표준 출력이 이 명령의 표준 입력으로 사용됩니다)
파일이 rm 후에 삭제가 지정되지 않으면 오류가 보고됩니다. 매개변수가 손실되므로 rm과 같은 명령은 표준 입력에서 매개변수 읽기를 지원하지 않습니다. 이는 명령줄에서 매개변수 지정, 즉 삭제할 파일 지정만 지원합니다.[root@linuxforliuhj test]# ls beifen.txt hello.sh mk read.ln read.sh read.txt sub.sh [root@linuxforliuhj test]# ls | grep read.sh read.sh [root@linuxforliuhj test]# ls | grep read.sh | rm rm: missing operand Try 'rm --help' for more information. [root@linuxforliuhj test]#로그인 후 복사
다음 두 파일이 있습니다[root@linuxforliuhj test]# cat a.txt
aaaa
dddd
cccc
bbbb
[root@linuxforliuhj test]# cat b.txt
1111
3333
4444
2222
[root@linuxforliuhj test]#
로그인 후 복사명령을 실행합니다: cat a.txt | sort
[root@linuxforliuhj test]# cat a.txt aaaa dddd cccc bbbb [root@linuxforliuhj test]# cat b.txt 1111 3333 4444 2222 [root@linuxforliuhj test]#
[root@linuxforliuhj test]# cat a.txt | sort aaaa bbbb cccc dddd [root@linuxforliuhj test]#
sort의 명령줄 매개변수가 비어 있으면 이전 명령의 출력이 이 명령의 입력으로 사용됩니다. 기본적으로
실행 명령: cat a.txt | sort b.txt
[root@linuxforliuhj test]# cat a.txt | sort b.txt 1111 2222 3333 4444 [root@linuxforliuhj test]#
sort의 명령줄 매개변수(여기서는 b.txt)가 비어 있지 않으면 sort가 표준 입력의 매개변수를 읽지 않는다는 것을 알 수 있습니다. , 그리고 명령줄 매개변수를 읽을 때
명령을 실행합니다: cat a.txt | sort b.txt -
[root@linuxforliuhj test]# cat a.txt | sort b.txt - 1111 2222 3333 4444 aaaa bbbb cccc dddd [root@linuxforliuhj test]#
" - "표준 입력, 즉 cat a.txt 명령의 출력을 나타냅니다. b.txt 파일과 표준 입력을 함께 사용하는 것과 같습니다. 정렬은 a.txt b.txt를 정렬하는 것과 같습니다
[root@linuxforliuhj test]# sort a.txt b.txt 1111 2222 3333 4444 aaaa bbbb cccc dddd [root@linuxforliuhj test]#
思考:对于rm、kill等命令,我们写脚本时常常会遇到需要查询某个进程的进程号然后杀掉该进程,查找某个文件然后删除它这样的需求,该怎么办呢?那就用xargs吧!
相关推荐:《Linux视频教程》
위 내용은 리눅스의 파이프 문자는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Linux는 서버, 개발 환경 및 임베디드 시스템에 적합합니다. 1. 서버 운영 체제로서 Linux는 안정적이고 효율적이며 종종 고 대전성 애플리케이션을 배포하는 데 사용됩니다. 2. 개발 환경으로서 Linux는 효율적인 명령 줄 도구 및 패키지 관리 시스템을 제공하여 개발 효율성을 향상시킵니다. 3. 임베디드 시스템에서 Linux는 가볍고 사용자 정의 가능하며 자원이 제한된 환경에 적합합니다.

Oracle에서 인스턴스 이름을 보는 세 가지 방법이 있습니다. 명령 줄에 명령. "show instance_name"을 사용하십시오. sql*plus의 명령. 운영 체제의 작업 관리자, Oracle Enterprise Manager 또는 운영 체제를 통해 환경 변수 (Linux의 Oracle_Sid)를 확인하십시오.

Linux에서 Docker를 사용하면 개발 및 배포 효율성을 향상시킬 수 있습니다. 1. Docker 설치 : 스크립트를 사용하여 Ubuntu에 Docker를 설치하십시오. 2. 설치 확인 : Sudodockerrunhello-World를 실행하십시오. 3. 기본 사용 : Nginx 컨테이너 생성 Dockerrun-Namemy-Nginx-P8080 : 80-Dnginx. 4. 고급 사용 : DockerFile을 사용하여 사용자 정의 이미지를 만들고 빌드 및 실행하십시오. 5. 최적화 및 모범 사례 : 다단계 빌드 및 dockercompose를 사용하여 Dockerfiles를 작성하기위한 모범 사례를 따르십시오.

Apache 80 포트가 점유되면 솔루션은 다음과 같습니다. 포트를 차지하고 닫는 프로세스를 찾으십시오. 방화벽 설정을 확인하여 Apache가 차단되지 않았는지 확인하십시오. 위의 방법이 작동하지 않으면 Apache를 재구성하여 다른 포트를 사용하십시오. Apache 서비스를 다시 시작하십시오.

Apache를 시작하는 단계는 다음과 같습니다. Apache 설치 (명령 : Sudo apt-get Apache2를 설치하거나 공식 웹 사이트에서 다운로드) 시작 apache (linux : sudo systemctl start : windes (선택 사항, Linux : Sudo SystemCtl

Oracle 청취자를 시작하는 단계는 다음과 같습니다. Windows의 리스너 상태 (LSNRCTL 상태 명령 사용)를 확인하고 Linux 및 UNIX의 Oracle Services Manager에서 "TNS 리스너"서비스를 시작하고 LSNRCTL 시작 명령을 사용하여 리스너가 LSNRCTL 명령을 사용하여 리스너가 시작되었음을 확인하십시오.

이 기사에서는 데비안 시스템에서 NGINX 서버의 SSL 성능을 효과적으로 모니터링하는 방법에 대해 설명합니다. NginxOxporter를 사용하여 Nginx 상태 데이터를 프로 메테우스로 내보낸 다음 Grafana를 통해 시각적으로 표시합니다. 1 단계 : nginx 구성 먼저 Nginx 구성 파일에서 stub_status 모듈을 활성화하여 nginx의 상태 정보를 얻어야합니다. nginx 구성 파일에 다음 스 니펫을 추가하십시오 (일반적으로 /etc/nginx/nginx.conf에 있거나 포함 파일에 위치) : location/nginx_status {stub_status

이 기사는 데비안 시스템에서 재활용 빈을 구성하는 두 가지 방법 인 그래픽 인터페이스와 명령 줄을 소개합니다. 방법 1 : Nautilus 그래픽 인터페이스를 사용하여 파일 관리자를 엽니 다. 데스크탑 또는 응용 프로그램 메뉴에서 Nautilus 파일 관리자 (일반적으로 "파일")를 찾아 시작하십시오. Recycle Bin 찾기 : 왼쪽 탐색 표시 줄에서 재활용 빈 폴더를 찾으십시오. 찾을 수없는 경우 검색하려면 "기타 위치"또는 "컴퓨터"를 클릭하십시오. 재활용 빈 속성을 구성하십시오 : "Recycle Bin"을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택하십시오. 속성 창에서 다음 설정을 조정할 수 있습니다. 최대 크기 : 재활용 빈에서 사용 가능한 디스크 공간을 제한하십시오. 유지 시간 : 재활용 쓰레기통에서 파일이 자동으로 삭제되기 전에 보존을 설정합니다.
