홈 › 리눅스 명령어 › 06 / 10

네트워크 명령 (ip·ss·ping·scp)

섹션 7진행 0 / 10

6. 연습 문제

문제 1. 내 IP 와 게이트웨이

서버의 IPv4 주소와 기본 게이트웨이만 출력하는 명령을 쓰세요.

bash
hostname -I
ip route | awk '/default/{print $3}'

ip route 의 default via 다음 열이 게이트웨이입니다.

문제 2. 포트 확인 두 가지

db-prod 의 1521 포트가 열렸는지 확인하는 명령을 nc 와 bash 내장으로 각각 쓰세요.

bash
nc -zv db-prod 1521
timeout 3 bash -c '</dev/tcp/db-prod/1521' && echo open || echo closed

nc 가 없는 서버에서 둘째 방법이 유용합니다.

문제 3. 폴더 동기화

로컬 build/ 내용을 app1 의 /opt/myapp/current/ 로 동기화하되 먼저 무엇이 바뀔지 보고 실행하는 명령 두 줄을 쓰세요.

bash
rsync -avzn build/ app1:/opt/myapp/current/
rsync -avz build/ app1:/opt/myapp/current/

-n 미리 보기 후 같은 명령에서 -n 만 뺍니다.

문제 4. ssh config

10.0.0.20 서버에 deploy 사용자, 2222 포트, ~/.ssh/deploy_key 로 접속하는 별칭 app2 설정을 쓰세요.

text
Host app2
    HostName 10.0.0.20
    User deploy
    Port 2222
    IdentityFile ~/.ssh/deploy_key

~/.ssh/config 에 넣으면 ssh app2 와 scp file app2:/tmp/ 가 됩니다.

문제 5. 원격 로그 검색

app1 의 /var/log/myapp/app.log 에서 오늘 ERROR 수를 접속 없이 한 줄로 세는 명령을 쓰세요.

bash
ssh app1 "grep -c ERROR /var/log/myapp/app.log"

원격 명령 실행 형태입니다. 여러 서버면 for 로 감쌉니다.