1) 파일을 찾아 주는 find 명령어는 매우 유용한 유틸리티이지만, 사용자의 접근 권한이 없는 디렉터리 또는 파일 때문에 매번 '허가 거부' 에러 메시지가 많이 나와 실행결 결과를 보는 것을 어렵게 한다. 실행 결과에 'Permission denied' 에러메시지가 출력되지 않도록 하는 방법에 대해 설명하세요.
1-1 리다이렉션
에러메세지만 리다이렉션하여 /dev/null 위치에 보내면 된다.
리다이렉션은 입출력을 사용자 맘대로 재지정한다는 말이다. 키보드입력 과 화면 출력 사용자 임의대로 재지정한다는 소리다.
예로 키보드에서 입력받지 않고 파일을 입력으로 받는 방법과 출력할 내용을 화면 출력이 아닌 파일에 저장하는 방법이다.
리다이렉션 | 방향 | 의미 |
> | 표준 출력 | 명령의 결과를 파일로 저장 |
>> | 표준 출력 추가 | 기존 파일 데이터 추가 |
< | 표준 입력 | 파일의 데이터를 명령에 입력 |
허가 거부라는 에러메시지를 /dev/null 리눅스의 쓰레기통으로 보내면
$ find / -name passwd 2> /dev/null #2>는 에러메세지를 화면에 출력이 아닌 지정한 경로파일에 저장
이렇게 하면 에러메세지를 제외하고 원하는 출력물만 볼 수 있다.
1-2 alias 추가
.bashrc파일을 열어 매번 치기 귀찮은 2> /dev/null을 단축한다.
$ vi .bashrc #.bashrc 파일을 열고
$ alias find='find 2> /dev/null' #alias를 추가해준다.
'22년 가을학기 > 유닉스 고급' 카테고리의 다른 글
7. 쉘스크립트 실무 (0) | 2022.11.13 |
---|---|
6.쉘스크립트 중급 (0) | 2022.11.05 |
4.문자열 검색 명령어 (0) | 2022.09.29 |
3.쉘스크립트 기초 문법 (0) | 2022.09.25 |
2.쉘 스크립츠 초급 (0) | 2022.09.11 |