필터
표준 입력장치에 전달된 데이터(주로 텍스트)에 대해 특정한 동작(주로 필터링)을 수행하는 명령
- 필터링: 문자 치환, 단어 또는 라인 수 세기, 단어 찾기 등
- 주로 파이프와 같이 사용됨
- 주요 필터 명령
- cat: 표준입력으로 전달된 데이터를 그대로 표준출력으로 전달
- tee: 표준입력으로 전달된 데이터를 파일과 표준출력 양쪽으로 전달
- grep: 주어진 문자열을 포함하는 라인을 찾는다
- tr: 문자단위로 치환한다
- wc: 단어, 라인수, 문자수를 계산한다.
- sort: 입력 데이터를 정렬한다
- uniq: 입력 데이터에서 중복을 제거한다
- sed: 정규식을 사용하여 치환한다
- head: 파일 앞쪽 일부 라인만 출력(↔tail)
find
주어진 조건과 일치하는 파일을 검색하기 위한 명령
형식
- $find [-H][-L] [-P][-D debug] [starting points][expression]
- H, L, P는 symbolic link를 처리하는 옵션
- -D: 디버깅을 위해 find의 처리과정을 보여주는 옵션
- -Olevel: find 실행효율을 높이는 최적화 수준을 설정
- [starting-points]: 검색 시작 위치 (디렉토리), 디폴트는 현재 디렉토리
- [expression]: 조건식은 test와 action을 -not, -a(-and), -o(-or)로 연결한 것, 디폴트는 -print(파일 이름을 출력)
- test: -mtime, -answer, -cnewer, -cmin, -regex, -type, -uid, -user 등
- action: -print, -printf포맷, -delete, -quit 등등
- find /etc>etcfiles.txt
- etc 디렉토리의 모든 파일명을 찾아서 etcfiles.txt에 저장
- find .-name ‘*.sh’
- 현재 디렉토리 및 서브디렉토리에서 파일명이 .sh로 끝나는 파일을 모두 출력
locate
모든 디렉토리에서 주어진 패턴에 해당하는 파일을 찾음
- 단, 시스템에 구축되어 있는 인덱스를 사용하기 때문에 새로 추가된 파일들이 검색 대상에서 누락될 수 있음
- updatedb 명령을 이용하여 최신 인덱스를 구축해야함
형식
- locate [option] … [pattern]…
- -A (-all): 주어진 모든 패턴을 만족시키는것만 찾음
- -b (—basename): basename (디렉토리 부분을 제거한 파일명)이 패턴과 일치하는 것을 찾음 ↔ -w(—wholesome)
- -c (—count): 파일 개수를 출력
- -e (—existing): 실행시 실제로 존재하는 파일명만 출력
- -i(—ignore-case): 대소문자를 가리지 않고 패턴을 검색
sleep
주어진 시간(초 단위)동안 sleep 모드로 대기함
time
뒤에 오는 명령을 실행하는데 소요된 시간을 출력함
gzip
파일을 압축하고 압축된 파일은 .gz 확장자가 추가됨
형식
- $gzip [OPTION]… [FILE]…
- -d (—decompress): 압축을 해제 → gunzip 명령과 동일
- -l (—list): 압축된 파일들의 목록을 출력
- -q (—quiet): 경고 메시지를 출력하지 않음
- -1 (—fast): 빠른 압축, 압축률을 낮아짐
- -9 (—best): 압축률을 최대로 높임, 소요시간이 늘어날 수 있음