[RHEL6] 서버 및 클라이언트 명령어 8탄(talk, telnet, tftp, wall, wget)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 서버 및 클라이언트 명령어 8탄(talk, telnet, tftp, wall, wget)

by 찬찬이 아빠 2020. 2. 14.
반응형
  29. talk(1대 1대화)

 1) 경로 : /usr/bin/talk

 2) 요약 : 터미널로 접속한 사용자와 대화하는 명령어

 3) 사용 방법 : talk [사용자ID] [tty 이름]

 - 사용자ID : 접속한 사용자를 지정

 - tty 이름 : 같은 사용자이라면 tty를 지정. tty** 또는 pts/X로 지정

 - 현재 시스템에서 접속 중인 사용자는 finger 명령으로 확인

 4) 추가 설명

talk 명령어는 터미널에서 사용하는 채팅 프로그램입니다. 하나의 시스템에 로그인한 사용자는 물론 네트워크로 연결되어 있는 시스템의 사용자와도 대화할 수 있습니다. 단 talk를 위해서는 대화 상대방의 시스템에 talk 데몬이 동작하고 있어야 합니다.

 

talk로 동일한 시스템의 접속한 상대방과 연결을 시도하려면 talk [사용자ID]를 사용합니다. 만일 동일한 ID의 다른 터미널의 사용자와 연결하려면 아래와 같이 tty의 이름을 추가적으로 붙여줍니다. 대화 대상인 상대방의 터미널을 지정하면 아래와 같은 메시지와 함께 응답을 기다리게 됩니다.

$ talk chan pts/2
[Waiting for you party to respond]

 

상대방의 터미널 창에 아래의 메시지가 뜨면서 대화를 요청하고 있다는 것을 알려줍니다. 상대방도 위에서 설명한 것과 동일하게 사용자에게 연결해야 합니다.

Message from Talk_Daemon@localhost.localdomain at 0:24 ...
talk: connection requested by chan@localhost.localdomain.
talk: respond with: talk chan@localhost.localdomain
$ talk chan

 

서로 talk로 연결되면 창을 위 아래로 분할하여 위쪽 창에는 사용자가 입력하는 내용을 아래 창에는 상대방이 입력하는 내용을 출력합니다.

 

예를 들어 네트워크로 연결된 또 다른 시스템인 command.chanchan.co.kr의 park이라는 상대방과 talk하려면 아래와 같이 접속할 수 있습니다.

# talk park@command.chanchan.co.kr

 

ntalk

talk를 사용하려면 talk 서버가 활성화되어 있어야 합니다. talk는 Sun(2010년 현재 오라클이 인수함)의 OS에서 사용되던 것으로 현재 시스템에는 거의 ntalk(New Talk)가 설치되어 있습니다. 예를 들어 ntalk은 레드햇 리눅스에서 xinitd 데몬에 포함되어 있습니다. 참고로 talk는 포트 517을 사용하고, ntalk는 포트 518을 사용하여 서로 호환하지 않습니다.

 

 

 

  30. telnet(원격 접속)

 1) 경로 : /usr/bin/telnet

 2) 요약 : 원격으로 호스트에 접속을 하기 위한 명령어

 3) 사용 방법 : telnet [옵션] [호스트 [포트]]

 4) 옵션

 - 호스트 : 접속할 호스트로 인터넷 주소 형식으로 사용

 - 포트 : 접속에 사용할 호스트의 포트를 지정. 초기값은 23번을 사용

 -l 사용자 ID : 텔넷서버 시스템에 접속할 사용자 ID를 지정

 -a : 현재 사용자를 ID로 사용하여 접속

 

 5) 추가 설명

telnet 명령어는 원격 터미널 서버에 접속하기 위한 클라이언트 명령어로 TCP/IP 기반의 프로토콜입니다. 아래와 같이 telnet은 접속할 서버 IP 혹은 도메인을 지정합니다.

$ telnet 192.168.1.1
Tyying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
login:

 

아래와 같이 사용자 ID를 지정하면 해당 ID의 패스워드를 요구합니다. 참고로 -a 옵션은 현재 로그인한 사용자의 ID로 접속합니다.

$ telnet -l chan 192.168.1.1

 

아래와 같이 텔넷 접속을 위한 서버의 포트를 지정할 수 있습니다. 텔넷은 일반적으로 23번 포트를 사용합니다.

$ telnet 192.168.1.1 5050
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
login:

 

telnet 명령어는 직접 서버의 서비스 포트로 연결하여 외부에 열려 있는 포트의 정보를 구별할 수 있습니다. google.co.kr 호스트가 80 포트로 웹 서비스 중일 때 telnet google.co.kr 80 명령은 아래오 ㅏ같이 "Connected to"의 메시지로 서비스 포트를 구별할 수 있습니다.

$ telnet google.co.kr 80
Trying 74.125.19.103...
Connected to google.co.kr.
Escape character is '^]'.

 

아래와 같이 21 포트로 연결을 시도해 보았습니다. "Connection refused"  메시지로 21번 포트가 외부로 서비스되지 않음을 알 수 있습니다.

$ telnet 192.168.1.1 21
Trying 192.168.1.1...
telnet: Unable to connect to remote host: Connection refused

 

아래와 같이 telnet만 실행하면 telnet> 명령행에 진입할 수 있습니다. help 명령으로 사용할 수 있는 명령어는 아래와 같습니다.

$ telnet
telnet>

 

<telnet 명령어>

텔넷 연결 중에 Ctrl+] 단축키는 명령 모드로 진입합니다.

명령어 설명
logout 사용자가 로그 아웃하며 접속을 해제
display 인수를 출력
mode 문장이나 문자의 모드를 변경. mode ?는 사용법을 출력
open 지정한 호스트나 IP로 연결
quit 텔넷 종료
send 특수 문자를 보냄. send ?는 사용법을 출력
set 인수를 설정. set ?는 사용법을 출력
unset 인수 설정을 해제. unset ?는 사용법을 출력
status 텔넷의 현재 상태를 출력
toggle 인수를 고정. toggle ?는 사용법을 출력
slc 특수 문자의 상태를 변경. slc ?는 사용법을 출력
z 텔넷을 중지
! 쉘의 명령어를 사용할 수 있음
environ 환경 변수를 변경. environ ?는 사용법을 출력
? 사용법을 출력

 

 

 

  31. tftp(tftp 서버 클라이언트)

 1) 경로 : /usr/bin/tftp

 2) 요약 : tftp 서버 서비스 클라이언트

 3) 사용 방법 : ttp [호스트]

 4) 추가 설명

tftp 명령어는 TFTP(Trivial File Transfer Protocol) 서비스로 연결하는 클라이언트로 FTP보다 간단한 기능을 제공합니다. 사용자 인증이 필요 없으며 디렉터리 구조를 출력하지 않습니다.

 

tftp 클라이언트를 사용하는 방법은 ftp와 같습니다. 아래와 같이 원격의 호스트에 접속하려면 서버의 IP나 도메인명을 지정합니다.

 

아래는 tftp> 명령행에서 사용할 수 있는 명령어입니다.

명령어 설명
? 사용법을 출력
acsii mode ascii와 동일하며 아스키 모드로 변경. 기본값
binary mode binary와 동일하며 바이너리 모드로 변경
status 현재 tftp의 상태를 출력
verbose tftp 상황을 자세히 출력
mode 전송 모드(ASCII나 binary 모드)로 설정
connect 호스트 [포트] 지정한 호스트와 포트로 접속을 시도
mget 원격파일명

접속한 호스트의 파일을 로컬 시스템에 다운로드

한번에 여러 파일을 짖어하여 다운로드 가능

get 원격파일명 로컬파일명

접속한 호스트의 파일을 지정한 로컬파일명으로 다운로드

mput 로컬파일명... 원격디렉터리

로컬의 파일을 원격접속 호스트의 디렉터리에 업로드

한 번에 여러 파일을 지정하여 업로드 가능

put 로컬파일명 원격파일명

로컬파일명을 원격접속 호스트에 지정한 원격파일명으로 업로드

quit

tftp 접속을 종료

 

 

 

  32. wall(모든 사용자에게 쪽지 보내기)

 1) 경로 : /usr/bin/wall

 2) 요약 : 모든 터미널에 메시지를 출력

 3) 사용 방법 : wall [메시지]

 4) 추가 설명

wall 명령어는 시스템에 로그인한 사용자의 터미널에 메시지를 보냅니다. wall 명령어와 함께 사용자에게 보내고 싶은 메시지를 지정하면, 로그인한 사용자의 터미널에 "Broadcast message"로 시작하는 메시지와 지정한 메시지를 출력합니다.

# wall After 5 minites, System is reboot!!!!
#
Broadcast message from root (pts/1) Fri Feb 14 14:22:12
2002...
After 5 minites, System is reboot!!!!

 

 

  33. wget(비대화형 네트워크 다운로더)

 1) 경로 : /usr/bin/wget

 2) 요약 : 비대화형 모드로 네트워크 URL에서 파일을 다운로드

 3) 사용 방법 : wget [옵션]... [URL]...

 4) 옵션

<시작관련>

 -V, --version : 버전 정보 출력

 -h, --help : 사용법 출력

 -b, --background : 백그라운드로 실행

 -e, --execute=COMMAND : .wgetrc 스타일의 명령을 실행

 

<로그 및 입력 파일 관련>

 -o, --output-file=FILE : 로그 메시지를 파일(FILE)에 저장

 -a, --append-output-FILE : 로그 메시지를 파일(FILE)에 추가적으로 저장

 -d, --debug : 디버그 정보를 출력

 -q, --quiet : 메시지를 출력하지 않음

 -v, --verbose : 상세한 정보를 출력(기본값 0)

 -nv, --no-verbose : 상세한 정보를 출력(-v 옵션보다 상세하지 않음)

 -i, --input-file=FILE : 다운로드 URL 파일(FILE)을 지정

 -F, --force-html : 입력 파일을 HTML로 취급

 -B, -base=URL : -F나 -i 옵션과 같이 지정한 파일에서 URL링크를 추가

 

<다운로드 관련>

 -t, --tries=NUMBER : 다운로드할 때 재시도 횟수(NUMBER)를 지정(0은 무제한)

 --retry-connrefused : 연결이 거부되더라도 재시도

 -O, --output-document=FILE : 도큐먼트를 파일(FILE)로 저장

 -nc, --no-colbber : 다운로드할 때 파일이 존재하면 다운로드를 다음 파일로 건너뜀

 -c, --continue : 다운로드하는 도중 중단된 파일을 이어서 다운로드

 --progress=TYPE : 진행 사항을 다타내는 상태의 타입(TYPE)을 지정

 -N, --timestamping : 로컬에 존재하는 파일보다 업데이트된 파일만 다운로드함

 -S, --server-response : 서버 응답 정보를 출력

 --spider : 어떤 것도 다운로드 하지 않음

 -T, --timeout=SECONDS : 다임아웃 값(SECONDS)을 지정

 --dns-timeout=SECS : DNS 룩업 시간(SECS)을 지정

 --connect-timeout=SECS : 연결 타임아웃(SECS)을 지정

 --read-timeout=SECS : 연결 타임아웃(SECS)을 지정

 -w, --wait=SECONDS : 검색 후 대기 시간(SECONDS)을 지정

 -waitretry=SECONDS : 검색 후 재시도 횟수를 1에서 지정한 초(SECONDS)까지 대기

 --no-proxy : 프록시를 사용하지 않음

 -Q, --quota=NUMBER : 다운로드 쿼더(NUMBER)를 지정

 --bind-address=ADDRESS : 로컬 호스트의 주소(ADDRESS)를 지정(호스트명이이나 IP)

 --limit-rate=RATE : 다운로드 비율(RATE)를 제한

 --no-dns-cache : 캐시 DNS 룩업을 비활성화

 --restrict-file-names=OS : 다운로드할 파일 이름(OS)을 제한

 --ignore-case : 파일이나 디렉터리의 대소문자를 무시

 -4, --inet4-olny : IPv4 주소에만 접속

 -6, --inet6-only : IPv6 주소에만 접속

 --user=uSER : ftp나 http 사용자(USER)를 지정

 --password=PASS : ftp나 http 패스워드(PASS)를 지정

 

<디렉터리 관련>

 -nd, --mp-directories : 디렉터리를 생성하지 않음

 -x, --force-directories : 디렉터리를 강제로 생성

 -nH, --no-host-directories : 호스트의 디렉터리를 생성하지 않음

 --protocol-directories : 디렉터리에서 프로토콜 이름을 이용

 -P, --directory-prefix=PREFIX : 지정한 문자(PREFIX)로 시작하는 파일명으로 저장

 --cut-dirs=NUMBER : 원격 디렉터리에서 지정한 숫자(NUMBER)만큼 제외

 

<HTTP 옵션>

 --http-user=USER : http 사용자(USER)를 지정

 --http-password=PASS : http 패스워드(PASS)를 지정

 --no-cache : 서버 캐쉬 데이터를 허락하지 않음

 -E, --html-extension : HTML 도큐먼르를 .html 확장자로 저장

 --ignore-length : 컨텐트 길이 헤더 필드를 무시

 --header=STRING : 헤더에 지정한 문자열(STRING)을 삽입

 --max-redirect : 페이지당 최대 리다이렉션을 허용

 --proxy-user=USER : 프록시 사용자명(USER)을 지정

 --proxy-password=PASS : 프록시 패스워드(PASS)를 지정

 --referer=URL : HTTP 요청에 REferer:URL을 포함

 --save-headers : HTTP 헤더를 파일에 저장

 -U, --user-agent=AGENT : wget 대신 에이전트(AGENT)를 지정

 --no-http-keep-alive : HTTP keep-alive를 비활성화

 --no-cookies : 쿠키를 사용하지 않음

 --load-cookies=FILE : 세션 이전에 지정한 FILE 쿠키를 로딩

 --save-cookies=FILE : 세션 후에 쿠키를 파일(FILE)에 저장

 -keep-session-cookies : 세션 쿠키를 로딩하고 저장

 --post-data=STRING : POST 메소스 파일(STRING)을 지정

 --post-file=FILE : POST 메소드 파일(FILE)을 지정

 

<HTTPS(SSL/TLS) 옵션>

 --secure-protocol=PR : auto, SSLv2, SSLv3, TLSv1 중 보안 프로토콜을 설정

 --no-check-certificate : 서버 인증을 체크하지 않음

 --certificate=FILE : 클라이언트 인증 파일(FILE)을 지정

 --certificate-type=TYPE : PEM이나 DER 타입으로 클라이언트 인증서를 지정

 --private-key=FILE : 개인 키 파일(FILE)을 지정

 --private-key-type=TYPE : 개인 키 타입(PEM 또는 DER)을 지정

 --ca-certificate=FILE : CA 파일(FILE)을 지정

 --ca-directory=DIR : CA의 디렉터리(DIR)을 지정

 

<FTP 옵션>

 --ftp-user=USER : ftp 사용자(USER)를 지정

 --ftp-password=PASS : ftp 패스워드(PASS)를 지정

 --no-remove-listing : .listing 파일을 삭제하지 않음

 --no-glob : 그로빙(grobbing)을 해제

 --no-passive-ftp : passive 전송 모드를 비활성화

 --retr-symlinks : 하위 디렉터리까지 복사할 때 링크된 파일의 원본 위치에서 다운로드(디렉터리 제외)

 --preserve-permissions : 원격 파일의 권한을 보존

 

<리커시브 다운로드>

 -r, --recursive : 하위디렉터리까지 다운로드

 -l, --level=NUMBER : 하위 디렉터리의 단계를 최대 값(NUMBER)만큼 지정

 --delete-after : 다운로드 후 로컬의 파일을 삭제

 -k, --convert-links : 다운로드 한 HTML 포인트에 있는 링크를 로컬 파일로 만듦

 -K, --backup-converted : X 파일을 컨버팅하지 전에, X.orig 형식으로 백업

 -m, --mirror : -N -r -l inf -no-remove-listing 옵션과 같음

 -p, --page-requisites : HTML 페이지에 보이는 필요한 모든 이미지 등도 다운로드

 --strict-comments : SGML을 활성화

 

<리커시브 수락/제외>

 -A, --accept=LIST : 콤마(,)로 구분된 수락할 목록(LIST)을 지정

 -R, --reject=LIST : 콤마(,)로 구분된 제외할 목록(LIST)을 지정

 -D, --domains=LIST : 수락한 도메인을 콤마(,)로 구분된 목록(LIST)을 지정

 --exclude-domains=LIST : 제외할 도메인을 콤마(,)로 구분된 목록(LIST)을 지정

 --follow-ftp : HTML 도큐먼트에서 FTP 링크를 허용

 --follow-tags=LIST : 따라갈 HTML 태그를 콤마(,)로 구분된 목록(LIST)을 지정

 --ignore-tags=LIST : 무시할 HTML 태그를 콤마(,)로 구분된 목록(LIST)을 지정

 -H, --span-hosts : 리커시브 시 다른 호스트로도 나감

 -L, --relative : 관련된 링크만 따라감

 -I(아이), --include-directories=LIST : 수락할 디렉터리(LIST)를 지정

 -X, --exclude-directories=LIST : 제외할 디렉터리(LIST)를 지정

 -np, --no-parent : 상위 디렉터리로 올라가지 않음

 

 5) 추가 설명

ftp와 달리 wget 명령어는 명령행에서 직접 파일을 다운로드 할 수 있고 편리한 옵션이 많습니다.

 

-c 옵션은 이전에 받다 중단된 파일을 이어받을 때 사용합니다.

$ wget -c http://chanchan.co.kr/downloads/os.iso

 

-r 옵션은 지정한 URL의 하위 디렉터리를 모두 다운로드 합니다.

$ wget -r http://chanchan.co.kr/downloads/test/

 

-m 옵션은 URL에서 새롭게 업데이트된 내용만 다운로드 합니다.

$ wget -m http://chanchan.co.kr/downloads/
반응형

댓글