리눅스에서 파이프(pipe)는 명령어의 출력을 다른 명령어의 입력으로 전달하는 기능이 있다. 이를 통해 여러 명령어를 조합하여 복잡한 명령을 작성할 수 있다.
| 문자를 사용하여 표현한다.
ls결과값에서 ".txt"가 포함된 항목만 출력ls | grep ".txt"
ls -all결과값에서 ".txt"가 포함된 항목만을 추출 그리고 추출된 데이터에서 데이터 크기($5)가 0인 파일명($9)만 출력ls -all | grep ".txt" | awk '$5 == 0 {print $9}'
리눅스에서 grep(Global Regular Expression Print)은 파일 내 특정 키워드(문자열)를 검색할 때 사용되는 명령어다.
grep은 파이프( | )와 함께 주로 사용되며, 옵션을 사용하여 상황에 맞는 결과를 얻을 수 있다.
grep [옵션] "검색할_키워드" 파일명(또는 경로)--------- 옵션 list --------- -i : 대소문자를 무시하고 조회 -v : 검색할_키워드를 제외하고 조회 -r : 검색할_키워드를 포함하고 있는 디렉토리 조회 (하위 디렉토리까지 조회) -l : 검색할_키워드를 포함하고 있는 파일 조회 -n : 파일 내 검색할_키워드의 라인 조회 -c : 파일 내 검색할_키워드의 총수(count) 출력 -E : 확장 정규식 사용 선언 (확장 정규 표현식은 |, +, ?, {} 같은 특수 문자를 지원하여 더욱 유연하게 패턴을 정의할 수 있음)# samsung_report.txt파일을 기준으로 samsung, Samsung, ... , SAMSUNG 등 대소문자를 가리지 않고 "samsung" 키워드가 들어간 문자열 조회 grep -i "samsung" samsung_report.txt # samsung_report.txt파일을 기준으로 "samsung" 키워드를 제외하고 조회 grep -v "samsung" samsung_report.txt # /tmp 경로를 기준으로 "samsung" 키워드를 포함하고 있는 경로 조회 grep -r "samsung" /tmp # /tmp/를 기준으로 "samsung" 키워드가 포함된 파일명 조회 grep -l "samsung" /tmp/* # samsung_report.txt파일을 기준으로 "samsung" 키워드가 들어간 라인 조회 grep -n "samsung" samsung_report.txt # samsung_report.txt파일을 기준으로 "samsung" 키워드가 들어간 수(count) 출력 grep -c "samsung" samsung_report.txt # samsung_report.txt파일을 기준으로 "samsung", "apple" 키워드가 들어간 문자열 조회 grep -E "(samsung|apple)" samsung_report.txt
리눅스에서 wc(Word Count)은 파일의 라인 수, 단어 수, 문자 수의 수를 세는 명령어다.
주로 파일 내용을 수치상으로 요약하거나, 파일의 크기를 확인할 때 사용된다.
wc [옵션] 파일명--------- 옵션 list --------- -l : 라인 수(line count)를 출력 (많이 사용) -w : 단어 수(word count)를 출력 -c : 바이트(byte count) 수를 출력 (일반적으로 파일 크기) -m : 문자(character count) 수를 출력 -L : 가장 긴 줄의 문자 수를 출력# 옵션 없이 명령어만 사용할 경우 라인 수, 단어 수, 문자 수, 파일명 순서로 경과를 확인할 수 있다. wc file.txt # -l옵션을 사용할 경우 라인 수, 파일명만 확인할 수 있다. wc -l file.txt # -w옵션을 사용할 경우 단어 수, 파일명만 확인할 수 있다. wc -w file.txt # -m옵션을 사용할 경우 문자 수, 파일명만 확인할 수 있다. wc -m file.txt # -c옵션을 사용할 경우 바이트(byte) 수, 파일명만 확인할 수 있다. wc -c file.txt # -L옵션을 사용할 경우 가장 긴 라인의 문자 수를 출력한다. wc -L file.txt
리눅스에서 head는 파일의 처음 몇 줄을 조회할 때 사용되는 명령어다. 파일을 조회할 때 4가지 옵션을 선택하여 사용할 수 있으며, 옵션 없이 명령어만 사용할 경우 파일 내 데이터 10줄만 조회된다.
head [옵션] 파일명--------- 옵션 list --------- -n : 조회할 라인 수 설정 -c : 조회할 데이터 크기 설정 -v : 파일명 조회 설정 (데이터 조회 전 상단에 파일명 출력) -q : 2개 이상의 파일을 조회할 때 파일명을 생략하는 설정# 옵션 없이 명령어만 사용할 경우 파일 내 데이터 10라인만 조회 head file.txt # -n 옵션을 사용할 경우 파일 내 원하는 라인 수 조회 head -n 2 file.txt # 2라인만 조회 # -b 옵션을 사용할 경우 파일 내 원하는 바이트 크기만큼 조회 head -b 50 file.txt # 50바이트만 조회 # -v 옵션을 사용할 경우 파일명까지 함께 조회 head -v file.txt # 파일명 출력 후, 파일 데이터 10라인 조회 # 2개 파일을 동시에 조회 가능 (각 파일의 파일명과 기본 10라인 조회) head file1.txt file2.txt # -q 옵션을 사용할 때 각 파일의 10라인만 조회 (별도의 파일명 출력X) head file1.txt file2.txt
리눅스에서 tail는 파일의 마지막 몇 줄을 조회할 때 사용되는 명령어다. 파일을 조회할 때 4가지 옵션을 선택하여 사용할 수 있으며, 옵션 없이 명령어만 사용할 경우 파일 내 마지막 데이터 10줄만 조회된다.
tail [옵션] 파일명--------- 옵션 list --------- -n : 조회할 라인 수 설정 (파일의 마지막 데이터부터 설정) -c : 조회할 데이터 크기 설정 (파일의 마지막 데이터부터 설정) -v : 파일명 조회 설정 (데이터 조회 전 상단에 파일명 출력) -q : 2개 이상의 파일을 조회할 때 파일명을 생략하는 설정 -f : 파일에 새로운 내용이 추가될 때 이를 실시간으로 모니터링할 수 있게 해주는 옵션 -s : 파일의 모니터링 주기 설정(초 단위) --pid : 지정된 프로세스 ID(PID)가 종료될 때까지 -f 옵션 유지 설정# -f 옵션을 사용하면 실시간으로 파일 모니터링 tail -f file.txt # -s 옵션과 -f 옵션을 사용하여 특정 시간마다 파일 모니터링 tail -f -s 10800 file.txt # 3시간마다 갱신되는 내용을 실시간으로 모니터링 # --pid 옵션과 -f 옵션을 사용하여 특정 프로세스가 종료될 때까지 파일 모니터링 tail -f --pid=9999 file.txt # PID가 9999인 프로세스가 종료되기 전까지 파일 모니터링