클라우드 네이티브 애플리케이션 부트캠프 알림

티스토리 뷰

container로 실습하기

명령 수행 결과를 파일로 만들기

정상적인 결과는 ok에 에러는 nk에 기록함
참고) '2'는 stderr를 의미함.

sh-4.4# ls -l /var /var2>ok 2>nk
sh-4.4# cat ok
/var:
total 84
drwxr-xr-x 2 root root 4096 May 11  2019 adm
drwxr-xr-x 1 root root 4096 Jun  2 06:46 cache
drwxr-xr-x 1 root root 4096 Apr  9 19:01 crash
...
sh-4.4# cat nk
ls: cannot access '/var2': No such file or directory
sh-4.4#

정상과 에러 결과를 모두 한 파일에 기록함

sh-4.4# ls -l /var /var2 &> ret
sh-4.4# cat ret
ls: cannot access '/var2': No such file or directory
/var:
total 88
drwxr-xr-x 2 root root 4096 May 11  2019 adm
drwxr-xr-x 1 root root 4096 Jun  2 06:46 cache
drwxr-xr-x 1 root root 4096 Apr  9 19:01 crash

활용case: find명령

find명령을 사용하면 접근할 수 없는 디렉토리가 많은 경우 에러 메시지 때문에 보기 불편합니다.
이를 아래와 같이 정상적 결과만 console에 나오게 할 수 있습니다.
/dev/null은 결과를 담지않는 특수한 파일입니다. 이 파일로 지정하면 에러는 console에 나오지도 않고 파일로도 저장되지 않습니다.

[ocean1@557bc45cf6f2 ~]$ find / -name passwd 2>nk
/etc/passwd
[ocean1@557bc45cf6f2 ~]$ find / -name passwd 2>/dev/null
/etc/passwd
[ocean1@557bc45cf6f2 ~]$

파이프(|)를 이용해 결과를 표준입력으로 받기

아래와 같이 grep명령의 결과를 'tee'명령의 입력값으로 받을 수 있습니다.

sh-4.4# grep LDAP config.yaml | tee ldap
  LDAP_ORGANISATION: "kubepia"
  LDAP_DOMAIN: "ldap.cp.darumtech.net"
  LDAP_BACKEND: "hdb"
  LDAP_TLS: "true"
  LDAP_TLS_ENFORCE: "false"
  LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
sh-4.4# cat ldap
  LDAP_ORGANISATION: "kubepia"
  LDAP_DOMAIN: "ldap.cp.darumtech.net"
  LDAP_BACKEND: "hdb"
  LDAP_TLS: "true"
  LDAP_TLS_ENFORCE: "false"
  LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
댓글

클라우드 네이티브 애플리케이션 부트캠프 알림