지금까지 기본명령어, 내부명령어, 시스템 관리자용 명령어와 vi에디터 사용법을 훑어 봤고
쉘 환경을 하려다 지겨워서 gcc를 이용해서 Hello world를 찍어 보았다.
외울게 많지만 나중에 차차 익히도록하고 일단은 책의 내용을 쭉 진행해보려고한다.
지금 보고 있는 책의 초반설명이 난해한건지 이해를 하지 못하는 건지 모르겠지만
"하나의 루트 디텍토리만을 가지는 단일한 파일 시스템이다."라는 말이 아직도 나를 괴롭힌다 무슨 말인지를 모르겠다.
루트 디텍토리 자체는 "/"문자를 가리키는 최상위 디텍토리인건 알겠는데 그아래에 디텍토리를 여러게 가지고 있는데 단일하다는것이 무슨 뜻인지 모르겠다.
루트가 하나라서 단일하다는건지 모든 디텍토리가 루트부터 시작해서 그런건지 이해가 잘 되지 않는다.
암튼 다시 쉘 환경 및 프로그래밍에 대해서 공부를 하려고 한다.
쉘이란 조개 껍질처럼 OS를 둘러싸고 있는 것이라고 한다. 즉 커널을 사용자가 직접 바라보고 있는게 아니라 쉘을 통해서 커널이 비춰보고 있는형식으로 쉘에 따라서 커널을 전혀 다른 모습으로 볼수도 있다는것이다.
쉘의 주요기능은 응용 프로그램이나 사용자 명령어를 해석하고 커널과의 인터페이스를 제공하며 쉘 스크립트를 통해 간단한 프로그램을 작성하여 실행할수 있다.
쉘은 C 쉘과 Bourne 쉘의 두가지 부류로 나뉘어지고 최근에 발표되는 다양한 종류도 두가지의 큰흐름에 포함된다. 이노무 C는 안끼는데가 없는것 같다.
Bourne 쉘은 가장 오래되었고 C 쉘보다 스크립트를 작성하는데 나은 측면이 있다고 하는데 C 쉘이 C의 명성을 등에 업고 더 많이 사용했는데 Bourne쉘의 확장판인 korn쉘이나 bash쉘이 더 많이 사용되고 있는 추세라고 한다. 하지만 C쉘의 확장판인 TC 쉘이 등장하면서 보편화되고 있다 라고한다...;;
현재 사용중인 쉘을 보는 방법은 echo $SHELL
우분투는 bash쉘이고 CentOS도 bash쉘이다. 앞으로 내가 C 쉘을 쓸일은 없을것 같다. bash쉘은 bourne again shell의 줄임말이다.
쉘은 로그인할때 정해지는데 유닉스는 C shell이 기본 설정이고 리눅스는 bash가 기본 로그인 설정이라고 한다 .
잠깐 쉘을 바꿀대 csh 다시 돌아올때 exit
로그인 쉘을 영구적으로 바꿀때chsh 후에 /bin/csh
환경변수란 리눅스를 사용자가 각자 원하는 형태로 자신의 환경을 성정해 두기 위한 변수들이다. 이것들은 내부적으로 쉘이 운영되는데 필요한 환경을 뜻하고 사용자가 어떤 쉘을 사용하는가에 따라 달라진다.
주요 환경 변수는
HOME-홈디텍토리의 절대경로
PATH-명령어 탐색경로
USER-사용자 명
SHELL-로그인 쉘의 절대 경로
TERM-터미널 유형
쉘을 알아보는 명령어가 echo $SHELL이였듯이 echo $PATH라고 입력하면 페쓰의 내용을 볼수있다. $란 변수의 내용이라는 뜻이다.
set 명령어로 모든 환경변수를 볼수있다고 하는데 나는 이상한 함수들만 보인다. 손꾸락이 이상한가보다.
사용자 환경 파일이란 사용자가 처음 로그인을 하거나 새로운 쉘을 수행할때 시스템은 환경에 맞게 환경을 정해놓은 환경 파일을 열어 자동으로 수행한다.
환경파일의 이름은
bash의 경우 로그인-.profile,.bash_profile 쉘 수행-.bashrc 로그아웃-.bash_logout
Tcsh의 경우 로그인-.login 쉘 수행-.cshrc 로그아웃-.logout
쉘수행은 쉘이 실행될때마다 실행되고 로그인과 로그아웃은 시스템이 로그인 로그아웃 될때 마다 파일이 한번실행된다.
쉘에서 환경파일을 다루는 방법으로 처음 .profile을 수정하는것이 예제로 나왔는데
로그인시 date를 출력하는것이다. 하지만 우분투에서그래픽모드로 로그인되서 출력되는걸 볼수가없다. 프롬프트로 로그인하는법을 몰라서 테스트를 못하고있다.ㅠㅠ
프롬프트로 로그인을 하는방법을 알아낸다음 진행해야겠다 ㅠㅠ
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.