참고자료
- 사용중인 운영체제가 Window일 경우 아래 사이트에서 Linux 명령어 연습 가능
https://bellard.org/jslinux/vm.html?cpu=riscv64&url=fedora33-riscv.cfg&mem=256
명령어 사용방법
grep [OPTIONS] [PATTERN] [FILE]
- 입력으로 전달된 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어
grep [OPTION...] PATTERN [FILE...]
-E : PATTERN을 확장 정규 표현식(Extended RegEx)으로 해석.
-F : PATTERN을 정규 표현식(RegEx)이 아닌 일반 문자열로 해석.
-G : PATTERN을 기본 정규 표현식(Basic RegEx)으로 해석.
-P : PATTERN을 Perl 정규 표현식(Perl RegEx)으로 해석.
-e : 매칭을 위한 PATTERN 전달.
-f : 파일에 기록된 내용을 PATTERN으로 사용.
-i : 대/소문자 무시.
-v : 매칭되는 PATTERN이 존재하지 않는 라인 선택.
-w : 단어(word) 단위로 매칭.
-x : 라인(line) 단위로 매칭.
-z : 라인을 newline(\n)이 아닌 NULL(\0)로 구분.
-m : 최대 검색 결과 갯수 제한.
-b : 패턴이 매치된 각 라인(-o 사용 시 문자열)의 바이트 옵셋 출력.
-n : 검색 결과 출력 라인 앞에 라인 번호 출력.
-H : 검색 결과 출력 라인 앞에 파일 이름 표시.
-h : 검색 결과 출력 시, 파일 이름 무시.
-o : 매치되는 문자열만 표시.
-q : 검색 결과 출력하지 않음.
-a : 바이너리 파일을 텍스트 파일처럼 처리.
-I : 바이너리 파일은 검사하지 않음.
-d : 디렉토리 처리 방식 지정. (read, recurse, skip)
-D : 장치 파일 처리 방식 지정. (read, skip)
-r : 하위 디렉토리 탐색.
-R : 심볼릭 링크를 따라가며 모든 하위 디렉토리 탐색.
-L : PATTERN이 존재하지 않는 파일 이름만 표시.
-l : 패턴이 존재하는 파일 이름만 표시.
-c : 파일 당 패턴이 일치하는 라인의 갯수 출력.
$ cat FILE.txt
grep searches for PATTERNS in each FILE.
PATTERNS is one or patterns separated by newline characters.
And grep prints each line that matches a pattern.
$ grep "PAT" FILE.txt
grep searches for PATTERNS in each FILE.
PATTERNS is one or patterns separated by newline characters.
awk [OPTIONS] [awk program] [file]
- 공백 문자(space, tab)로 구분된 필드(Field)를 선택하고 값을 출력할 수 있는 명령어
- "awk programming language" 라는 프로그래밍 언어로 작성된 스크립트를 실행함
- 입력 데이터를 라인 단위의 레코드(Record)로 구분하고 공백 문자(Space, Tab)로 구분된 필드(Field)들로 분류함
awk [OPTION...] [awk program] [ARGUMENT...]
OPTION
-F : 필드 구분 문자 지정.
-f : awk program 파일 경로 지정.
-v : awk program에서 사용될 특정 variable값 지정.
awk program
-f 옵션이 사용되지 않은 경우, awk가 실행할 awk program 코드 지정.
ARGUMENT
입력 파일 지정 또는 variable 값 지정.
$ cat file.txt
1 otters 30 40 50
2 mighty 60 70 80
3 wan9s 90 10 20
$ awk '{ print $1, $2, $3}' ./file.txt // 첫번째($1), 두번째($2), 세번째($3) 필드의 값을 출력함
1 otters 30
2 mighty 60
3 wan9s 90
sed [OPTIONS] [SCRIPT] [FILE]
- 입력으로 전달된 파일의 내용에서 특정 문자열을 변경할 때 사용하는 명령어
$ cat otterhome.txt
Otter A here
Otter B here
Lion A here
Otter C here
Lion B here
$ sed '/Lion/d' otterhome.txt | cat -n // Lion 이 포함된 행 삭제
Otter A here
Otter B here
Otter C here
curl [OPTIONS] [URL]
- 서버에 데이터 전송을 위해 사용하는 라이브러리이다
- http, https, ftp, sftps, smtp, telnet 등의 프로토콜 및 Proxy, Header, Cookie 등의 세부 옵션을 지정할 수 있음
awk [OPTION...] [awk program] [ARGUMENT...]
OPTION
-F : 필드 구분 문자 지정.
-f : awk program 파일 경로 지정.
-v : awk program에서 사용될 특정 variable값 지정.
awk program
-f 옵션이 사용되지 않은 경우, awk가 실행할 awk program 코드 지정.
ARGUMENT
입력 파일 지정 또는 variable 값 지정.
curl [OPTIONS] <url>
OPTION
-A : 헤더의 User-Agent 지정
-H : HTTP Header 지정
-O : 서버에 올라간 파일을 다운로드
-d : HTTP POST data 지정
-L : 지정한 URL 접속 시 해당 URL의 리다이렉트까지 접속
-T <file> : 지정한 URL 에 <file> 을 업로드
URL
접속하려는 사이트의 URL
$ curl -T file.txt http://example.com // file.txt 를 example.com 에 업로드
$ curl -v - A "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.3 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36" http://example.com // User-Agent 를 Mozilla/5.0으로 변경해서 URL로 Reqeust
// 사용자의 웹 브라우저와 무관하게 User-Agent 변경 가능
> GET / HTTP/1.1
> Host: 193.122.101.209
> User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.3 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
> Accept: */*
참조
https://kibua20.tistory.com/148
리눅스 grep 명령어 사용법. (Linux grep command) - 리눅스 문자열 검색 :: 개발자를 위한 레시피 (tistory.com)
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=int_s&logNo=220483567708
'Computer Science > OS' 카테고리의 다른 글
[OS] 윈도우 Docker 설치 가이드 (0) | 2023.12.22 |
---|---|
[OS] 운영체제 강의 영상 (0) | 2022.03.30 |
[OS and General Knowledge] Basic Terminal Commands - 3 (1) | 2021.12.20 |
[OS and General Knowledge] Basic Terminal Commands - 2 (1) | 2021.12.17 |
댓글