tmux,.sh에 관하여

Leejaegun·2024년 10월 19일

1. 문제상황

내가 쓰는 경북대 서버에서는 .hat/tmux.sh등이 있다.
이에 대해 궁금하고 어떠한 것인지 알고 싶어서 적는다.

2. 해결

2.1 tmux란?

tmux는 "terminal multiplexer"의 약자이다. 이는 하나의 터미널 창 내에서 여러 가상 터미널을 생성하고 관리할 수 있게 해주는 유틸리티이며, tmux를 사용하면 여러 프로그램을 동시에 실행하고, 세션을 분리하고 다시 연결할 수 있어 원격 작업 시 매우 유용하다..!

2.2 .sh 파일

.sh파일은 "shell"의 약자로 .sh확장자 파일은 셸 스크립트 파일이다. 이 파일들은 Unix/Linux시스템에서 실행할 수 있는 명령어들의 집합으로 자동화된 작업을 수행할때 사용함!

sh와 ssh차이점

sh는 로컬 시스템에서 명령어를 실행하는 셸이고, SSH는 원격 시스템에 안전하게 접속하기 위한 네트워크 프로토콜
즉, ssh는 암호화하여 정보를 전달한다는 차이점이 있다.

2.3 setup.md

chmod +x setup.sh
sh setup.sh

chmod +x setup.sh : chmod는 change mode로 권한 설정 -> +x는 현재 권한에 실행 권한(execute) 추가-> 어디에? setup.sh에!

sh setup.sh : setup.sh라는 파일을 shell로 실행!

2.4 .bashrc, .zshrc

bashrc는 bash 에서 돌아가는 run command이다.

zshrc는 zsh에서 돌아가는 run command이다.

-> 즉 rc는 running command 의 약자로서 command line interperter 이다.

zsh와 bash는 기능적으로는 별 차이가 없지만, zsh가 몇 가지 추가기능과 사용자 편의성 측면에서 장점을 가지고 있다.
이에 관한 내용은 :https://dev.to/jasmin/a-brief-difference-between-zsh-and-bash-5ebp
(근데 뭐 그냥 똑같다고 봐도 무방할 듯. 이걸 전문적으로 할 필요가 없지 않은 이상)

2.5 tmux.sh 예시

curl -OL https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
if [ $? -ne 0 ]; then
    echo "libevent 다운로드 실패"
    exit 1
fi

이렇게 있을때, 무슨 의미인지 자세하게 살펴보자.
① curl : Client URL이라는 의미로 ,URL을 통해 데이터를 전송하거나 받는 명령어
② -OL : Output,Location 의 약자로 O는 다운로드한 파일을 서버명 그대로 저장, L은 HTTP 리다이렉션을 따라감.

③ $? -ne 0 : 직전에 실행된 명령어의 종료상태($?) 가 ne(not equal) 같지 않다. 0:종료숫자 면 -> 조건문을 참으로 해서 libevent 다운로드 실패!

④ exit 1 : 스크립트를 종료하고 1을 반환!

profile
Lee_AA

0개의 댓글