명령
구문문, 플래그 설명 및 사용법 예제를 포함하여 AIX® 명령에 대한 정보를 열람합니다. 명령은 알파벳순으로 나열되어 있습니다. AIX 운영 체제는 UNIX 기반 운영 체제의 이식성을 위해 The Open Group'
www.ibm.com
a
alias
# alias 설정파일 생성
touch ~/.zsh_aliases
# 랜덤비밀번호 생성
echo "alias pwdgen='openssl rand -base64 32' >> .zsh_aliases
# .zshrc 에 .zsh_aliases 파일 활성시키기
echo "#aliases" >> .zshrc && echo "source ~/.zsh_aliases" >> .zshrc
source ~/.zshrc
pwdgen
c
cat
# Linux 해당 임시포트 확인
cat /proc/sys/net/ipv4/ip_local_port_range
d
du
disk usage 의 줄임말로 해당 파일이나 디렉토리가 차지하는 사이즈 체크할때 사용
# 특정한 파일에 대한 사이즈를 알고싶을때
du -h <filename>
# 해당 디렉토리에 대한 사이즈 알고싶을때
du -sh <directory>
f
find
# / 는 루트부터 찾고 현 디렉토리만 찾고싶으면 .
find / -name "찾고싶은 파일이름"
g
getopts : 옵션 핸들링
#!/bin/sh
intValue=0
stringValue=""
# a,h 옵션은 인수를 받지 않고 b 옵션은 인수를 받는다.
# 인수를 받는 옵션은 $OPTARG 로 받는다.
while getopts "ab:h" opt
do
case $opt in
a) intValue=200
;;
b) stringValue="$OPTARG"
;;
h) echo "-a 옵션은 intValue 를 200 으로 설정"
echo "-b 옵션은 stringValue 를 뒤에 인수를 추가해 설정 ex) -b 키키키"
;;
\?) echo "Usage: getopts.sh [-a] [-p separator] target_dir" 1>&2 # 해당 Usage 를 error 스트림으로 출력한다.
exit 1
;;
esac
done
# $1 , $2 ,$3 은 인자로 받은것들을 순서대로 출력
#echo "$1"
#echo "$2"
#echo "$3"
# getopts 로 처리하고 남은 다음 처리할 인덱스 번호를 가리키는 것 (OPTIND)
#echo "$OPTIND"
grep
grep [OPTION] [PATTERN] FILE
- OPTION
- -v : 매칭되는 [PATTERN]이 존재하지 않는 라인 선택
# .env 파일에서 #으로 시작하는 줄만 , 즉 주석처리된것만 제외하고 출력
grep -v '^#' .env
i
iconv
- OPTION
- -f : 해당 파일의 기본 인코딩
- -t : 출력의 인코딩
# 출력될 내용을 iconv 의 입력으로 받은후 기본 euc-kr 을 utf-8 로 변경해 화면에 출력
cat <file> | iconv -f euc-kr -t utf-8
n
netstat
- OPTION
- -l : LISTEN 중인 포트
- -n : 주소 , 포트를 숫자로 표현
- -t : TCP 로 연결된 포트
- 좆키피디아에 따르면 리눅스에서 netstat 은 시대에 뒤쳐진 것으로 간주, iproute2의 일부인 ss를 대신 사용하라고 함
- 곧 netstat = ss
# 대체로 이걸 많이씀 LISTENING 하고 있는 TCP 를 숫자로 표현
netstat -lnt
# 아니면 ss -lnt
p
ping
- OPTION
- -a : 주소를 호스트 이름으로 확인하는 명령 옵션 (가능하다면)
# 로컬의 주소를 ping
ping -a $(curl ifconfig.me)
s
sh
- OPTION
- -c 옵션은 해당 운영체제에 맞게 default 로 정해진대로 실행한다.
- 예를 들어 우분투에선 /bin/dash , macos 에선 /bin/bash 등으로 실행되게 되는데
- 해당 디폴트 값을 알고싶으면 아래와 같은 커맨드로 확인 할수 있다.
- echo $0
- Usage : sudo sh -c 'echo "foo" > /home/bar'
ssh
- OPTION
- -L
- 로컬(클라이언트) 호스트의 지정된 TCP 포트 또는 Unix 소켓에 대한 연결이 원격 측의 지정된 호스트 및 포트 또는 Unix 소켓으로 전달되도록 지정한다. 이는 로컬 측의 TCP 포트(선택적으로 지정된 bind_address에 바인딩됨) 또는 Unix 소켓에 수신 대기하도록 소켓을 할당하여 작동한다. 연결이 될 때마다 로컬 포트 또는 소켓에 연결되면 보안 채널을 통해 연결이 전달되고 호스트 포트 hostport 또는 Unix 소켓 remote_socket에 연결된다.
- 본인은 bastion host 를 두고 데이터베이스 포트 연결을 할때 사용함
ssh -L {localhost:(생략가능)}{포트번호}:{데이터베이스호스트}:{포트번호} -i ~/.ssh/myungsworld-bastion.pem ec2-user@{ip주소}
systemctl
PreRequiste
sudo yum install systemd # For Amazon Linux, CentOS, or RHEL
sudo apt-get install systemd # For Ubuntu or Debian
- aws linux 기준
- /etc/systemd/system 에 myungsworld.service 파일 생성
[Unit]
Description=myungsworld daemon
After=syslog.target network.target
[Service]
User=myungsworld
Type=simple
# 이건 elasticbeanstalk 으로 배포한적이 있기때문에 EnvrionmentFile 위치를 이렇게 설정
EnvironmentFile=/opt/elasticbeanstalk/deployment/env
# 금융쪽 데이터들은 모두 EUC-KR 이다 이새기들은 바꿀생각이 없으니 로마에왔으면 로마법에 따를수 있도록
Environment="TZ=Asia/Seoul"
ExecStart=/bin/myungsworld
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myungsworld
- sudo systemctl daemon-reload : systemd 에 새로운 .service 파일 구성 적재
- sudo systemctl start myungsworld : myungsworld.service 기반으로 myungsworld 실행파일 시작
- sudo systemctl status myungsworld : myungsworld 상태보기
- sudo systemctl enable myungsworld : 부팅시 자동으로 시작하기 위한 명령어
t
tcpdump
- TCP/IP 패킷 트래픽 모니터링 명령어
- OPTION
- -i {interface} : 해당 네트워크 인터페이스 지정가능 ex ) eth0
- port {포트번호} : 포트지정 가능 , or 로 포트 여러개 선택 가능
- OPTION
// 관리자 권한으로 eth0 인터페이스로 통하는 5000번 600번 5100번 포트 모두 모니터링
sudo tcpdump -i eth0 port '(5000 or 6000 or 5100)'
// 패킷 출력 정보 순서
[Timestamp] [Protocol] [Src IP].[Src Port] > [Dst IP].[Dst Port]: [Flags], [Seq], [Ack], [Win Size], [Options], [Data Length]
'linux' 카테고리의 다른 글
Linux curl 명령어 (0) | 2022.10.13 |
---|---|
Linux lsof 명령어 (0) | 2022.10.13 |
listen tcp :5000: bind: address already in use MacOs Monterey (0) | 2022.10.12 |
초보자를 위한 깃허브 ssh 설정 스크립트 (macOS) (0) | 2022.10.06 |
윈도우 wsl 세팅 (0) | 2022.10.04 |