[명령어] < [파일명] ----> 파일의 내용을 명령어의 입력으로 사용
[명령어] > [파일명] ----> 명령어의 결과를 파일에 덮어쓴다
[명령어] >> [파일명] ----> 명령어의 결과를 파일에 추가한다
[명령어] 1> [파일명] ----> 명령어의 결과를 파일에 덮어쓴다
[명령어] 2> [파일명] ----> 명령어의 결과가 에러일때, 에러를 파일에 덮어쓴다
[명령어] 1> [파일1] 2> [파일2] ----> 명령어의 결과는 파일1에, 에러는 파일2에 덮어쓴다
[명령어] 1> [파일] 2> [파일] ----> 명령어의 결과, 에러 모두 파일에 덮어쓴다
위 명령어들을 실행할 때, 해당 경로의 해당 파일이 존재하지 않으면 알아서 파일을 생성하고 내용을 입력한다.
위 리다이렉션들 사용법들 중 > 를 >>로 바꾸면 덮어쓰지 않고 추가하게 된다.
-------------------kimchi.sh-------------
김치볶음밥
참치볶음밥
계란 후라이
egg
-----------------------------------------
$ wc < kimchi.sh --> wc는 데이터의 텍스트 줄 수,
4 5 53 단어 수, 바이트 를 반환
이런식으로 사용할 수 있다.
wc의 줄 수는 엔터의 개수로 보는가 보다 마지막 줄에서 엔터를 넣느냐 마느냐로 차이가 발생한다.
단어 수는 문자 사이의 공백이 있으면 단어로 보나보다.
그 외에도
[명령어] 1> [파일명] 2> /dev/null
[명령어] > [파일명] 2>&1
[명령어] &> [파일명] == [명령어] >& [파일명]
같은 사용법도 있다
/dev/null은 윈도우로 치면 쓰레기통과 같다고 한다. 대신 윈도우처럼 쓰레기통의 용량이 따로 마련되어있지 않아 삭제하는것과 같다고 한다.
[명령어] > [파일명] 2>&1
이건 결과(표준출력)를 [파일명]에 덮어쓰고 에러는 백그라운드를 통해 표준출력으로 보내라는 뜻이란다..
무슨말인지 말 모르겠지만 실행해보니
에러가 똑같이 기록되는거 보니 아래 "[명령어] &> [파일명]" 와 별반 차이는 없는것같다.
실행시간이 길어진다면야 백그라운드가 의미가 좀 생길 것 같다.
[명령어] &> [파일명] 은 [명령어] 1> [파일] 2> [파일] 과 같다
결과와 에러 모두 [파일]에 덮어쓴다
'리눅스 (Linux)' 카테고리의 다른 글
연월 입력받아 달력 출력하기 (0) | 2021.12.21 |
---|---|
배열 (0) | 2021.12.20 |
명령어 치환 (Command Substitution) (0) | 2021.12.19 |
특수 변수 (0) | 2021.12.19 |
특수 권한 (0) | 2021.12.19 |
댓글