grep
- 특정 파일에서 지정한 문자열이나 정규 표현식을 포함한 행을 출력
- tail, ls 등 다양한 명령어와 조합하여 응용되는 경우가 많음
grep [옵션][패턴][파일명]
#특정 파일에서 'error' 문자열 찾기
grep 'error' 파일명
#여러 개의 파일에서 'error' 문자열 찾기
grep 'error' 파일명1 파일명2
#현재 디렉토리내에 있는 모든 파일에서 'error' 문자열 찾기
grep 'error' *
#특정 확장자를 가진 모든 파일에서 'error' 문자열 찾기
grep 'error' *.log
- 위와 같이 사용하면 'error' 라는 문자열을 mylog.log 라는 파일에서 찾을 수 있음
awk
- 특정 패턴 문자열 처리하기
- "awk programming language" 라는 프로그램 언어로 작성된 프로그램을 실행하는 명령어
awk [옵션] 'pattern { action }' [파일|변수값]
# awk 옵션
-u : 버퍼를 사용하지 않고 출력
-F : 확장된 정규 표현식, 필드 구분자를 지정
awk -F : 단일로 사용 시 ':' 를 필드 구분자로 사용
awk -F'[:\t]' : 다중 필드 구분자와 ':' 와 tab을 필드 구분자로 사용
-v : 스크립트를 실행하기 전에 미리 변수를 지정하여 줌
-f : awk 명령 스크립트를 파일에서 읽어옴
sed
- 정규식과 같은 패턴식을 적용하여 파일을 원하는대로 편집할 수 있는 프로그램
- vi와 달리 직접 파일을 열어 고치지 않고, 커맨드 창 또는 스크립트에서 동작을 하여 원하는 부분만 변경함
# 8행부터 끝까지 출력
sed -n '8,&p' test.txt
# 빈 행 삭제
sed '/^$/d' test.txt
lsof
- list open files 의 약자로, 시스템에서 열려있는 파일에 대한 정보를 출력
- 패키지를 설치해야 함
# Ubuntu
sudo apt-get install lsof
# 특정 사용자가 오픈한 파일 출력 (-u 사용)
lsof -u dave
#특정 사용자를 제외한 나머지 사용자가 오픈한 파일 출력 (-u에 ^ 추가 시 포함 X)
lsof -u^root -u ^admin
curl
- 사용자 상호 작용 없이 작동하도록 설계된 서버
- 또는 서버로 데이터를 전송하기 위한 명령줄 유틸리티
- curl 을 사용하면 HTTP, HTTPS, SCP, SFTP 및 FTP 등 지원되는 프로토콜 중 하나를 사용하여 데이터를 다운로드 하거나 업로드 가능
curl [옵션] [URL...]
# example.com 홈페이지 검색
curl example.com
wget
- 웹 상의 파일을 다운로드 받을 때 사용하는 명령어
- 네트워크 상에서 데이터를 다운로드 하는 기능을 수행
wget [옵션]... [URL]...
# FTP 서버에서 파일 다운로드 하기
wget ftp://example.org/file.tar.gz
tail
- 파일의 마지막 행을 기준으로 지정한 행까지의 파일 내용 일부를 출력
- 리눅스에서 오류나 파일 로그를 실시간으로 확인할 때 매우 유용하게 사용
# 파일 마지막 부분을 출력하는 명령어
tail [옵션][파일명]
tail filename.text
tail -f filename.txt
# -f : tail을 종료하지 않고 파일의 업데이트 내용을 실시간으로 계속 출력
head
- 파일의 전체 내용 중 앞부분을 출력해 주는 명령어
- 주로 대용량의 로그 파일이나 줄 수가 많은 파일 또는 어떤 파일인지 확인하기 위해 사용
head [옵션] [파일]
# 1개의 파일 출력
head file1.txt
# 여러 개의 파일 출력
head file1.txt file2.txt file3.txt file4.txt
less
- 파일을 읽어 화면에 출력
- 한 번에 보여지는 만큼만 읽어서 출력하므로 대용량의 파일을 열어 볼 때 빠르게 사용 가능
less [옵션] 파일이름
# less /usr/share/common-licenses/GPL-3 파일의 내용 보기
less /usr/share/common-licenses/GPL-3
find
- 리눅스 파일 시스템에서 파일을 검색하는데 사용되는 명령어
find [옵션] [경로] [표현식]
# 현재 위치에서 log가 들어가는 파일 모두 찾기
find . -name "*Log*"
ssh
- 다른 리눅스 서버로 접속할 때 사용하는 프로토콜
- 기본 암호화 방식을 지원
- 중간에 암호를 해킹 당해도 원본 알 수 없고 강력한 인증 방식을 지원해서 보안적으로 우수한 프로토콜
ssh [사용자 계정]@[원격지 IP]
ssh root@192.168.159.129
exit
kill
- 프로세스를 종료하는 용도
- 백그라운드에 있는 프로그램과 같은 경우, kill 명령을 통해서 제어 가능
kill [옵션] [PID]
# PID: 프로세스 아이디
참고
1. https://coding-factory.tistory.com/802 - grep 명령어
2. https://inpa.tistory.com/entry/LINUX-%F0%9F%93%9A-awk-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AC%B8%EB%B2%95-%EB%A7%88%EC%8A%A4%ED%84%B0-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC - awk 명령어 문법 마스터
3. https://velog.io/@inhwa1025/Linux-SED-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%82%AC%EC%9A%A9%EB%B2%95 - sed 명령어
4. https://dev.plusblog.co.kr/44 - lsof 명령어
5. http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/wget - wget 명령어
6. https://coding-factory.tistory.com/801 - tail 명령어
7. https://rhrhth23.tistory.com/30 - head 명령어
8. https://jjeongil.tistory.com/1629 - less 명령어
9. https://coding-factory.tistory.com/804 - head 명령어
10. https://wlsvud84.tistory.com/12 - ssh 명령어
11. https://server-talk.tistory.com/432 - kill 명령어
'Backend Loadmap > Operating System' 카테고리의 다른 글
[백엔드로드맵][OS] 프로세스 간 통신 (IPC)란? (1) | 2023.05.09 |
---|---|
[백엔드로드맵][OS] 메모리 관리 (0) | 2023.04.24 |
[백엔드로드맵][OS] 스레드와 동시성 (0) | 2023.04.06 |
[백엔드로드맵][OS] 프로세스 관리 (0) | 2023.04.02 |
[백엔드 로드맵][OS] OS의 기본적인 작동 방식 (0) | 2023.03.21 |