유용한 shell 명령어

archymi·2022년 7월 8일
1

유용했던 shell 명령어를 기록해본다.

# 현재 파일 목록의 크기 확인
# ls -alh 와 다른점은 depth 까지 들어가서 전체 크기를 리턴한다.
du -hs *

736M    fwk
476M    java
87M     jenkins

ls -alh

total 28K
drwxr-xr-x 1 root root 4.0K Jul  7 18:10 .
drwxr-xr-x 1 root root 4.0K Jul  7 18:02 ..
drwxr-xr-x 1 root root 4.0K Jul  7 17:18 fwk
drwxr-xr-x 3 root root 4.0K Jul  7 16:50 java
drwxr-xr-x 3 root root 4.0K Jul  8 00:09 jenkins

# 단어 찾기 명령어
grep -r "EhCache" *

# 다음과 같이 명령어를 치면 여러개의 폴더가 한번에 만들어진다.
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}

lsof -i:8080

COMMAND  PID        USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
node    3249 jiyong_park   18u  IPv4   47596      0t0  TCP *:http-alt (LISTEN)
node    3249 jiyong_park   19u  IPv4   70829      0t0  TCP jiyongpark:http-alt->xxx.xx.xx.xx:xxxxx (ESTABLISHED)
node    3249 jiyong_park   20u  IPv4   75359      0t0  TCP jiyongpark:http-alt->xxx.xx.xx.xx:xxxxx (ESTABLISHED)
node    3249 jiyong_park   21u  IPv4   62296      0t0  TCP jiyongpark:http-alt->xxx.xx.xx.xx:xxxxx (ESTABLISHED)
node    3249 jiyong_park   22u  IPv4  113589      0t0  TCP jiyongpark:http-alt->xxx.xx.xx.xx:xxxxx (ESTABLISHED)
node    3249 jiyong_park   23u  IPv4  364492      0t0  TCP jiyongpark:http-alt->xxx.xx.xx.xx:xxxxx (ESTABLISHED)

# localhost:80 -> localhost:8080
sudo iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-port 8080

# iptables 매핑 리스트 보기
sudo iptables -t nat -L --line-numbers
sudo iptables -nL

# 이름을 찾아서 뒤의 명령어를 실행시킨다.
find . -name Database.list -exec grep "SERVERCODE" {} +

# 해당 룰 지우기
sudo iptables -t nat -D OUTPUT 2

# 특정 포트오픈
iptables -A INPUT -p tcp --dport 포트번호 -j ACCEPT

# 특정 포트 막기
iptables -A INPUT -p tcp --dport 포트번호 -j DROP

# (참고) 추가한 규칙 삭제
iptables -D INPUT -p tcp --dport 12345 -j ACCEPT 
iptables -D INPUT -p udp --dport 12345 -j ACCEPT

# 10080 포트를 들어오는 ACCEPT 규칙을 추가
iptables -I INPUT -p tcp --dport 10080 -j ACCEPT 
# 10080 포트를 나가는 ACCEPT 규칙을 추가
iptables -I OUTPUT -p tcp --dport 10080 -j ACCEPT 
#-I(–insert) : 새 규칙 추가
#-p(–protocol) : 프로토콜
#–dport : 목적 포트
#-j : 규칙 대상 (ACCEPT, DROP, QUEUE, RETURN 등 가능)
#포트 닫기
# 10080 포트를 막는 DROP 규칙을 추가
iptables -D INPUT -p tcp --dport 10080 -j DROP 
# 10080 포트를 막는 DROP 규칙을 추가
iptables -D OUTPUT -p tcp --dport 10080 -j DROP 
-D(–delete) : 규칙 없애기

# certbot을 통한 SSL 재갱신
sudo service nginx stop
# 갱신 시도
sudo certbot renew --dry-run
# 갱신 시작
sudo certbot renew
sudo service nginx start

# 7000 port 에 실행중인 processId 구하기
sudo lsof -ti:7000

# ufw 활성화
sudo ufw enable
# ufw 비활성화
sudo ufw disable
# ufw 상태 확인
sudo ufw status verbose
# 정책 조회
sudo ufw show raw
# 기본 정책 허용
sudo ufw default allow
# 기본 정책 차단
sudo ufw default deny

# 들어오는 통신 차단
sudo ufw default deny incoming
# 나가는 통신 허용
sudo ufw default allow outgoing

# 80포트(HTTP) 허용
sudo ufw allow 80
# 80포트(HTTP) TCP 허용
sudo ufw allow 80/tcp
# 80포트(HTTP) UDP 허용
sudo ufw allow 80/udp
# 80포트(HTTP) 허용
sudo ufw allow http

# https://jojoldu.tistory.com/60
-w : 정확히 일치, -f : 포함
grep -rnw '찾고자하는 디렉토리 위치' -e "찾는 텍스트명"
grep -rnf '찾고자하는 디렉토리 위치' -e "찾는 텍스트명"

# 8000 번 포트로 서비스하는놈 죽이기
lsof -ti :8000 | xargs kill

0개의 댓글