본문으로 바로가기
728x90
반응형
728x170

이 것을 작성하면서 이 부분도 정리하면 좋을 것 같아 글을 적어봅니다.

 

먼저 표준 출력에 대해 알아봅시다.

표준 출력을 의미하는 특수 문자는 ">" 입니다. 

$ ls > example.txt 

이렇게 사용 할 수 있는데 표준 출력을 파일에 기록 하게 됩니다. 그러니까 ls 명령어를 사용하여 출력된 내용을 example.txt 파일에 기록하게 되는 것이지요. 다만 주의할 점은 업데이트를 하는 것이 아니라 새로 작성을 하는 것이니 사용 하실 때 주의하시기 바랍니다.

 

그리고 ">>"를 사용할 수 있는데요.

$ ls >> example.txt 

ls 명령어를 사용하여 출력된 내용을 example.txt 파일에덧붙여서 기록하게 됩니다.

계속 기록하길 원하는 분들은 ">>"명령어를 사용하시기 바랍니다. 

 

입력이 있으면 출력이 있겠죠?ㅎㅎ

표준 입력을 뜻하는 특수 문자는 "<"입니다. 이 특수 문자는 아래와 같이 사용 할 수 있는데요.

$ cat < example.txt

example.txt의 내용을 cat 명령어로 읽어 들인 뒤 화면에 노출하는 명령어 입니다.

 

그 다음은 *, ? 가 있는데요. 명령어 중 여러가지로 조합 할 수 있는 특수 문자들 입니다.

차이점이라면 일치하는 문자의 개수입니다. *는 모든 문자와 일치하는 와일드 카드 문자이고, ? 문자는 하나의 문자와 일치하는 특수 문자 입니다.

$ ls exam* 
$ ls example.tx?

이렇게 사용 할 수 있는데

ls exam* 는 example.txt, exam.135.log, 등 일치하는 모든 파일/디렉토리(내부)가 출력되구요.
ls example.tx? 는 example.txt, example.txtt, 등 하나 일치한 파일을 출력하게 됩니다.

 

그 다음 알아 볼 문자는 '|' 문자인데요. 파이프 문자라고 불립니다.

파이프 문자는 어떠한 프로세스의 표준 출력을 다른 프로세스의 표준 입력으로 보내는 문자라고 정의 할 수 있는데요.

$ ps -ef | grep nginx

위와 같이 사용할 수 있는데요. ps 명령어를 통한 표준 출력을 프로세스 정보 중 "nginx"가 들어간 프로세스를 찾기 위해 표준 입력으로 삽입하게 됩니다.


그 외에도 

  • ; - 명령어의 끝을 나타냅니다.
  • || - 이전의 명령이 실패하면 실행하는 조건문 문자입니다.
  • && - 이전의 명령이 성공하면 실행하는 조건문 문자입니다.
  • & - 명령을 백그라운드에서 실행 합니다.
  • $ - 변수에 접근할 수 있는 문자입니다.
  • # - 주석 처리가 가능합니다.

이러한 명령 문자도 존재합니다.

 

그 다음엔 변수 접근 기호에 대해 알아 볼건데요. 위 특수 문자들과 이용하면 응용 가능 한 쉘 커맨드를 쓸 수 있는데요.

변수에 접근 할 수 있는 특수 문자는 아래와 같습니다.

0 - stdin (표준 입력)
1 - stdout (표준 출력)
2 - stderr (에러 출력)

위와 같은 문자와 변수 접근 문자를 합치면 &1, &2 같은 명령도 가능한데요. 아래와 같은 커맨드도 가능 하게 됩니다.

$ ./example.sh >> ./example.log 2>&1

이렇게 하면 stderr 만 출력하게 됩니다. example.sh을 실행하면서 나온 표준 에러를 example.log 파일에 덧붙여 쓸 수 도 있습니다. 

 

log 파일이 필요 없을 때는 아래와 사용하시면 됩니다.

$ ./example.sh >> /dev/null 2>&1

 

도움 되셨길 바랍니다^^

728x90
반응형
그리드형

댓글을 달아 주세요