기초
/
: Root 디렉토리pwd
: 현재 디렉토리.... --help
echo ~~~
: ~~~를 화면에 표준 출력(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 파일 모두 찾기find
find [찾기 시작할 경로] [어떻게 찾을건지] [무엇을]
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 확인
프로세스
ps
orps 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 install
whereis ~~
: 내가 설치한게 어디있는지 알고 싶을 때
redis service 계속 켜지는 문제
HA를 위해 꺼지면 다시 켜지는것?
/etc/init.d/redis-server stop
을 이용하자.
서비스 관련 CLI
/etc/init.d/redis-server start
/etc/init.d/redis-server restart
redis-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