grep으로 공백/주석 제거하기
명령어: grep, cat
키워드: 공백, 주석 제거
사용처: 리눅스에서 공백, 주석 없이 파일을 보고 싶을 때
리눅스에서는 config 파일의 내용을 자주 들여다 봅니다. 하지만 주석 및 공백의 내용이 많이 들어가 있는 경우 내용확인이 불편할 경우가 있는데요. 공백과 주석을 제거해서 보면 현재 구성된 설정값을 한 눈에 볼 수 있습니다.
사용방법
$ grep -Ev "^$|#" /파일경로/파일명
$ cat /파일경로/파일명 | grep -Ev "^$|#"
아래 짧은 logrotate.conf 을 가지고 실습해보세요.
logrotate.conf 전체내용
# cat /...
네트워크_12 로컬 셸 스크립트 파일을 원격 호스트에서 그대로 실행하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: cat, ssh, hostname, ping
키워드: P 주소, 분기, 일치, 문자열
사용처: 로컬에 있는 셸 스크립트를 접속한 곳에 복사하지 않고 ssh로 실행하고 싶을 때
실행 예제
$ ./script-remote.sh
server04
Ping to 192.168.2.35 : [OK]
server05
Ping to 192.168.2.35 : [NG]
server06
Ping to 192.168.2.35 : [OK]
스크립트 1
#!/bin/sh
username="user1"
script="check.sh"
ca...
네트워크_11 IP 주소에 따른 처리 분기를 case문으로 작성하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: case, ping
키워드: IP 주소, 분기, 일치, 문자열
사용처: IP 주소마다 다른 처리를 하도록 간단히 분기하고 싶을 때
실행 예제
$ ./ipmatch.sh 192.168.2.1
Ping to 192.168.2.1 : [OK]
$ ./ipmatch.sh 192.168.3.1
192.168.3.1 테스트 대상이 아닙니다.
스크립트
#!/bin/sh
# 대상 IP 주소를 명령행 인수로 지정하지 않으면 에러 표시 후 종료
if [ -z "$1" ]; then # if문 --------------------- 1...
네트워크_10 지정한 크기의 파일을 만들어서 전송 속도를 측정하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: dd, time, ftp, bc
키워드: 전송 속도, 통신 속도, 네트워크 속도
사용처: 어떤 서버에 임시 파일을 전송해서 통신 속도를 측정하고 싶을 때
실행 예제
$ ./transfer-sec.sh
Filesize: 1024(KB)
FTP Server: 192.168.2.5
Transfer Speed: 978 (KB/sec)
스크립트
#!/bin/sh
# 전송 속도를 측정할 임시 파일 크기 지정. 단위는 킬로바이트(KB)
filesize=1024 # ------------------------------------...
네트워크_09 셸 스크립트로 CGI 실행하기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: echo, uptime
키워드: cgi
사용처: 셸 스크립트로 CGI 프로그램을 작성하고 싶을 때
실행 예제
파일을 /cgi-bin/test.cgi에 설치해서 웹 브라우저로 접속
Test CGI: uptime
13:59 up 1 day, 15:31, 2 users, load averages: 3.01 1.87 1.68
스크립트
#!/bin/sh
# CGI 헤더 출력
echo "Content-Type: text/plain" # --- 1
echo
# 명령어를 실행해서 브라우저에 표시
echo "Test CGI: up...
네트워크_08 ftp로 자동 내려받기, 자동 올리기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: ftp
키워드: ftp, 로그인, 자동화
사용처: ftp로 파일 연계하는 시스템에서 로그인 처리나 파일 내려받기, 올리기를 자동화하고 싶을 때
실행 예제
$ ./autoftp.sh
$ ls
autofs.sh app.log <-- app.log를 내려받기
스크립트
#!/bin/sh
# FTP 접속 설정
server="192.168.2.5"
user="user1"
password="패스워드 입력" # ----------- 1
dir="/home/park/myapp/log"
filename="app.log"
ftp...
네트워크_07 간이 TCP 서버 띄우기
출처 : 유닉스 리눅스 쉘스크립트 예제사전_한빛미디어
명령어: nc
키워드: 네트워크, 포트 번호, 방화벽, 확인, 데몬
사용처: 시스템 구축 시 미들웨어 등을 아직 설치하지 않은 서버와 네트워크 개통을 확인하고 싶을 때
실행 예제
$ ./port-httpd.sh
Connection from 192.168.2.5 port 8080 [tcp/webcache] accepted <-- 실행한 상태에서 다른 서버에서 nc 명령어로 패킷을 보냄
스크립트
#!/bin/sh
port=8080
nc -v -k -l $port # ----- 1
해설
서버에서 셸 변수 p...
195 post articles, 28 pages.