세팅이 반이다_ Git_Bash

그는사악해·2021년 7월 20일
2

세팅이 반이다.

목록 보기
2/8
post-thumbnail

썸네일 이미지 출처
당신이 Window10 유저라면? Git_Bash를 한 번 써보는것을 권한다.

Let's try Git Bash

google에서 git bash를 검색하고 다운 받아 보자.
아니면, 여기서 다운받아보도록 하자 https://git-scm.com/downloads

01 맥유저는 왜 차별하는가?
차별이 아니다. 맥은 어차피 Terminal, iTerm2이 있기 때문이다. (대부분의 맥유저들이 더 많은 기능과 편리함 때문에 Terminal보다는 iTerm2 + oh my zsh 를 많이 사용한다.) Window 환경에서는 cmd, powershell, promt 등이 있지만 Terminal, iTerm2와는 많이 다르다. Window10 에서는 git Bash가 Terminal과 iTerm2비슷한 동작을 한다. 잘 활용하면 정말로 편하다.

  • git을 사용하는 터미널로 알려져 있다.
  • git bash는 Bash 환경이다.맥 Terminal의 경우,
    특정 맥OS 시점을 기준으로, Bash에서 zsh 환경으로
    바뀐 것으로 알고 있다.

한 번 실행해보자!

아마 실행하면 다음과 같은 창이 뜰 것이다.

1) pwd 를 입력해보자.

pwd

절대 경로를 나타내주는 명령어이다. pwd를 입력해서 바로 밑에 나온 주소는 git Bash를 실행시켰을 때 기본적으로 실행되는 위치를 나타낸다고 보면 된다.

/c/Users/Eric

필자의 경우 이렇게 설정되어있다. 'Eric@DESKTOP-STURC6E MINGW64 ~' 이것은 '/c/Users/Eric' 를 나타낸다고 봐도 무방하다.

2) cd ~/Downloads

이 명령어를 입력해보자.

cd ~/Downloads

그러면 (화려한 색의) 'Eric@DESKTOP-STURC6E MINGW64 ~' 에서 'Eric@DESKTOP-STURC6E MINGW64 ~/Downloads'로 변경되었을 것이다. 이 명령어는 경로 이동을 뜻한다. Users/Eric(혹은 사용자가 설정한 닉네임) 아래의 Download 폴더로 이동 한 것이다.

3) ls

ls를 입력해보자.

ls

자신이 위치한 폴더의 파일들이나 폴더들을 모두 불러주는 명령어이다. Download 폴더 내의 파일들이 '파일명.파일확장자' 형태로 1~2줄로 나올 것이다.

4) cd ..

cd ..

상위 폴더로 이동한다. 필자의 경우, 'Eric@DESKTOP-STURC6E MINGW64 ~/Downloads'에서 'Eric@DESKTOP-STURC6E MINGW64 ~'로 변경되었다.

5) cd ~

cd ~

처음 실행했을 때의 경로로 이동하는 명령어이다. 즉, 초기위치(default 위치)로 돌아오게 하는 명령어다. 다른 위치에 있더라도 이 명령어를 쓴다면 default 경로로 이동하게 된다. 필자의 경우, Download 폴더에 있더라도 이 명령어를 쓰면, 'Eric@DESKTOP-STURC6E MINGW64 ~' 이렇게 바뀌며, /c/Users/Eric 로 돌아오게 된다.

이 외에도 여러가지 명령어들이 있다. 네이버나 구글에서 리눅스 명령어를 검색하면 훨씬 더 다양한 명령어로 많은 것을 구사할 수 있다.
하지만, 내가 이 글을 포스팅한 목적은 따로 있다. 지금부터 시작하겠다.

alias

alias? 이게 무엇인가? alias를 이용하면, jupyter notebook 이라고 치지 않고, jn 이렇게 입력하고 jupyter notebook을 실행시킬 수 있다. 이를 응용하면, 원하는 위치에서 jupyter notebook 실행이 가능하다.

01. vi ~/.bashrc

git bash의 초기위치에서 vi ~/.bashrc 명령어를 실행해보자.

vi ~/.bashrc 

실행하면, 화면이 바뀔 것이다. 빈 검은 화면에 각 줄 맨앞마다 "~" 만 있을 것이다.
vi : 'open' 'create' 기능을 가진 명령어

  • ~/.bashrc : 현재 경로의 .bashrc 파일을 의미한다.
  • vi ~/.bashrc : 현재 위치의 .bashrc 파일을 열거나 없다면 생성한다는 의미

- 맥의 경우?

Apple M1의 iTerm2(+ 'oh my zsh') 기준

nano ~/.zshrc

를 실행하고 (아무 것도 변경이나 수정, 삭제하거나 추가하는 등 건드리지 않고 그저 커서만) 가장 하단으로 이동한다.

02. i 를 눌러보자.

이 상태에서 i를 누르면 가장 하단에 --INSERT-- 가 뜰 것이다.
이 때부터 입력가능한 상태가된다. 다음과 같이 입력해보자.

alias jn='jupyter notebook'
  • M1 맥의 경우, iTerm2(+ 'oh my zsh') 기준으로 'i' 키를 누르지 않아도, 입력이 된다. 위 단계에서 가장 하단으로 이동한 뒤, 다음 명령어를 입력하면 된다. M1 맥의 경우, zsh 환경인데, zsh 환경에서 alias 이용시 '' 대신 ""를 쓴다. 이 점을 절대 잊지 말자. 이후에서도 ""로 설정하면 된다.
    alias jn="jupyter notebook"
  • 주의 사항으로는 jn과 = 그리고 ' 사이에는 공백이 없어야한다는 것이다.
  • alias : 사전적 의미는 '가명'을 의미한다. 실행해야하는 코드 대신 가명을 만든다.
  • jupyter notebook 대신, jn을 입력하면 jupyter notebook이 실행이 되도록 설정.

03. Esc 키를 누르고 저장(:wq)

alias jn='jupyter notebook' 입력을 했다면, Esc 키를 누르자.
--INSERT-- 모드가 사라질 것이다.
다음에는 :wq 를 입력하자. (좌측하단에 입력될 것이다.)
그러면 처음에 봤던 git bash 창으로 돌아갈 것이다.

  • 다음 화면(스크린샷)에서 보이듯이, 맥에서는 Ctrl + X 키를 누르고 난 뒤,

    아래 스크린샷처럼 화면이 바뀔텐데, 이 때 Y 키를 누르면 설정이 저장되고 이전 화면으로 돌아갈 것이다.

04 source ~/.bashrc

source ~/.bashrc
  • .bashrc 파일을 생성하거나 혹은 열어서 생성한 단축키를 저장하고 실행할 수 있게끔 한다.

  • M1 맥북에서는 source ~/.zshrc 를 굳이 실행하면 된다. 혹시 몰라서 iTerm2를 Command + Q로 종료하고 재실행한 뒤, alias로 단축한 명령어들을 입력하면, 잘 실행이 된다.

    이를 입력하고 실행해보자.
    그리고 git bash를 종료한 후 다시 실행해보자.
    (굳이 종료하고 다시 시작할 필요는 없는데 이 편이 마음에 편하다.)
    그런 다음, jn 을 실행해보자.

jn

그럼 jupyter notebook 이 실행될 것이다.

필자의 경우, 어떻게 설정해뒀을까?

다음 스크린샷을 보자

1) git?

#git
alias life='cd lifeisdifficult'

github에 올리고자 lifeisdifficult 폴더(뜻: '인생은 어렵다')를 만들어두었고 쉽게 이동하여 git 하기 위해서 경로를 life 로 단축해두었었다. 하지만, 결과적으로 흐지부지되었다.

2) jupyter

#jupyter 
alias jn='jupyter notebook'
alias cod='cd ../../Code'
alias jkl='cd ../../Code && jupyter'

Window10 환경에서는 C 드라이브 폴더에 'Code'라는 폴더를 생성하고, 이 폴더 내에서 실행하는 것으로 설정해두었다. cod 를 입력하면 Code 폴더로 이동이 되고, jkl 을 입력하면, Code 폴더로 이동한 뒤 jupyter notebook을 실행할 수 있게 된다. 위 코드에서 '&&'은 '&&'이전(앞의) 명령을 수행한 뒤에, '&&' 이후(뒤)의 명령을 수행할 수 있도록 해준다.
(경로와 상관없이, 단순히 jupyter notebook만 실행시키고 싶은 경우를 위해 alias 예제와 동일하게 jn 으로 동일하게 설정해두었다.)

3) aws

aws (amazon web service) ec2 인스턴스 (ubuntu18.04 무료 프론티어)를 연결하는 링크를 dss라는 축약해둔 것이다. ec2 주소와 key파일이 있는 관계로 깜찍한 스티커로 가렸다. 본인도 이 코드는 잘 모른다. ssh 접속하는 것 외에는....

4) conda 가상환경 축약

필자의 경우, conda 가상환경이 2개가 있다. rothree, charmsix 이렇게 두 개의 가상환경이 있다. three를 입력하면 'rothree'라는 conda 가상환경이 돌아가도록, six를 입력하면 'charmsix'라는 conda 가상환경이 돌아가도록 설정해두었다.
threes 라고 입력하면, C 드라이브 폴더의 Code 폴더로 이동하고 rothree 가상환경을 활성화 시킨 후, jupyter notebook을 실행할 수 있도록 설정해두었다. 이와 동일하게, sixs 라고 입력하면, Code 폴더로 이동하고 charmsix 라는 가상환경을 활성화시킨 뒤, jupyter notebook을 실행한다.

5) python -m venv 방법으로 생성한 가상환경

conda 가상환경과는 다른 가상환경이다. python 자체에 가상환경을 생성하는 툴(?)이 내장되어 있어는데 아래와 같은 코드로 생성이 가능하다.

python -m venv (가상환경명-폴더)

이렇게 생성해둔 가상환경은 가상환경명의 폴더 내에 Scripts 폴더가 있다. 이 Scripts 폴더 내에 activate 프로그램으로 실행이 된다. 이러한 가상환경을 활성화시킬 때는 git bash (혹은 cmd, promt)로 cd 명령어를 통해서 가상환경명의 폴더로 진입한 후, 다음과 같은 명령을 사용한다.

source Scripts/activate

하지만, conda 가상환경과는 달리 python 버전을 별도로 지정할 수 없다. 그래서 이렇게 생성한 가상환경들을 vscode에서 사용하기 위해 만들어두었고 다음과 같이 설정해둔 것이다.

alias vss='cd ../../python_basic'
alias vsss='cd ../../python_basic && source Scripts/activate'
alias vsc='cd ../../python_basic && source Scripts/activate && code'

이처럼 다양한 명령어를 몇 글자로 축약하여 실행할 수 있다.
지금 이 글을 끝까지 봐준 당신에게도 권한다.
재밌어질 것이다.
나 역시 그랬다.

다음글 스포

jupyter notebook (편리하게 사용할 수 있도록) 환경 세팅이다.
필수적인 2~3가지를 다루려고 한다.

profile
데이터를 베어라

0개의 댓글