출처 : 생활코딩 - Linux
🌼 IO Redirection
📕 output
- => Redirection-output : output(출력)은 화면으로 출력되는 것이 기본인데 출력되는 방향을 다른 곳으로 돌려서 파일에 저장
- ls -l > result.text : ls -l리스트를 result.text파일에 저장하겠다.
- cat. result.text : result.text파일을 읽어보겠다.
- rm rename2.txt 2> error.log : rename2.txt를 삭제했을때의 메시지를 error.log파일에 저장
- cat error.log 로 확인해보면 에러메시지 확인 가능
- rm rename2.txt 1> result.text 2> error.log : rename2.txt를 삭제했을때의 메시지가 표준출력이면 result.text에 저장하고 표준에러면 error.log에 저장하겠다.
- cat hello.txt : cat이라고 하는 프로그램이 hello.txt의 파일을 출력해줌
- cat 만 실행시킬 경우 프로그램이 끝나지 않고 대기상태
- hi를 입력하면 입력했던 hi를 똑같이 출력함
- 빠져나올때는 ctrl + d
- 사용자 키보드를 통해서 입력한 정보를 standard input으로 받음
- cat < hello.txt : hello.txt파일의 내용을 입력으로 받는다.
💡 1) cat hello.txt와 2) cat < hello.txt 의 차이점
1) cat이라는 프로그램의 인자로 전달(command-line arguments)
2) cat이라는 프로그램의 standard input(표준입력)으로 받음
📌 IO Redirection 정리
- head 파일명 : 기본 10줄만 입력
- head -n1 파일명 : 1줄만 입력 / head -n1 < 파일명 : 1줄만 입력
- head -n1 < linux.txt > one.txt : linux.txt에서 1줄을 입력이 되고 처리결과를 one.txt에 출력
📒 append (참고만하시오)
- ls -al > result.txt : 현재 리스트를 result.txt에 출력
- 같은 명령어를 한번 더 입력했을 경우 덮어쓰기가 됨
- ls -al >> result.txt : 기존 result.txt내용에 리스트내용이 추가되어 출력됨
- >> : Redirection결과를 추가한다.
- 여러줄 작성한 정보들이 메일이라는 프로세스에 input으로 Redirection됨 (이 내용으로 이메일이 보내짐)
- eot 대신 다른 이름으로 작성해도 상관없음. 이것이 마지막에 나오면 여기까지 입력하라는 의미
mail abc123@gmail.com <<eot
hi
my
name
is
woomi
eot
- ls -al > /dev/null : 실행한 결과를 화면에도 출력하지 않고 파일에도 출력하지 않는 방법 (/dev/null : 휴지통) 즉 내용이 사라짐