기초
/: Root 디렉토리pwd: 현재 디렉토리.... --helpecho ~~~: ~~~를 화면에 표준 출력(stdout)- 디렉토리 삭제할 때
-r(recursively) touch aaa.txt: aaa.txt 만들기grep: 내가 원하는 키워드가 포함되어있는 행을 찾아주는 명령어tail -f aaa.log: aaa.log를 계속 감시하고 있다가 바뀔때마다 리프레시해서 보여줌- 실시간 로그 볼때 편함
-f 5와 같이 보여줄 라인을 설정 가능
-u: –unlock
grep 사용하기
- AND :
cat a.log | grep 2021-09-14 | grep error|: 파이프라인을 이용해서 grep 두 조건에 만족하는 문장만 - OR:
cat a.log | grep -e 2021-09-14 -e error: 둘중 하나만- 혹은
cat a.log | grep -E "2021-09-14 | error"
- 혹은
- NOT:
cat a.log | grep -v error: 해당 조건 포함 안하는 경우만 cat a.log | grep -A 10 error: 해당 줄 아래 10줄까지 보여줄 것cat a.log | grep -B 10 error: 해당 줄 위로 10줄 보여줄 것
권한
ls - l로 권한 확인 가능chmod: 파일의 권한(readable, writable, executable)을 바꿔줄 수 있음- change mode 약자
chmod o-r example.txt: other에게 read 권한 뺏음(소유자는 u, 그룹은 g)
파일 찾기
locate: 디렉토리를 돌면서 찾는 것이 아니고 mlocate라는 DB 를 뒤져서 위치를 찾는 것e.g)
locate *.log: log 파일 모두 찾기findfind [찾기 시작할 경로] [어떻게 찾을건지] [무엇을]e.g)
find / -name *.log
whereis: 실행파일이 어디에 있는지?whereis ls: ls 명령어가 어디에있는지?- $PATH와 연관 :
echo $PATH명령어를 수행하면 bin 밑의 ls를 찾기 위해 PATH에 있는 경로를 전부 찾아다님.- 따라서, 어떤 경로에서 ls를 수행하던, 우리가 원하는 ls를 수행 할 수 있는 것
FG(fore ground)
fg: 백그라운드에 있던 프로그램을 포그라운드로jobs: 현재 back ground로 실행되고 있는 것 무엇이 있는지- nano 작성 중 Ctrl + Z 누르면 back ground로, jobs로 확인 가능
help와 man(manual)
- help: 간단한 사용법
- man:
man ls처럼 man + CLI.- 더 상세할 수 있음
SSH
- 서버(리눅스) 컴퓨터에 접속해 서버를 제어하고자 할 때
- 리눅스가 서버 시장에서 많은 부분을 차지하기 때문에 SSH의 사용이 유용
- ec2 로그인하기 :
ssh -i "key파일" ubuntu@도메인 ssh -p 8080 ubuntu@도메인
다중 사용자
id: 내 자신이 누구인지who: 누가 현재 접속해있는지sudo useradd -m aaa/home에서 ls를 보면 aaa 사용자가 추가된 것을 보게된다.su: switch usersudo -i: super user로 login하기 (==sudo --login)
Redirection
ls등과 같은 것들의 결과를 따로 저장 가능echo 'hello world' > example.txt- 화면에 출력하는 것이 아닌 해당 파일에 출력
ls > example.txt: ls의 결과를 터미널에 출력(stdout)하는 것이 아닌, 파일로 저장시켜줌- stdout을 redirection해주는 것.
- stderror는 redirection해주지 않고 그냥 모니터에 출력될 것 -> error.log에 저장 가능
- http://slideplayer.com/slide/5126304 확인
프로세스
psorps aux(컴퓨터 내 모든 프로세스를 보려면 후자)ps aux | grep apache처럼 사용 가능
- 포트 사용하는 IP PID 찾기 :
sudo lsof -i:15672 - 해당 IP 죽이기:
sudo kill -9 1335 netstat -ano-a` : 모든 연결과 대기중인 포트
-n: 주소, 포트 표시-o: PID-p: 프로토콜 연결을 표시
패키지 매니저
apt-get update: 내가 현재 설치할 수 있는 프로그램 목록을 최신 상태로 반영해주는 CLIapt-cache search ~~~: ~~~가 들어간, 다운받을 수 있는 것들 조회apt-get installwhereis ~~: 내가 설치한게 어디있는지 알고 싶을 때
redis service 계속 켜지는 문제
HA를 위해 꺼지면 다시 켜지는것?
/etc/init.d/redis-server stop을 이용하자.
서비스 관련 CLI
/etc/init.d/redis-server start/etc/init.d/redis-server restartredis-cli shutdown(mac에서)
포트 열어주기
iptables -I INPUT 1 -p tcp --dport 6379 -j ACCEPT- <->
ufw allow 2337과 같은 ufw와 구별해서 사용
Reference)
http://slideplayer.com/slide/5126304
https://opentutorials.org/course/2598
https://bottlecok.tistory.com/16