01.리눅스 기초 - IO Redirection

ID짱재·2021년 3월 9일
0

Llinux

목록 보기
9/17
post-thumbnail

🌈 IO Redirection

🔥 IO Redirection 이란?

🔥 Standard Output & Standard Error


1. IO Redirection 이란?

  • Input Ouput Redirection의 약자로, 입력과 출력의 방향에 대한 개념임
  • 명령어를 통해 터미널에 입력한 결과를 다른 방식으로 입출력을 하는 방법을 IO Redirection 이라함
  • 예를들어, 터미널에서 "ls -l"을 입력하면 터미널에 현재 디렉토리의 목록을 출력하는 것은 "standart output" 방법으로 터미널에 표시하는 것임
  • 출력된 목록을 터미널 화면이 아닌, 파일에 저장하고 싶거나 다른 방법으로 출력하고 싶을 때 사용하는 것을 Redirection 한다 라고 함
  • 🔍 "ls -l" 출력 결과를 result.txt 라는 파일에 저장하는 방법
    • ls -l > result.txt 👈 터미널에서 입력하면 현재 위치에 result.txt가 생성
    • 확인하고 싶을 땐, cat result.txt
    • ">" 출력방향을 바꿀 때 쓰는 기호로 이 뒤에 출력할 곳(파일명 등)을 적으면 됨
    • 이를 방향을 바꾼다(redirection)고 함

2. Standard Output & Standard Error

  • Error는 중요한 것이기 때문에 Standard Output과 별도의 방식으로 작동함
  • 이를 Standard Error라고 함
  • 아래와 같이 오류를 result2.txt 파일로 Redirection 하고자 했을 때, Standard Output 방식(>)을 사용하면 Redirection을 실패하는 것을 볼 수 있음
    • 없는 파일을 지우라고 명령하여 발생하는 오류를 Standard Output 방식으로 redirection 시도하면 오류가 발생
  • Standard Error로 Redirection 하고할 때에는 꺽쇠 앞에 숫자 2를 붙여야 함("2>")
  • Standard Output에서도 사실 꺽쇠 앞에 숫자 1이 생략된 것임("1>")
  • 즉, Standard Output으로 Redirection 할때는 "1>"이고, Standard Error를 Redirection 할때는 "2>"로 하면 가능함
  • 🔍 [실행 명령] 1> result.txt 2> error.log로도 사용 가능
    • Standard Output 일때는 result.txt로 redirection하고, Standard Error일 때는 error.log에 redirection 하라!
    • 단, Standard Output 을 나타날 때는 1은 생략해줘도 됨
  • ">"는 덮어씌우는 방식으로 redirection 하기 때문에, redirection된 결과물을 뒤에 추가되게 하고 싶을 땐 ">>"을 사용
profile
Keep Going, Keep Coding!

0개의 댓글