본문 바로가기
카테고리 없음

[Linux] 쉘 (Shell) & alias 등록

by 떵해이 2020. 11. 17.
300x250

리눅스를 배우시기 전에 간단하게 개념을 알고 있어야 이해하시기 편합니다.

간단하게 알아보도록 하겠습니다. 아래 그림을 참고하시면서 보시면 좋을거 같습니다.

 

○ 쉘 (Shell) 이란 ?

    ▷ 커널(kernel)과 함께 운영체제를 이루는 요소들 중 하나입니다.

        (커널은 it-serial.tistory.com/40 참조하시면 됩니다.)

 

    ▷ 쉘은 영어 뜻 그대로 껍데기처럼 운영체제 겉에서 명령어를 해석해주는 역할

        (커널과 응용 프로그램(사용자)를 해석을 통하여 연결시켜 주는 것)

 

    ▷ 쉘을 여러개 쓰는 이유 ?

 

       - 사용중인 쉘에 없는 기능을 사용하기 위해

       - 여러가지 쉘 중에 어떤 쉘이 평소에는 잘안쓰지만, 어떤 프로그램에 사용해야 할 수 있기 때문

 

○ 쉘의 종류 & 실행순서

● 쉘의 종류

 

    ▷ sh (제일 처음 만든 쉘)

    ▷ csh (2번째 만든 쉘)

    ▷ ksh (3번째 만든 쉘)

    ▷ bash (위에 3개를 조합해서 만든 쉘)    * 대부분의 리눅스에서 사용하는 쉘 *

    ▷ 부가적으로 tcsh 등등 더 많이 있습니다.

 

● 원리 (실행순서)

 

    ▷ bash쉘 관련된 초기화 파일의 실행 순서

 

    ▷ 순서마다 각각 무슨 역할인지 아래에 설명을 쭉 읽어보시면 됩니다. 

    -> ① /etc/profile

    -> ② .bash_profile

    -> ③ .bashrc

    -> ④ /etc/bashrc

    -> ⑤ .bash_logout

 

 

○ 사용중인 쉘 & 쉘 초기화 파일

● 사용중인 쉘 확인 방법

 

# cd ~ 명령어로 사용자의 홈 디렉토리로 이동

# ls -a 명령어로 있는 파일 전부 확인

③ .bash관련 파일이 있다면 사용중인 쉘은 bash라는 뜻입니다.

 

 

두번째 방법이 간단합니다.

# echo $SHELL 명령어로 로그인 계정이 사용하는 쉘 정보 확인

 

 

● 쉘 초기화 파일

 

    ▷ 초기화 파일이란?

      - 기존의 정보를 덮어씌우는 것

      - 예시 : 기존 리눅스 설정 된 쉘이 S라 가정하면, 리눅스가 시작되면서 .bash로 시작하는 파일들이

                자동으로 실행되면서 S를 새로운 값으로 덮어버리는 것입니다.

 

    ▷ .bash_profile : PATH같은 환경변수가 등록되어 있는 파일

 

    ▷ .bashrc : 리눅스 부팅 시 설정해두었던 함수, alias 환경변수 적용하는 파일

    ▷ .bash_history : 접속해서 종료할 때 까지 사용한 명령어를 기록한 파일

    ▷ .bash_logout :  로그아웃할 때 실행했으면 하는 명령어를 기록한 파일

                             로그아웃할 때 실행되는 스크립트 파일

                             (사실상 없어도 상관없습니다.)

 

○ 쉘에 설정한 파일의 영향

    ▷ /etc/profile    리눅스 시스템 전체에 적용되는 파일

        .bash_profile  설정한 한 사람의 유저에게만 적용되는 파일

 

※ profile로 끝나는 파일들은 전부 환경 변수가 적혀있는 파일입니다.

   환경 변수는 it-serial.tistory.com/38 참조하시면 됩니다.

 

    ▷ /etc/bashrc    리눅스 시스템 전체에 적용되는 파일

        .bashrc         설정한 한 사람의 유저에게만 적용되는 파일

 

※ bashrc로 끝나는 파일들은 시스템 전역함수 or alias가 적혀있는 파일입니다.

 

※ /etc에 있는 곳에 적으면 시스템 전체 모든 유저에게 적용시킬 수 있습니다.

 

 

○ alias

    ▷ alias '알리아스' 라고 불린다.

 

    ▷ 쉽게 말해 치환 같은 역할을 한다.

 

    ▷ 어느 파일에 등록하는지에 따라 부팅할 때 없어지거나,                

                                                 다른 사용자로 접속하면 안되거나,

                                                 모두 사용할 수 있습니다.

 

예시로 보면 쉽습니다.

 

# alias q='ls' 명령어를 입력하게 되면 ls라는 명령어 대신 q를 입력할 수 있게 됩니다.

하지만 이렇게 바로 명령어로 치환을 해버리면 부팅 시 없어집니다.

이 명령을 사용하려면 부팅 시 재등록 해야합니다. (간단하게 잠깐 쓸 때 유용하게 사용)

# unalias q 명령어를 통해 명령을 해제 할 수 도 있습니다.

 

 

이제는 사용자 홈 디렉토리로 이동하여 .bashrc라는 파일안에 들어갑니다.

# cd ~ 명령어로 홈 디렉토리로 이동

# vi .bashrc 명령어로 파일 수정모드

 

 

파일 안에 위에서 입력한 # alias q='ls' 를 입력해주시고, # :wq 를 통해 저장 후 나오시면 됩니다.

이 파일안에 등록하게 된다면 이 사용자는 재부팅하여도 계속 q명령어로 ls명령어를 대체할 수 있습니다.

 

혹시 모든 사용자가 사용하게 하고 싶으시면 /etc/bashrc 파일에 똑같이 적어주시면 됩니다.

사용하고 싶지 않으시면 파일에 들어가서 다시 지우면 됩니다.

반응형

댓글