Terminal 원리(추측?)

Joshua Kim·2022년 9월 1일
0

terminal

목록 보기
2/6

서론) 터미널 설치의 기본적인 원리?

Terminal에 있는 100개 넘는 명령어를 다 외울수도 없고, 외울 필요도 없다.
결국 이 포스팅의 목적은, 다음번에 소프트웨어를 설치할 때에 이상한 명령어를 복붙하게 될 때에 '아 대충 이런 뜻이구나' 라는 감을 잡게 하기 위함이기 때문이다.

그래서 나는 일단 원리부터 살펴보기로 하겠다. 비록 그 이해가 완벽하지 않을 수 있어도 말이다.

처음의 예를 다시 보자. 언제나 처럼 당신은 프로그램을 설치할려고 한다. 그런데, Terminal은 당신의 ctrl-c, ctrl-v 신공에도 오류를 내뱉는다.

당황한 당신은 언제나처럼 구글에 쳐보고, 어떻게든 해결해본다. 구글에서 설치과정에서 해법이라고 주는 코드에는 "path 어쩌구 저쩌구" 하는 문자들이 굉장히 많이 나온다.

export PATH="HOME/.rbenv/bin:HOME/.rbenv/bin:PATH"
eval "$(rbenv init -)"

뭐 이런식으로 말이다.

이 코드를 보면 PATH라는 용어가 나온다.

터미널을 통한 프로그램 설치과정에서 환경변수(PATH) 의 개념은 굉장히 중요하지 않을듯 싶다.

PATH , Environment Variable

Terminal이 어떤식으로 돌아가는지를 생각해보면,

창에다가

$gem install jekyll

이러한 명령어들을 써서 돌아가는 것이다.

그런데 컴퓨터는 gem, jekyll 같은 명령어를 어떻게 알아듣고, 이후의 행동을 어떻게 하는 것일까?

정답은 바로 PATH 을 참고해서 한다는 것이다.

PATH는 environment variable의 일종이다.

environmental variable 이 뭐냐고?

궁금하면 terminal에 env 한번 쳐보자.

잘은 모르겠지만 직관적인 이해가 되지 않는가? 말그대로 '환경'에 대한 변수인 것이다.

위키백과 왈)

환경 변수(環境 變數, 영어: environment variable)는 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임이다.

형식 같은 경우는

NAME = Value

이런식이라고 한다. 굳이 NAME을 대문자로 쓸필요는 없지만, 관습이라고 하니 그냥 쓰면 될 것 같다.
잘 보면 우리의 주인공인 PATH variable 도 있다!!

PATH is an environment variable on Unix-like operating systems, DOS, OS/2, and Microsoft Windows, specifying a set of directories where executable programs are located.

프로그램이 어디에 있는지 디렉토리를 말한다고 한다.

여기까지 보고나니까 조금은 이해가 되는 것 같다.

프로그램을 터미널로 설치하거나 실행할 때에, 컴퓨터는 그 프로그램을 어떻게, 그리고 어떤 조건에서 실행할 지를 알아야 하는 것이다.

또한 프로그램에 대한 정보는 바뀔 수 있다. 프로그램은 삭제되거나, 혹은 추가될 수 있기 때문이다.

그래서 '동적' 이고, 터미널에서 접근 가능한 환경변수인 것이 아닐까.

이번 포스트에서 결론을 내리자면 터미널에서 프로그램을 설치하는 방법은, 우선

1) 프로그램 파일을 다운받는다.(그것 또한 명령어를 통해서)
2) 터미널에서 실행해야 하므로 PATH에 경로를 추가한다.

그렇다면 PATH에 경로를 어떻게 추가할까?

그건 다음시간에~

)참고문헌(영상)
https://www.moncefbelyamani.com/troubleshooting-command-not-found-in-the-terminal/?utm_source=stackoverflow&utm_campaign=51126403

https://www.youtube.com/watch?v=ADh_OFBfdEE

profile
정시템 22 김예준

0개의 댓글