본문 바로가기

기타

리눅스에서 자주 쓰는 명령어를 스크립트로 따놓기 (bash shell)

(혹시 잘못된 점이 있다면 피드백 환영합니다. 궁금한 점도 있으시다면 남겨주세요.)


2017년 가을 학기에 캡스톤 프로젝트 + 자기주도연구를 하면서

캡스톤은 2개, 자기주도연구는 3개의 서버를 사용해서, 총 5개를 노트북에서 ssh를 통해 접속해야하는 필요가 생겼다.


Sticky Note에 ip와 port를 다 적어놓고 접속할 때마다

'ssh username@addr -p port'

이거 입력하는게 너무 귀찮아서, bash shell에서 스크립트로 미리 만들어놓을 순 없을까?하는 생각으로 찾아봤다.


그래서 결론은 다음과 같다.

본인은 이 스크립트명으로 'con'을 사용했고, con이 아니라 사용하고자하는 이름을 적어도 된다.


vi con을 입력하고 위 내용을 적절히 수정하여 저장 후

chmod +x con으로 실행할 수 있게 만든다. 그 다음,

con client (안되는 경우 ./con client)

를 입력하면 본인이 이전에 입력한 ssh 커맨드가 바로 실행된다.


위 코드에서 usage 부분은 이 스크립트에 어떤게 정의되어 있는지 설명해봤다. 편의에 따라 수정하면 된다.


26번 라인은 캡스톤 프로젝트에서 nodejs 서버 시작할 때 쓰던 커맨드를 대강 기억나는 것만 써봤다.

nohup을 통해 node를 백그라운드에서 돌리고, 실행 로그를 남겨놓는 커맨드다.


네이버 클라우드에서 공짜로 주는 크레딧으로 서버를 사용했는데, 서버 날릴 때 저장을 안해놔서 나머지는 기억이 안난다.

fuser로 포트 죽이고 재시작하는 restart도 있었고 다른 무엇을 또 만들어 놨었다.



여담으로.. 나 혼자 편하자고 만들어본건데

어쩌다 해커톤을 가게 되어 미리 만들어 놓은 이 스크립트를 참고해서 python django를 실행하는 스크립트를 넣고

어쩌다 인턴이 돼서 서버 4개 접속하려고 복붙하고, 여러 case 이어붙여서 쓰고..

어쩌다 들어와서 이걸로 서버 수십대 접속하고 있다.

알아둬서 나쁘지 않은 것 같다.