네로개발일기

개발자 네로의 개발 일기, 자바를 좋아합니다 !

'programming language/Linux'에 해당되는 글 3건


반응형

scp 명령어

ssh 원격 접속 프로토콜을 기반으로 Secure Copy의 약자로 원격지에 있는 파일과 디렉터리를 보내거나 가져올 때 사용하는 파일 전송 프로토콜이다. 네트워크가 연결되어 있는 환경에서 ssh와 동일한 22번 포트와 identity file을 사용해서 파일을 송수신하기 때문에 보안적으로 안정된 프로토콜이다.

Local 로컬에서 Remote 원격지

1. 단일 파일을 원격지로 보낼 때

# scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[파일이 저장될 경로]
# scp testfile2 root@192.168.12.14:/tmp/testclient

 

2. 복수의 파일을 원격지로 보낼 때

# scp [옵션] [파일명1] [파일명2] [원격지_id]@[원격지_ip]:[파일이 저장될 경로]
# scp testfile1 testfile2 root@192.168.12.52:/tmp/testclient

 

3. 여러 파일을 포함하고 있는 디렉터리를 원격지로 보낼 때 (-r 옵션을 사용한다)

# scp [옵션] [디렉터리 이름] [원격지_id]@[원격지_ip]:[파일이 저장될 경로]
# scp -r testdirectory root@192.168.12.52:/tmp/testclient

 

r 디렉터리 내 모든 파일/디렉터리 복사 scp -r
p (소문자) 원본 권한 속성 유지 복사 scp -p
P (대문자) 포트 번호 지정 복사 scp -P [포트번호] 
c (소문자) 압축 복사 scp -c 
v 과정 출력 복사 scp -v
a 아카이브 모드 복사 scp -a

 

Remote 원격지에서 Local 로컬

1. 단일 파일을 원격지에서 로컬로 가져올 때

# scp [옵션] [원격지_id]@[원격지_ip]:[원본 위치] [로컬 서버에 저장될 경로]
# scp root@192.168.14.12:/tmp/testclient/testfile1 /tmp

 

2. 복수의 파일을 원격지에서 로컬로 가져올 때

# scp [옵션] [원격지_id]@[원격지_ip]:[원본 위치1] [원본 위치2] [로컬 서버에 저장될 경로]
# scp root@192.168.14.12:"/tmp/testclient/testfile1 /tmp/testclient/testfile2" /tmp

 

3. 여러 개의 파일을 포함하는 디렉터리 원격지에서 로컬로 가져올 때

# scp [옵션] [원격지_id]@[원격지_ip]:[디렉터리 위치] [로컬 서버에 저장될 경로]
# scp -r root@192.168.14.12:/tmp/testclient/test /tmp
728x90
반응형
blog image

Written by ner.o

개발자 네로의 개발 일기, 자바를 좋아합니다 !

반응형

curl이란?

Client URL

서버와 통신할 수 있는 커맨드 명령어 툴입니다. curl의 특징은 수많은 프로토콜을 지원합니다.

 

지원하는 프로토콜

DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet, TFTP

 

SSL 인증방식 역시 가능하다.

 

curl 사용법

$ curl [options] [URL...]
-k --insecure https 사이트를 SSL certificate 검증없이 연결한다. wget 의 --no-check-certificate 과 비슷한 역할 수행
-l --head HTTP header 만 보여주고 content 는 표시하지 않는다.  
-D --dump-header <file> <file> 에 HTTP header 를 기록한다.  
-L --location 서버에서 HTTP 301 이나 HTTP 302 응답이 왔을 경우 redirection URL 로 따라간다.
--max-redirs 뒤에 숫자로 redirection 을 몇 번 따라갈지 지정할 수 있다. 기본 값은 50이다
curl -v daum.net 을 실행하면 결과값으로 다음과 같이 HTTP 302 가 리턴된다.
< HTTP/1.1 302 Object Moved
< Location: http://www.daum.net/

-L 옵션을 추가하면 www.daum.net 으로 재접속하여 결과를 받아오게 된다.
-d --data HTTP Post data FORM 을 POST 하는 HTTP나 JSON 으로 데이타를 주고받는 REST 기반의 웹서비스 디버깅시 유용한 옵션이다
-v --verbose  동작하면서 자세한 옵션을 출력한다.  
-J --remote-header-name 어떤 웹서비스는 파일 다운로드시 Content-Disposition Header를 파싱해야 정확한 파일이름을 알 수 있을 경우가 있다. -J 옵션을 주면 헤더에 있는 파일 이름으로 저장한다. curl 7.20 이상부터 추가된 옵션
-o --output FILE curl 은 remote 에서 받아온 데이타를 기본적으로는 콘솔에 출력한다. -o 옵션 뒤에 FILE 을 적어주면 해당 FILE 로 저장한다. (download 시 유용)  
-O --remote-name file 저장시 remote 의 file 이름으로 저장한다. -o 옵션보다 편리하다.  
-s --silent 정숙 모드. 진행 내역이나 메시지등을 출력하지 않는다. -o 옵션으로 remote data 도 /dev/null 로 보내면 결과물도 출력되지 않는다 HTTP response code 만 가져오거나 할 경우 유리

> 옵션없이 호출할 경우 curl은 지정된 리소스를 표준 출력에 표시합니다.

예를 들어 example.com 홈페이지를 검색하려면 다음을 실행하고

$ curl example.com

이 명령어는 터미널창에 example.com 홈페이지의 소스코드를 출력합니다. 

프로토콜을 지정하지 않은 경우, curl은 사용할 프로토콜을 추측하려고 시도하며 이 프로토콜은 HTTP로 기본

 

설치방법

Ubuntu 및 Debian에 curl 설치

$ sudo apt update
$ sudo apt install curl

CentOS 및 Fedora에 curl 설치

$ sudo yum install curl

 

 

출처

https://jjeongil.tistory.com/1313

 

Linux : Curl 명령어 예시, 예제, 방법

curl은 사용자 상호 작용 없이 작동하도록 설계된 서버에서 또는 서버로 데이터를 전송하기 위한 명령줄 유틸리티입니다. curl을 사용하면 HTTP, HTTPS, SCP , SFTP 및 FTP 등 지원되는 프로토콜 중 하나

jjeongil.tistory.com

 

728x90
반응형
blog image

Written by ner.o

개발자 네로의 개발 일기, 자바를 좋아합니다 !

반응형

# 프로세스란?

실행중인 프로그램

 

# ps 명령어

- Process 와 관련 linux 명령어는 ps 입니다.

옵션 기능
-e 시스템 상의 모든 프로세스 정보를 출력
-f 상세한 정보를 출력 (full-format)

 

$ ps -ef
  UID   PID  PPID   C STIME   TTY           TIME CMD
    0     1     0   0  4:57PM ??         0:07.21 /sbin/launchd
    0    69     1   0  4:57PM ??         0:00.61 /usr/sbin/syslogd
옵션 기능
UID 프로세스를 실행한 사람 (User ID)
PID 프로세스를 구분하기 위해 만들어진 프로세스 ID (Process ID)
PPID 부모 프로세스 ID (Parent Process ID)
C 스케쥴링을 위한 CPU 사용량
STIME 프로세스 시작 시간
TTY 장치 번호, 해당 프로세스의 입출력 담당 터미널
TIME CPU 점유 시간
CMD command

 

# Kill 명령어

- 프로세스에 시그널을 보내는 명령어이다.

1. kill 시그널 리스트 확인

$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

2. 주요 시그널

시그널 영어 설명
1) SIGHUP Hang Up 세션이 종료될 때 시스템이 내리는 시그널
2) SIGINT Interrupt Ctrl + C, 종료 요청 시그널
9) SIGKILL Kill 강제 종료 시그널
11) SIGSEGV Segment Violation 메모리 침범이 일어날 때 시스템이 보내는 시그널
15) SIGTERM Terminate 기본 값, 종료 요청 시그널
20) SIGTSTP Temporary Stop Ctrl + Z 일시 중지 요청 시그널

3. 프로세스에 시그널 보내기

$ kill [option] PID

# 1234(PID) 프로세스 종료 
$ kill -9 1234
$ kill -SIGKILL 1234

 

 같이 보면 좋은 글 

https://frogand.tistory.com/187

 

[Graceful Shutdown] kill -9 쓰지말자!

kill -9로 종료하는 것은 좋지않다. jvm shutdown hook 또는 spring의 @PreDestroy의 실행을 보장하기 힘들다. kill -2(SIGINT) 혹은 kill -15(SIGTERM)을 쓰는 것이 좋다. kill 명령어와 Graceful Shutdown에 대..

frogand.tistory.com

 

728x90
반응형
blog image

Written by ner.o

개발자 네로의 개발 일기, 자바를 좋아합니다 !