링크 ux 에 깊이 들 어가 방향 을 바 꾸 고 파이프 에 대한 상세 한 설명


다시 정 하 다
1.1      리 셋 기호 >    출력 을 파일 이나 장치 로 바 꾸 어 원래 파일 을 덮어 씁 니 다 >!   출력 을 파일 이나 장치 로 변경 하여 원래 파일 을 강제로 덮어 씁 니 다 >>             출력 을 파일 이나 장치 로 바 꾸 어 원래 파일 을 추가 합 니 다.
 
 
1.2 표준 오류 리 셋 기호 2 >  표준 오류 출력 을 파일 이나 장치 로 바 꾸 어 원래 파일 을 덮어 씁 니 다.  b-shell 2>>  표준 오류 출력 을 파일 이나 장치 로 재 설정 하여 원래 파일 2 > & 1 에 추가 합 니 다.  표준 오류 출력 을 표준 출력 주석 으로 재 설정 합 니 다: 1 표준 출력 을 대표 할 수 있 습 니 다 > &    표준 오류 출력 을 파일 이나 장치 로 바 꾸 어 원래 파일 을 덮어 씁 니 다.  c-shell |&   표준 오류 파 이 프 를 다른 명령 으로 입력 합 니 다.
 
1.3 명령 재 가이드 예 시 는 bash 명령 이 실행 되 는 과정 에서 주로 세 가지 출력 이 들 어 오 는 상황 이 있 는데 그것 이 바로 1. 표준 입력 이다.코드 0;stdin 이 라 고도 부 릅 니 다.사용 하 는 방식 은 < 2. 표준 출력: 코드 는 1;stdout 이 라 고도 부 릅 니 다.사용 하 는 방식 은 1 > 3 입 니 다. 오류 출력: 코드 는 2 입 니 다.stderr 라 고도 부 릅 니 다.사용 하 는 방식 은 2 >
예:
[test @test test]# ls -al > list.txt
#          list.txt    ,            !

[test @test test]# ls -al >> list.txt
#          list.txt    ,       ,     !

[test @test test]# ls -al  1> list.txt   2> list.err
#      ,       list.txt          list.err

[test @test test]# ls -al 1> list.txt 2> &1
#      ,            list.txt   !                ,           !        !

[test @test test]# ls -al 1> list.txt 2> /dev/null
#      ,       list.txt           ! /dev/null ,         。  ,    。

 
1.4 화면 에서 출력 하 는 정보 가 중요 하고 우리 가 그 를 저장 해 야 할 때 명령 출력 을 사용 하 는 이 유 는 무엇 입 니까?배경 실행 중인 프로그램 이 화면의 정상 적 인 출력 결 과 를 방해 하지 않 기 를 원 하지 않 을 때;일부 시스템 의 예행 명령 (예 를 들 어/etc/crontab 에 적 힌 파일) 의 실행 결 과 를 저장 할 수 있 기 를 바 랄 때;일부 명령 을 실행 합 니 다. 우 리 는 그 가 가능 한 오류 메 시 지 를 알 고 있 기 때문에 "2 >/dev/null"로 그 를 버 리 려 고 할 때;오류 메시지 와 정확 한 메 시 지 를 각각 출력 해 야 할 때.
 
2. 파이프라인 명령 (pipe)
앞에서 말 한 바 와 같이 bash 명령 이 실 행 될 때 출력 된 데이터 가 나타 납 니 다. 이 데 이 터 는 몇 가지 절 차 를 거 쳐 야 우리 가 원 하 는 형식 을 얻 을 수 있 습 니 다. 어떻게 설정 해 야 합 니까?이것 은 파이프라인 명령 과 관련 된 문제 입 니 다 (pipe). 파이프라인 명령 은 "|"을 사용 합 니 다.
 
예: 간단 한 파이프라인 명령 은 우리 가 last 라 는 명령 에서 루트 가 로그 인 한 '횟수' 를 읽 으 려 면 어떻게 해 야 합 니까?
그러면 제 가 진행 하 는 절 차 는 1. last 를 실행 하고 이 달의 모든 사람 을 데이터 에 로그 인하 여 꺼 내 는 것 입 니 다.2. grep 를 사용 하여 위의 출력 데이터 (stdout) 중의 root 를 캡 처 하고 다른 것 은 필요 하지 않 습 니 다.3. wc 라 는 줄 수 를 계산 할 수 있 는 명령 을 사용 하여 이전 단계 의 데 이 터 를 줄 수 를 계산 합 니 다!last 의 출력 은 한 줄 이 한 번 의 로그 인 을 대표 하기 때문에 몇 줄 만 계산 하면 몇 번 의 로그 인 을 의미 합 니 다. 위의 세 단 계 를 거 쳐 last 데 이 터 를 점차적으로 선별 하면 우리 의 데 이 터 를 얻 을 수 있 습 니 다!전체 명령 은 다음 과 같이 쓸 수 있 습 니 다. [test @ test bin]\# last | grep root | wc - l 이 파이프라인 명령 "|"은 앞의 명령 을 통 해 전 달 된 정확 한 정보, 즉 standard output (stdOUT) 의 정보 만 처리 할 수 있 습 니 다. stdandard error 에 대해 서 는 직접 처리 할 능력 이 없습니다.
 
2.1 기본 라인 명령 어 소개
cut 문법: [root @ test/root]\# cut - d "구분자"[- cf] fields 매개 변수 설명: - d: 뒤에 연 결 된 것 은 구분자 입 니 다. 미리 설 정 된 것 은 "공백 문자"- c: 뒤에 연 결 된 것 은 "몇 번 째 문자"- f: 뒤에 연 결 된 것 은 몇 번 째 블록 입 니까?
범례:
[root @test /root]# cat /etc/passwd | cut -d ":" -f 1
#  passwd       ,       :        ,        !        !
[root @test /root]# last | cut -c1-20
#  last      ,     1-20       !

 
sort 문법: [root @ test/root]\# sort [- t 구분자] [(+ 시작) (- 끝)] [- nru] 매개 변수 설명: - t 구분자: 구분자 로 서로 다른 구간 을 구분 하고 tab + start - end 를 미리 설정 합 니 다. start 구간 에서 end 구간 으로 정렬 합 니 다. - n: '순수 숫자' 로 정렬 합 니 다 (그렇지 않 으 면 문자 형태 로 정렬 합 니 다) - r: 역방향 정렬 - u: 같은 줄 입 니 다.한 번 만!
범례:
[root @test /root]# cat /etc/passwd | sort   #           !
[root @test /root]# cat /etc/passwd | sort -t: +2n   #      ,     ID    (  :    ,     ID ,        0   )
[root @test /root]# cat /etc/passwd | sort -t: +2nr   #     !

 
wc 문법: [root @ test/root]\# wc [- lmw] 매개 변수 설명: - l: 몇 줄 - m: 몇 글자 - w: 몇 글자
범례:
[root @test /root]# cat /etc/passwd | wc -l  #          ?
[root @test /root]# cat /etc/passwd | wc -w  #          !?

 
uniq
이 명령 은 "중 복 된 줄 을 삭제 하고 하나만 표시 합 니 다"문법: [root @ test/root]\# uniq
범례:
[root @test /root]# last | cut -d" " -f1 | sort | uniq

 
tee
명령 을 파일 로 바 꾸 는 동시에 데 이 터 를 화면 에 표시 합 니 다 문법: [root @ test/root]\# last | tee last. list | cut - d "- f1
범례:
[root @test /root]# last | tee last.list | cut -d " " -f1

 
tr 문법: [root @ test/root]\# tr [- ds] SET 1 매개 변수 설명: - d: SET 1 이라는 문자열 삭제 - s: 중 복 된 문 자 를 대체 합 니 다!
범례:
[root @test /root]# last | tr '[a-z]' '[A-Z]' #<==       
[root @test /root]# cat /etc/passwd | tr -d : #<== :       /etc/passwd     !
[root @test /root]# cat /home/test/dostxt | tr -d '\r' > dostxt-noM

 
split 문법: [root @ test/root]\# split [- bl] 입력 파일 출력 파일 전도 문자 파라미터 설명: - b: 파일 크기 로 나 누 기 - l: 행 수로 나 누 기 범례: [root @ test/root]\# split - l 5/etc/passwd test < = = testaa, testab, testac... 등의 파일 설명: Linux 아래 에서 훨씬 간단 합 니 다!파일 을 분할 하려 면 - b size 를 사용 하여 분 단 된 파일 의 크기 를 제한 합 니 다. 줄 수 라면 - l line 을 사용 하여 분할 합 니 다!파이프라인 명령 은 bash 의 연속 적 인 처리 프로그램 에서 상당히 중요 합 니 다!또한 log file 의 분석 에서 도 상당히 중요 한 일환 이다.파 이 프 를 명령 으로 보 내 는 표준 입력 은 표준 입력 파 라 메 터 를 사용 할 수 있 습 니 다. - "더 자세 한 제 어 를 할 수 있 습 니 다. 예 를 들 어 cat 명령 의 예제 와 같 습 니 다."
예:
sort mylist | more
sort mylist | cat –n | lpr
pwd | cat – mylist | lpr

 
원본:http://www.jbxue.com/LINUXjishu/9768.html
 

좋은 웹페이지 즐겨찾기