코딩/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 : 압축파일 내용 화면에 출력