티스토리 뷰
bash shell commands
여기서 쓰는 건 public ip라는 걸 명심해야 한다.
맨 위에서, 아마존 AWS에 접속할 때 적용했던 ip이다.
pwd = 내가 현재 접속하고 있는 디렉토리 경로
/가 최상위 경로이다.
ubuntu = 사용자의 id. 계정
cd ~하면 계정의 최상위 디렉토리
.을 쓰는 경우는 현재 디렉토리
..은 상위 디렉토리이다.
cd ..하면 상위 디렉토리로 이동한다.
ls -al env 하면
개인에 대한 권한 - 시스템에 대한 권한 - 그룹에 대한 권한으로 나온다.
ubuntu ubuntu로 되어 있으면 그룹- 계정으로 표현되어 있고, 권한이 있다.
head -n 3 requirements.txt 하면 맨 위 3개만 보여준다.
tail -n 3 requirements.txt 하면 맨 아래 3개만 보여준다.
history
명령어 목록을 보면준다.
75번을 실행하고 싶으면 !75하면 실행된다.
cp test.txt /home/ubuntu 절대경로
./ubuntu 상대경로
~/notebooks 최상위 디렉토리에서 경로
mv text.txt env
현재 경로에서 잘라래서 env로 이동한다.
df -h =
하드 디스크의 남은 용량을 확인
메모리가 0가 되는 순간 컴퓨터가 다운된다.
0이 되지 않도록 관리해줘야 한다.
그러면 껐다가 켜서 로그 파일을 다 지워줘야 한다.
free -h 하면 기가 단위로 메모리 사용량을 알 수 있다.
명령어를 이어서 실행할 때는 mkdir kt && cd kt
생성하고, kt 디렉토리로 이동한다.
>> 출력 결과를 append 한다.
echo "hello world" >> test.txt
echo는 그냥 문자열을 출력해주는 것이다.
그렇게 cat test.txt로 출력해보면 나온다.
>를 쓰면 overwirte 즉, 덮어쓰기가 되고,
>>를 쓰면 append가 된다.
rm txt 하면 삭제된다.
exit 하면 로컬 pc로 접속된다.
서버에 접속할 때 짧게 줄이는 법
잘못되었다 싶을 때는 ctrl c,x,z 중 하나 누르면 빠져나와진다.
명령어 복사하고 메모장에 붙여넣기
해당 명령어를 server라는 걸로 바꿔준다.
cd ~ 눌러서 유저의 최상위 디렉토리로 이동한다.
vi .bashrc 해서 파일을 만든다.
알바펫 I를 입력하면 Insert가 된다.
alias server(이게 명령어 이름이다. 원하는 대로 바꾸면 된다.)
alias server=' 안에 실행하고 싶은 명령어'
= 띄어쓰기하면 에러난다.
esc 하고 :wq enter
그리고 나서 source .bashrc로 한 번 실행해줘야 한다.
.bashrc는 껐다가 킬 때 자동으로 실행하는 파일
이게 커맨드를 줄여서 쓰는 방법이다.
vi 명령어
ubuntu$ vi test.txt
일반모드 - 문서의 특정 기능이나 위치로 이동할 수 있는 모드
w: 단어 뒤로 이동
b: 단어 앞으로 이동
가장 뒤로 이동하고 싶으면 $
x 누르면 현재 커서위치 문자 삭제
dw: 현재 커서 위치 단어의 삭제
dd: 행삭제
D : 현재 위치에서 라인 끝까지 삭제
gg: 문서 시작으로 이동
G : 문서의 끝으로 이동
숫자 + G : 숫자 라인으로 이동
{ : 이전 페이지로 이동
} : 다음 페이지로 이동
yw : 단어 복사
yy : 한줄 복사
p : 붙여넣기
u : 되돌리기
편집 모드 - 안에 있는 내용을 바꿀 때
일반모드에서 a, i, o를 누르면 된다.
a: 커서 위치의 다음 칸부터 입력
i : 커서 위치부터 입력
o : 커서 위치의 다음줄부터 입력
i를 가장 많이 쓴다.
명령 모드 - 저장하기와 같은 기능을 사용할 때 하면 된다.
편집 모드에서 esc 키를 누르면 insert가 사라진다. -> 일반 모드로 바뀜
전부 : 붙이고 사용해야 한다.
/ : 정방향 검색 , n : 다음 검색 단어로 이동 - ctrl f와 같다.
? : 역방향 검색
w : write : 파일저장
q : quit : 나가기
! : 강제실행
set number : 줄번호 표시
그러면 :를 눌렀을 때 명령 모드로 진입한다.
매크로
매크로 작성 : q + 매크로이름(문자하나) + 매크로 키 입력 + q
매크로 실행 : 매크로 실행횟수 + @ + 매크로이름
예시 ) 행의 마지막에 , 붙이기
매크로 작성 : q + a + $ + a + , + esc + (아래 화살표) + q
매크로 실행 : 4 + @ + a
TMUX
terminal multiplexer
클라이언트와 서버가 있고, ssh로 서버에 접속을 한다.
접속하는 자체를 세션이라고 한다.
세션 1번으로 접속이 되었고, 클라이언트 2번이 접속하면 세션 2번이 된다.
서버를 접속할 때마다 세션이 생성되는데, 클라이언트 1과 2번 클라이언트가 같은 세션으로 접속하면, 같은 화면이 보여진다.
클라이언트 1이 tmux로 세션 3을 만든다(tmux create).
그리고 클라이언트 2번이 세션 2번으로 접속해서 세션 3번으로 접속한다(tmux attach)
그러면 클라이언트 1번에서 1,2,3 출력하면
클라이언트 2번에서도 1,2,3 출력된다.
팀장 되기 전에는 안쓰는 게 좋다.
팀장이 되야 쓰는 게 좋은 이유 = 페어 프로그래밍 할 때 사용하기 때문
클라이언트 1번이 create, attach로 세션 1,2로 접속하고,
클라이언트 2번이 create,attach로 세션 1,2로 접속한다.
그러면 총 4개의 화면이 생긴다.
서로 작성할 수 있는 모든 권한을 다 가지고 있다. 그렇기에 주의해야 한다.
각자가 각자 하는 화면을 공유해서 할 수 있다.
회의 시간에 코드 리뷰를 하거나 작성할 때 CTO가 계속 실시간으로 본다.
여러분들이 CTO라고 하면, 개발자들이 뭐하고 있는지 다 보인다.
팀장이 되면 도입하는 게 좋다.
tmux new -s s1
tmux new -s s2
위 아래로 세션을 만든다.
클라이언트 1번이 세션 2번으로 접속
tmux ls로 하면 세션 목록이 출력된다.
tmux a -t s2
tmux a -t s1
주피터 노트북 할 때는 이 tmux 환경을 써야 한다.
윈도우 생성까지만 한다.
윈도우생성 : $ ctrl + b, c
0:bash* 1:bash-
아타리스크가 있는 곳이 현재 윈도우이다.
명령어가 있는 곳으로 가서
세션 : 접속정보를 저장하는 연결
윈도우 : 세션이 가지고 있는 여러개의 명령어 입력 환경
팬 : 윈도우가 가지고 있는 여러개의 분할된 화면
세션생성 : $ tmux new -s kt(세션이름)
세션종료 : $ tmux kill-session -t kt(세션이름)
세션 목록 보기 : $ tmux ls
세션접속 : $ tmux a -t kt(세션이름)
윈도우생성 : $ ctrl + b, c
윈도우종료 : $ ctrl + b, &
윈도우이동 : $ ctrl + b, 0-9
팬생성(종분할) : ctrl + b, %
팬생성(횡분할) : ctrl + b, "
팬이동 : $ ctrl + b, 화살표 : $ ctrl + b, q (번호)
팬종료 : $ ctrl + b, x