일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- WebJar
- Spring Boot
- jv
- Microservices
- 프로젝트 시작
- #Gradle Multi project with IntelliJ
- 2010
- Lambda
- 분석 작업
- #Microservice
- 토익
- #화면캡쳐 #macOS
- docker #docker tutorial
- #정규표현식
- 년말
- #단축키
- 감사
- bootstrap
- 평가인증
- java
- 방법론
- Today
- Total
사랑해 마니마니
만화로 배우는 리눅스 시스템 관리 본문
1화. 다른 컴퓨터를 리모트로 조작하고 싶어(SSH)
SSH
는 Secure Shell의 약어
다른 PC에 네트워크 경유로 로그인해서 자기 앞에 있는 PC처럼 조작 가능
SSH Tunnel을 사용해서 암호화 하니까 안전
사용방법: ssh 로그인할사용자명 @ 접속할로그인_PC_주소
mint@mintpc:~$ ssh user@192.168.11.5
2화. 임시로 관리자 권한을 얻고 싶어(sudo)
root는 관리자 권한을 가진 특별한 사용자
일반 관리자는 관리자 권한을 사용할 때 암호를 입력해야 함
mint@mintpc:~$ sudo rm -r /var/share/yametaro
[sudo] password for mint: <password>
root@server:~#
3화. 다양한 문자열을 한 번에 검색하고 싶어(grep)
mint@mintpc~$grep -r "검색하고 싶은 문자열" /home/docs/
-r 옵션은 서브 폴더까지 검색하도록 지정
/home/docs/ 는 찾을 파일이 있는 폴더 경로(검색 시작점)
grep은 global regular expression print의 약자
정규 표현식
- ( ) 그룹화
- | 좌우 중 하나
- ? 직전 표현이 0 or 1번 등장
- * 직전 표현이 0번 이상 연속해서 등장
- + 직전 표현이 1번 이상 연속해서 등장
- . 임의의 한 문자
- ^ 줄 머리
- $ 줄 끝
-i 옵션은 대소문자 무시
4화. 터미널에서도 대화형으로 파일을 편집하고 싶어(vim)
vim 사용 방법
vim 은 vi editor의 강화판
vi는 텐키나 커서(화살표)키, 마우스가 없던 환경을 위해 만들어 졌음
vim은 대부분 깔려 있지만 안 깔려 있으면
(ubuntu 계열인 경우) sudo apt-get install vim
(redhat 계열인 경우) sudo yum install vim
노멀 모드에서 i 누르면 insert 모드 > 편집하기 > esc키를 누르면 다시 노멀 모드
저장 할 는 노멀 모드에서 :wq (write, quite)
검색 모드로 갈려면 노멀 모드로 가서(esc 키를 눌러서) / 누르면 됨 (ex. /guest ok = Yes 이렇게 검색할 문자 입력)
n을 누르면 다음으로 이동 (이전으로 이동은 shift n)
정규 표현식 검색은 /\v를 누르고 표현식 입력
치트시트는 http://vim.rtorr.com/lang/ko/
5화. vim에서도 복사 & 불이기 & 되돌리기를 하고 싶어(yank)
복사하고 붙여 넣기는 노멀모드(esc 키를 눌러서)에서 v를 입력 반전된 항목을 화살표키로 옮겨서 복사할 부분 선택
y 입력(y: yank, 끌어 당기다)하면 클립보드에 텍스트 복사됨. 그리고 나서 shift p (past)를 누르면 불이기
여러번 붙이기는 숫자 shift p (ex. 10 shift p 는 10번 붙이기)
되돌리기 또는 취소는 노멀모드에서 u (undo)
여러번 취소는 숫자 u (ex. 10 u는 10번 취소하기, 9999 u는 처음 상태로 돌아가기)
fg 사용하기
ctrl z는 취소가 아니라 어플리케이션 일시 정지(현재 작업을 백그라운드로 돌려버림)
fg 명령어로 를 눌러서 background에 있는 작업을 fg로 돌리기
6화. 갑작스러운 네트워크 끊김에서 복귀하고 싶어(가상 터미널)
ssh로 서버에 접속하는 경우 접속이 끊기면 세션이 끊겨서 save 하지 않은 작업 내용도 사라짐 (접속이 끊기면 서버에서 로그아웃으로 간주하고 작업을 종료해 버림)
이때를 위해 tmux를 사용
ssh로 서버에 접속한 후에 tmux를 실행
만약에 해당 명령어가 없다면 $sudo apt-get install tmux
[mint@localhost ~]$ tmux
명령어를 치면 아래 상태 줄이 바뀜.
중간에 접속이 끝겼으면 ssh로 접속해서
[mint@localhost ~]$ tmux attach
tmux에서 빠져 나올려면 ctrl + b
d
를 누르면 됨 d는 detach
새로운 창을 띄우고, 창 전환(가상화면 전환)을 하기 위해서는 ctrl + b 를 누르고 d: detach, c: create, p: previous, n: next
7화. 다른 화면도 보면서 작업하고 싶어(화면 분할)
tmux 는 가상화면 전환 이외에도 창 분할도 할 수 있어 ctrl + b
"
분할될 창의 포커스 이동은 ctrl + b
화살표
화면 스크롤은 ctrl + b
[
, 스크롤을 끝내고 원래대로 돌아오려면 q
q:quit or esc
ctrl + b
"
는 가로 분할, ctrl + b
%
는 세로 분할
exit
명령어로 분할 없애기
분할된 크기 변경하려면 ctrl + b
상태에서 ctrl 키를 누른 상태로
화살표
누르면 화면 비율이 변경됨
8화. 최근 실행한 명령어를 호출하고 싶어(명령어 이력)
shall은 사용자가 입력한 명령어를 기록해 두고 나중에 호출 할 수 있게 함
vim ~/.bash_history를 해보면 볼 수 있음
shall에서 위쪽 화살표키
를 누르면 명령어 이력을 볼수 있음 그리고 enter를 눌러 실행
위쪽 화살표키 대신 ctrl + r
를 누르면 ~/.bash_history내 명령어들을 검색할 수 있음
(reverse-i-search) _찾을 명령어_
여러개가 있으면 계속 ctrl + r
누르기 (그런데 ctrl + r 는 후방 검색 만 됨. 현재 부터 과거것으로 검색)
전방 검색을 하게 해 보자.
~/.bashrc를 열어서 bash 설정 변경하자. 마지막 줄(vim에서 마지막 줄로 이동할 때는 shift + g)에 "stty stop undef" 입력, vim 종료, 콘솔 재 로그인. 이제 ctrl + s
를 누르면 전방 검색도 됨
9화. 오래전에 실행한 명령어를 호출하고 싶어(명령어 이력 검색)
명령어 history size 변경은 ~/.bashrc에 끝(마지막 줄)으로 이동해서
stty stop undef
#history size를 늘리기 위해 아래 2개 행을 신규로 추가함
export HISTSIZE 10000
export HISTFILESIZE=1000
참고로 여러 단말간의 명령 히스토리를 공유하는 방법은 http://iandeth.dyndns.org/mt/ian/archives/000651.html
10화. 네트워크 건너서 파일을 복사하고 싶어(scp)
scp: secure copy의 약자
네트워크를 통해서 파일을 복사하는 명령어
scp <파일명> <로그인할 사용자@ip_주소>:<파일을 복사할 곳>
mint@mintpc:~$ scp ./file.ext mint@192.168.1.10:/tmp/
scp를 호출하면 scp가 우선 ssh를 호출, ssh통신 경로로 파일을 전송함
scp -r 옵션은 recursively로 디렉토리를 재귀적으로(하위에 있는 것 모두) 복사함
11화. 시스템 과부하를 파악하고 싶어(top)