우선 쉘에 대해서 적어볼게요
쉘이라는 것은 껍데기를 의미하는 것으로
운영체제(os)의 핵심인 커널(kernel)을 둘러싸고, 사용자나, 응용프로그램들과
커널사이의 인터페이스를 담당합니다.
윈도우즈에서는 도스프롬프트나 커맨드프롬프트가 그러한 쉘이고, 파워쉘도 쉘입니다.
윈도우즈 2000,XP이후의 NT커널의 경우, 윈도우즈 탐색기인 익스플로러가 GUI에서의 쉘이라고 볼 수 있습니다.
하지만, 안전모드에서 커맨드프롬프트를 쉘로 사용하기도 하지요.
리눅스는 유닉스를 모방하여 만들어 졌습니다.
전통적으로 유닉스의 쉘은 csh(c-shell)과 sh(bourne-shell)인데,
이 중 bourne-shell를 개량하여 만들어진 것이 bash(bourne-again-shell)이죠.
그리고, $HOME/.bashrc는 bash가 시작될때 마다 자동으로 실행되는 설정파일이에요
/etc/bash.bashrc는 모든 사용자에게 공통적으로 적용되는 것이구요
$HOME/.profile은 로그인할 때 마다 실행되는 설정파일이고, 모든 사용자에 대해서는
/etc/profile, /etc/profile.d/* 입니다.
참 $HOME은 환경변수로 사용자 계정의 저장소를 나타내는 환경변수에요.
환경변수란, 프로그램이 동작할때, 기본적으로 가지게 되는 조건,환경등을 저장하는 변수라는 것이죠.
다른 프로그램이 여러 개 실행되더라도, 공통적으로 알아야할 내용들을 환경변수에 저장해 둡니다.
사용자가 다른 프로그램을 실행한다 하여도, 사용자는 동일하기 때문에, 프로그램들이 이를 알아야 하기 때문에…
사용자이름인 $USER와 사용자계정위치인 $HOME등을 환경변수로 사용하는 것이죠.
그리고 유닉스계열에서 변수명의 앞에는 $를 붙입니다.
윈도우즈에서는 앞뒤로 %를 붙입니다.
윈도우즈설치경로로 %SYSTEMROOT%나 %WINDIR%이라는 환경변수를 사용하죠.
$PATH는 경로라고 번역되어지는 것으로 길을 의미합니다.
모든 프로그램들은 실행파일인데… 이 실행파일의 위치와 파일명을 합해서 전체경로(full-path)라고 하고,
전체경로를 알아야 프로그램을 실행할 수 있습니다.
왜냐면 다른 위치에 동일한 파일명이 존재할 수 있기 때문입니다.
그리고, 파일명이 같다고 동일한 파일이라고 할 수 없습니다.
$PATH는 실행파일의 위치를 저장하는 환경변수입니다.
실행파일들의 위치를 저장해두고, 전체경로를 기억하지 못하더라도, 파일명만 알아도…
우선적으로 저장된 위치에서 파일명을 찾아볼 수 있게 하는 것입니다.
여기에 실행파일들을 모아놨으니, 파일명을 입력하면, 제일 먼저 여기부터 검색해 보라고 하는 것이죠.
이때, 여러 위치를 저장하고자 한다면, 구분자(separator)를 사용하게 됩니다.
변수명은 이미 정해져 있으니까요.
유닉스계열에서는 콜론(:)을 도스,윈도우즈는 세미콜론(;)을 사용합니다.
그러면, 환경변수에 무언가를 저장해 보겠습니다.
윈도우즈의 명령프롬프트에서는 set A=3;4 이런식으로 저장합니다.
유닉스계열에서는
터미널에서 A=3:4 라고 입력하면 됩니다.
간단하죠 하지만 이게 다가 아닙니다.
이것은 쉘변수 $A에 3:4를 저장할 뿐,
쉘에서 다른 프로그램을 실행하였을때, 이 변수를 참조할 수 없습니다.
그래서 환경변수 메모리 영역에 저장해주어야 합니다.
본쉘에서는
A=3:4
export A
이렇게 혹은, export A=3:4 이렇게 사용합니다.
csh에서는 setenv명령을 사용합니다.
이제 이런 것들을 어떻게 알 수 있느냐 하는 질문에 대해서 답해보죠.
답은 여러개 있을 수 있겠지만, 정보의 홍수인 인터넷 시대에…
중요한것은 어쩌면 노하우(Know-HOW)가 아니라 노웨어(Know-WHERE)일지도 모릅니다.
즉, 어떻게 하느냐는 방법을 아는 것 보다, 그러한 방법을 알 수 있는 곳을 알거나, 찾는 방법을 아는 것 말입니다.
인간의 기억력에는 한계가 있으니까요.
그러니까, 결론은 검색엔진을 통해 검색해보시라는 것입니다.
유닉스, 윈도우즈, 리눅스, 쉘, 쉘 프로그래밍, 환경변수, 본쉘, bash, 커널, 운영체제, 응용프로그램 등을
검색엔진의 키워드로 사용하시면 되겠구요
검색엔진에서 얻어진 키워드를 통해서 다시 검색해 가세요.
거미줄과 같이 얽혀진 것, 그것이 웹(WEB)입니다.
추천 검색엔진은, 구글과 위키디피아 입니다.