개인 자료 정리 홈페이지 입니다.

Note > 리눅스 명령어 모음curl

By a3040, Published on Invalid Date

curl - transfer a URL


curl [options] [URL...]


HTTP, HTTPS, FTP 등 다양한 프로토콜을 이용하여 데이터를 전송하거나, 서버에서 파일을 다운로드 받을 때 사용되지만 많은 프로토콜을 지원합니다.헤더나 쿠키를 조작할 수 있으며, 파일 업로드 및 다운로드도 가능합니다.

이런 특징 때문에 쉘 스크립트 등에서 자주 사용되며, 특히 API 테스트나 간단한 데이터 전송에 유용합니다. 또한, 웹 스크레이핑이나 다운로드 등의 다양한 용도로 사용할 수 있습니다.


지원 프로토콜 : DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP


-X, --request <command>: HTTP 요청 메서드를 설정합니다.

-H, --header <header/@file>: HTTP 헤더를 추가합니다. @file 구문으로 파일에서 헤더를 읽어올 수 있습니다.

-d, --data <data/@file>: POST 또는 PUT 요청에 사용할 데이터를 설정합니다. @file 구문으로 파일에서 데이터를 읽어올 수 있습니다.

-i, --include: 응답 헤더도 출력합니다.

-I, --head: 헤더 정보만 가져옵니다.

-L, --location: 리다이렉션을 따라갑니다.

-o, --output <file>: 결과를 파일에 저장합니다.

-s, --silent: 결과를 출력하지 않습니다.

-u, --user <user:password>: HTTP 인증 정보를 설정합니다.

-v, --verbose: 자세한 출력을 합니다.



URL 지정

curl 명령어를 실행할 때 가져올 URL을 지정합니다.

 curl https://a3040.com/curl/1.txt


파일 다운로드

URL로 지정한 파일을 다운로드하려면 -O 옵션을 사용합니다.

curl -O https://a3040.com/curl/1.txt



헤더 전송

HTTP 요청에 헤더를 추가하려면 -H 옵션을 사용합니다.

curl -H "Content-Type: application/json" -H "Authorization: Bearer my_token" -X POST -d '{"name": "John", "age": 30}' https://www.example.com/api


HTTP 요청 방식 설정

HTTP 요청 방식을 설정하려면 -X 옵션을 사용합니다.

curl -X POST -d "name=John&age=30" https://www.example.com/form


데이터 전송

HTTP 요청에 데이터를 전송하려면 -d 옵션을 사용합니다.

curl -d "name=John&age=30" https://www.example.com/form


다중 URL 요청

다중 URL을 요청하려면 URL을 공백으로 구분하여 지정하면 됩니다.

curl https://a3040.com/curl/1.txt https://a3040.com/curl/2.txt


쿠키 전송

HTTP 요청에 쿠키를 추가하려면 -b 옵션을 사용합니다.

curl -b "session_id=123456" https://www.example.com/


http://site.{one,two,three}.com

or you can get sequences of alphanumeric series by using [] as in:

ftp://ftp.example.com/file[1-100].txt

ftp://ftp.example.com/file[001-100].txt  (with leading zeros)

ftp://ftp.example.com/file[a-z].txt

Nested sequences are not supported, but you can use several ones next

to each other:

http://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html

















Note > 리눅스 명령어 모음df

By a3040, Published on Invalid Date

파일 시스템의 용량, 사용량, 사용 가능한 용량 등의 정보를 확인할 수 있습니다.


df -h

사람이 읽기 쉬운 형태로 출력합니다.

df -hT

-T 옵션을 사용하면 파일 시스템의 유형도 함께 출력합니다.


Note > 리눅스 명령어 모음du - estimate file space usage

By a3040, Published on Invalid Date

파일 및 디렉토리의 디스크 사용량을 보고하는 명령어입니다. 주로 디스크 용량을 확인하는데 사용됩니다.


du -h

현재 디렉토리 내의 모든 파일 및 디렉토리의 크기 확인


du -h public_html/

현재 디렉토리 내의 특정 디렉토리의 크기 확인


du --max-depth=1 -h //서버 사용량이 가득 차오를때 누가 범인인지 확인하기 용이합니다.

현재 디렉토리의 하위 디렉토리까지만 1단계까지의 디렉토리 사이즈를 출력


Note > 리눅스 명령어 모음grep - print lines that match patterns

By a3040, Published on Invalid Date

 grep, egrep, fgrep, rgrep - print lines that match patterns


특정 문자열이 포함된 행을 파일 또는 입력 스트림에서 찾아 출력하는 명령어입니다. 일반적으로 로그 파일이나 소스 코드에서 특정 문자열을 찾아내는 데에 많이 사용됩니다.


-i : 대소문자를 구분하지 않습니다.

-v : 지정한 문자열을 제외한 나머지 행을 출력합니다.

-n : 매칭된 행의 줄 번호를 출력합니다.

-l : 파일 이름만 출력합니다.

-r : 하위 디렉토리를 재귀적으로 검색합니다.

-E : 확장 정규식을 사용합니다. (기본값은 기본 정규식입니다.)


/var/log$ dmesg | grep 'error'


grep -r 'example' /var/log : /var/log 디렉토리와 그 하위 디렉토리에서 'example' 문자열이 포함된 모든 파일의 행을 출력합니다.


ps aux | grep 'node' : 현재 실행 중인 프로세스 중 'node' 문자열을 포함하는 모든 프로세스를 출력합니다.


grep node 명령어 자체로 프로세스에 있어서 두개의 결과가 나옴 이럴때 옵션 -v를 사용합니다.

쉘스크립트 만들때 $PID 값 만들때도 사용되어서 service 관련 스크립트에 자주 나옵니다.


Note > 리눅스 명령어 모음sed - stream editor for filtering and transforming text

By a3040, Published on Invalid Date

스트림 편집을 위한 명령어로, 텍스트 데이터를 읽어들여 특정 패턴을 찾아 다른 패턴으로 치환하거나, 텍스트를 삭제 또는 추출하는 등 다양한 작업을 수행할 수 있습니다.


sed [옵션] '스크립트' [입력 파일]


# 파일에서 'hello'를 'world'로 치환하는 예시

sed 's/hello/world/' file.txt


# 파일에서 'hello'가 포함된 라인을 삭제하는 예시

sed '/hello/d' file.txt


# 파일에서 첫 번째 라인을 출력하는 예시

sed -n '1p' file.txt


-n(출력을 억제)

-i(파일 내용을 직접 수정)

-e(다중 명령어 실행)


cat file.txt | sed 's/^/I like /'