링크 ux 셸 재 설정

5783 단어
원본 링크:https://mp.csdn.net/postedit
터미널 에서 파일 의 데이터 흐름 을 읽 고 쓰기;
다음 명령 목록 으로 방향 을 바 꿉 니 다:
명령 하 다.
설명 하 다.
command > file
출력 을 file 로 다시 설정 합 니 다.터미널 데 이 터 를 파일 file 에 기록 합 니 다.
command < file
입력 을 file 로 다시 설정 합 니 다.파일 을
command >> file
출력 을 file 로 추가 합 니 다.
n > file
파일 설명 자 를 n 으로 하 는 파일 을 file 로 바 꿉 니 다.
n >> file
파일 설명 자 를 n 으로 하 는 파일 을 file 로 추가 합 니 다.
n >& m
출력 파일 m 와 n 을 합 칩 니 다.
n
입력 파일 m 와 n 을 합 칩 니 다.
<< tag
태그 시작 과 태그 끝 사이 의 내용 을 입력 합 니 다.
주의해 야 할 것 은 파일 설명자 0 은 보통 표준 입력 (stdIN) 이 고, 1 은 표준 출력 (stdOUT) 이 며, 2 는 표준 오류 출력 (stdERR) 이다.파일 에 로그 인쇄 에 사용 할 수 있 습 니 다.
출력 방향 변경
방향 을 바 꾸 는 것 은 일반적으로 명령 사이 에 특정한 기 호 를 삽입 해서 이 루어 진다.특히 이런 기호의 문법 은 다음 과 같다.
command1 > file1

이 명령 은 command 1 을 실행 하고 출력 한 내용 을 file 1 에 저장 합 니 다.
파일 1 에 존재 하 는 모든 내용 이 새로운 내용 으로 대 체 될 것 임 을 주의 하 십시오.새 내용 을 파일 끝 에 추가 하려 면 >> 연산 자 를 사용 하 십시오.
실례
다음 who 명령 을 실행 합 니 다. 명령 의 전체 출력 을 사용자 파일 로 바 꿉 니 다 (users).
$ who > users

실행 후 터미널 에서 정 보 를 출력 하지 않 았 습 니 다. 이것 은 출력 이 기본 표준 출력 장치 (터미널) 에서 지정 한 파일 로 바 뀌 었 기 때 문 입 니 다.
cat 명령 으로 파일 내용 을 볼 수 있 습 니 다:
$ cat users
_mbsetupuser console  Oct 31 17:35 
tianqixin    console  Oct 31 17:35 
tianqixin    ttys000  Dec  1 11:33

출력 방향 을 바 꾸 면 파일 내용 을 덮어 씁 니 다. 다음 예 를 보십시오.
$ echo "菜鸟教程:www.runoob.com" > users
$ cat users
菜鸟教程:www.runoob.com
$

파일 내용 이 덮어 쓰 기 를 원 하지 않 으 면 >> 파일 끝 에 추가 할 수 있 습 니 다. 예 를 들 어:
$ echo "菜鸟教程:www.runoob.com" >> users
$ cat users
菜鸟教程:www.runoob.com
菜鸟教程:www.runoob.com
$

입력
출력 재 설정 과 마찬가지 로 유 닉 스 명령 도 파일 에서 입력 을 가 져 올 수 있 습 니 다. 문법 은 다음 과 같 습 니 다.
command1 < file1

이렇게 하면 키보드 에서 입력 을 가 져 와 야 하 는 명령 이 파일 로 옮 겨 져 내용 을 읽 습 니 다.
메모: 출력 재 설정 은 번호 (>) 보다 크 고 입력 재 설정 은 번호 보다 작 습 니 다 (
실례
이 어 상기 인 스 턴 스 를 통 해 users 파일 의 줄 수 를 통계 하고 다음 명령 을 수행 해 야 합 니 다.
$ wc -l users
       2 users

users 파일 로 입력 을 바 꿀 수도 있 습 니 다:
$  wc -l < users
       2

메모: 위의 두 가지 예 는 결과 가 다 릅 니 다. 첫 번 째 예 는 파일 이름 을 출력 합 니 다. 두 번 째 예 는 표준 입력 에서 내용 을 읽 는 것 만 알 기 때 문 입 니 다.
command1 < infile > outfile

입력 과 출력 을 동시에 바 꾸 고 command 1 을 실행 하 며 파일 infile 에서 내용 을 읽 은 다음 출력 을 outfile 에 기록 합 니 다.
방향 을 바 꾸 어 심도 있 게 설명 하 다.
일반적으로 유 닉 스/리 눅 스 명령 이 실 행 될 때마다 세 개의 파일 을 엽 니 다.
  • 표준 입력 파일 (stdin): stdin 의 파일 설명 자 는 0 이 고 유 닉 스 프로그램 은 기본적으로 stdin 에서 데 이 터 를 읽 습 니 다.
  • 표준 출력 파일 (stdout): stdout 의 파일 설명 자 는 1 이 고 유 닉 스 프로그램 은 기본적으로 stdout 에 데 이 터 를 출력 합 니 다.
  • 표준 오류 파일 (stderr): stderr 의 파일 설명 자 는 2 이 며, 유 닉 스 프로그램 은 stderr 흐름 에 오류 정 보 를 기록 합 니 다.
  • 기본적으로 command > file 은 stdout 을 file 로, command < file 은 stdin 을 file 로 다시 설정 합 니 다.
    stderr 가 file 로 바 뀌 기 를 원한 다 면 이렇게 쓸 수 있 습 니 다.
    $ command 2 > file

    stderr 가 file 파일 의 끝 에 추가 되 기 를 원한 다 면 이렇게 쓸 수 있 습 니 다.
    $ command 2 >> file

    2 표준 오류 파일 (stderr) 을 표시 합 니 다.
    stdout 과 stderr 를 합 친 후 file 로 다시 설정 하려 면 이렇게 쓸 수 있 습 니 다.
    $ command > file 2>&1
    
    或者
    
    $ command >> file 2>&1

    stdin 과 stdout 에 대한 방향 을 바 꾸 려 면 이렇게 쓸 수 있 습 니 다.
    $ command < file1 >file2

    command 명령 은 stdin 을 file 1 로 재 설정 하고 stdout 을 file 2 로 재 설정 합 니 다.
    Here Document
    Here Document 는 Shell 의 특수 한 재 설정 방식 으로 입력 을 대화 식 Shell 스 크 립 트 나 프로그램 으로 재 설정 합 니 다.
    그것 의 기본 형식 은 다음 과 같다.
    command << delimiter
        document
    delimiter

    두 delimiter 사이 의 내용 (document) 을 입력 으로 command 에 전달 하 는 역할 을 합 니 다.
    주의:
  • 끝 에 있 는 delimiter 는 반드시 대문자 로 써 야 합 니 다. 앞 에 문자 가 있 으 면 안 되 고 뒤에 도 빈 칸 과 tab 들 여 쓰기 가 있어 서 는 안 됩 니 다.
  • 시 작 된 delimiter 전후의 빈 칸 은 무시 합 니 다.
  • 실례
    명령 행 에서 wc - l 명령 을 통 해 Here Document 의 줄 수 를 계산 합 니 다:
    $ wc -l << EOF
        欢迎来到
        菜鸟教程
        www.runoob.com
    EOF
    3          # 输出结果为 3 行
    $

    우리 도 Here Document 를 스 크 립 트 에 사용 할 수 있 습 니 다. 예 를 들 어:
    #!/bin/bash
    # author:菜鸟教程
    # url:www.runoob.com
    
    cat << EOF
    欢迎来到
    菜鸟教程
    www.runoob.com
    EOF

    이상 스 크 립 트 를 실행 하고 출력 결과:
    欢迎来到
    菜鸟教程
    www.runoob.com

    /dev/null 파일
    명령 을 실행 하고 싶 지만 화면 에 출력 결 과 를 표시 하지 않 으 려 면 출력 을/dev/null 로 바 꿀 수 있 습 니 다.
    $ command > /dev/null

    /dev/null 은 특별한 파일 입 니 다. 기록 한 내용 은 모두 버 려 집 니 다. 이 파일 에서 내용 을 읽 으 려 고 시도 하면 아무것도 읽 을 수 없습니다. 그러나/dev/null 파일 은 매우 유용 합 니 다. 명령 의 출력 을 다시 설정 하면 '출력 금지' 효과 가 있 습 니 다.
    stdout 과 stderr 를 차단 하려 면 이렇게 쓸 수 있 습 니 다:
    $ command > /dev/null 2>&1

    메모: 0 은 표준 입력 (stdIN), 1 은 표준 출력 (stdOUT), 2 는 표준 오류 출력 (stdER)
    기본 적 의미
    /dev/null 표시 빈 장치 파일 0 표시 stdin 표준 입력 1 표시 stdout 표준 출력 2 표시 stderr 표준 오류 > file 표시 표준 출력 을 file 에 출력 하 는 것 도 1 > file 에 해당 합 니 다.
    2 > error 는 error 파일 에 오 류 를 출력 하 는 것 을 표시 합 니 다.
    2 > & 1 은 오 류 를 표준 출력 으로 재 설정 하 는 것 을 나타 낸다.
    2 > & 1 > file: 터미널 에 잘못 출력 되 었 습 니 다. 표준 출력 은 파일 file 로 바 뀌 었 습 니 다. > file 2 > & 1 (표준 출력 은 파일 로 바 뀌 었 고 오 류 는 표준 출력 으로 바 뀌 었 습 니 다) 과 같 습 니 다.
    & 명령 이 끝 날 때 까지 백 엔 드 가 실 행 됨 을 표시 합 니 다. 터미널 이 특정한 프로 세 스에 계속 점용 되 는 것 을 방지 합 니 다. 터미널 은 다른 작업 을 수행 할 수 있 습 니 다. > file 2 > & 1 에 맞 춰 로 그 를 특정한 파일 에 저장 할 수 있 지만 터미널 이 닫 히 면 프로 세 스 도 실 행 됩 니 다. 예 를 들 어 command > file. log. 2>&1 & .
    nohup 명령 의 시작 부분 에 놓 으 면 끊 지 않 음 (no hang up) 을 표시 합 니 다. 즉, 터미널 을 닫 거나 계 정 을 종료 하고 프로 세 스 도 계속 실행 상 태 를 유지 합 니 다. 일반적으로 협조 & 기호 와 함께 사용 합 니 다. 예 를 들 어 nohup command &.  저작권 성명: 본 고 는 CSDN 블 로 거 'by ds 520' 의 오리지널 글 입 니 다. CC 4.0 by - sa 저작권 협의 에 따라 원문 출처 링크 와 본 성명 을 첨부 하 십시오.https://blog.csdn.net/lovewebeye/article/details/82934049

    좋은 웹페이지 즐겨찾기