커맨드 Cheatsheet

명령어를 멀티라인으로 치고 싶을때
명령어 뒤에 \\ 를 사용하고 Enter를 누르면 됨
Linux 파일 권한 & USER
- cat /etc/passwd : 사용자 목록 전체 확인
- su 사용자 : 사용자 변경 (기존 환경변수 가져감)
- su - 사용자 : 사용자 변경 (기존 환경변수 Clear)
- sudo : 루트 권한으로 실행
- /etc/sudoers에 등록된 사용자만 사용 가능 (sudo visudo로 파일 수정)
- whoami : 현재 유저 보여주기
[참고]
https://jhnyang.tistory.com/10
https://opentutorials.org/module/432/3742
https://neul-carpediem.tistory.com/84 http://www.incodom.kr/Linux/기본명령어/chmod
서버 상태 확인하기
- top 명령어로 load average, 프로세스 별 상태(cpu, memory) 확인 가능
- system(sy) : kernal 영역(하드웨어, 메모리 할당, OS 커뮤니케이션 등)에서 사용된 CPU 시간
- user(us) : 사용자 영역(일반 애플리케이션)에서 사용한 CPU 시간 (system이 아닌 것들)
- sar 명령어는 timely하게 cpu 별로 상세 상태(usr, sys, iowait 등) 확인 가능
- idle(id) : 놀고있는 CPU의 시간
- iowait : io작업이 끝날 때까지 기다리는 시간임. iowait이 길면 프로세서 바깥의 문제임을 알 수 있음. 예를 들어 메모리가 디스크에 스왑한다거나 인메모리 디비에서 디스크로 flushing
- 메모리스왑 : 메모리에 있는 데이터를 디스크에 넣었다가 다시 빼는 동작 참고 : https://jhnyang.tistory.com/103
- Flush : 일시적인 상태의 데이터를 영구적인 상태로 바꾸는 것(디스크, DB로 옮기기 등)
- iowait : io작업이 끝날 때까지 기다리는 시간임. iowait이 길면 프로세서 바깥의 문제임을 알 수 있음. 예를 들어 메모리가 디스크에 스왑한다거나 인메모리 디비에서 디스크로 flushing
- idle(id) : 놀고있는 CPU의 시간
- netstat : 네트워크 상태 확인(TCP, UDP)
- uptime : load average를 시간당 볼 수 있음.
CAT, HEAD, TAIL
cat은 전체 파일을 읽는 것
head는 위에서 부터 읽는 것
tail은 아래서 부터 읽는 것
Namespace
https://www.44bits.io/ko/keyword/linux-namespace
프로세스를 실행할 때 시스템 자원을 분리해서 실행할 수 있도록 도와주는 기능
Systemd
Systemctl
etc/systemd/system에 시스템을 등록해두면 systemctl로 데몬을 실행시킬 수 있음
systemctl enable 서비스명
systemctl start ..
systemctl stop ..
systemctl restart ..
systemctl status ..
참고 : https://github.com/keeyong/data-engineering/blob/main/docs/Airflow Installation.md#start-airflow-webserver-and-scheduler
Systemd 로그 확인하기
journalctl 를 사용하라
- -u : unit 이름으로 확인하기
- -f : live streaming으로 확인하기
journalctl -u -f airflow-webserver
열린 포트 확인하기
netstat -tnlp
심볼릭 링크
특정 폴더에 링크를 거는 효과를 냄. 바로가기라고 보면 됨.
ln -s 원본_이름 새로운_링크_이름
JPS
jps는 java virtual machine의 목록을 나타냄
전체 환경 변수들 확인하기
env