코딩/Linux
[Linux] I/O 리다이렉션, 파이프, 필터(cat, grep), find, locate, sleep, time
낫띵온미
2022. 10. 18. 23:21
※ Linux Fundamentals 교재를 참고하였습니다!
I/O 리다이렉션
표준 입출력
- stdin(<) : 데이터 공급, 디폴트 = 키보드
- stdout(>) : 명령 출력, 디폴트 = 터미널 화면
- stderr{2>} : 에러 출력, 디폴트 = 터미널 화면
출력 리다이렉션
- > : 출력 스트림 변경, 덮어쓰기
- >> : 기존의 데이터에 추가
에러 리다이렉션
- 2> : 에러스트림 변경
- 2> /dev/null : 에러메시지 무시
- 2>&1 : stdout과 stderr를 같은 스트림으로 보냄
입력 리다이렉션
- < : 표준 입력장치 변경
파이프 ( | )
- 이전명령의 출력을 다음 명령의 입력으로 전달
필터
- 표준 입력장치에 전달된 데이터에 필터링 수행
- 필터링 : 문자치환, 단어 세기, 단어 찾기 등
- 파이프와 같이 사용
주요 필터 명령
cat | 표준입력 | -> | 표준출력 | |
tee | 표준입력 | -> | 표준출력, 파일 | |
grep | 문자열 포함 라인 찾기 | |||
tr | 문자단위 치환 | |||
wc | 단어, 라인, 문자수 계산 | |||
-w/l/c | 단어수만 표시 | |||
sort | 입력데이터 정렬 | |||
-n | 문자가 아닌 숫자로 해석 | |||
-r | 내림차순 | |||
uniq | 중복 제거 | |||
head/tail | 일부 라인 출력 |
find
- 주어진 조건과 일치하는 파일 검색
- find [시작위치 : 현재디렉토리] [조건식 : print]
- find /etc > etcfiles.txt : /etc 디렉토리 모든 파일명 txt에 저장
locate
- 주어진 패턴에 해당하는 파일 찾음
- updatedb명령으로 최신화 필요
- locate [option] [pattern]
- -A : 모든 패턴 만족것을 찾음
- -b : 디렉토리를 제거한 파일명이 패턴과 일치하는 것을 찾음
- -c : 파일 개수 출력
- -e : 실제 존재하는 파일명만 출력
- -i : 대소문자 무시
sleep
- 주어진 시간동안 대기
time
- 뒤의 명령에 소요된 시간 출력
gzip
- 파일 압축 -> .gz 확장자 추가
- -d : 압축 해제 (=gunzip)
- zcat(zmore) = gunzip -c : 압축파일 내용 화면에 출력