리눅스 - Core Functions1

코린이·2024년 11월 10일

Linux

목록 보기
9/27

📌 wcpipe ( | )

리눅스에서 파이프(pipe)는 명령어의 출력을 다른 명령어의 입력으로 전달하는 기능이 있다. 이를 통해 여러 명령어를 조합하여 복잡한 명령을 작성할 수 있다.

  • 파이프는 | 문자를 사용하여 표현한다.
  • 파이프 문자는 하나의 명령 라인에 2개 이상 사용할 수 있다.
  • 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(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

리눅스에서 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

리눅스에서 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

리눅스에서 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인 프로세스가 종료되기 전까지 파일 모니터링

0개의 댓글