ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 바이블: Chapter3. Using The Shell 정리
    리눅스 2021. 2. 11. 15:16

     

    1. About Shells and Terminal Window

     

    쉘은 명령어 해석기를 의미하며 bash shell, C shell, Korn shell등이 있다.

    쉘 interface를 나타내기 위해 shell prompt, terminal window, virutal console의 방법들을 사용한다.

     

     

    (1) Using the shell prompt

     

    Graphical user interface를 사용하지 않는다면 로그인 했을 때 shell prompt를 사용하게 된다.

     

    $: 일반 사용자의 기본 프롬프트

    #:  root 사용자의 기본 프롬프트

     

     

    (2) Using the Terminal Window

     

     Desktop GUI 버전의 리눅스를 사용한다면, 터미널 창을 이용해서 쉘을 사용하게 된다.

     

     

    (3) Using Virutal Consoles

     

    사용중인 GUI에 추가적으로 여러개의 쉘 세션을 사용하게 하는 방법

    Alt  + Crtl + (F1 ~ F6) 을 통해 virtual console로 전환할 수 있다. 

     

     

     

     

    2.  Choosing your shell

     

    대부분의 리눅스 시스템에서 디폴트 쉘은 bash shell 

    다음은 디폴트 로그인 쉘 찾기 

     

     

    다른 쉘을 사용하고 싶다면 사용하고 쉘을 다운로드 후, 사용할 수 있다. 

     

     

     

     

    3. Running Commands

     

     

    다음은 간단한 명령어들 

     

     

     

    uname을 통해 사용중인 시스템 타입확인 

     

     

     

    ※ Locating Command

     

    bin 디렉토리에 이러한 커맨드들이 존재하며 다음과 같이 커맨드를 사용할 수도 있다. 

     

     

     

    bin파일에 접근하지 않고도 date에 접근할 수 있는 환경변수설정 때문이다.

     

     

    대부분 사용하는 리눅스 사용자 명령어들은 /bin, /usr/bin, /usr/local/bin 디렉토리에 존재

    몇몇 커맨드들은 쉘안에 내장되어 있으며 다른 커맨드들은 alias를 통해 overriden되어 있다.

     

    이외에도 다른 방식들로 커맨드들이 내장되어 있다.

     

    (1) Aliases

    (2) Shell reserved word

    (3) Function

    (4) Built-in command

    (5) Filesystem command

     

     

    특정 커맨드의 위치를 알고 싶을 때 type이나 which 커맨드 사용

     

     

     

    만약  찾는 커맨드가 환경변수에 경로에 없다면, locate 사용

    locate는 chage가 포함된  디렉토리뿐만 파일시스템까지도 살펴본다.

     

     

     

     

     

    4. Recalling Commands Using Command History

     

    history 10 : 최근 사용했던 커맨드 10개 출력

     

     

    !2008 : 히스토리에 기록된 2008번째 커맨드를 실행할 수 있다.

     

     

     

     

     

    5. Connecting and Expanding Commands

     

    metacharacter를 사용해서 기존의 커맨드를 연장해서 사용할 수 있다. 

    metacharacter라 함은 |, &, <, > 등을 의미

     

     

    (1) Piping between commands

     

    파이프( | )를 이용해서 커맨드를 연장한다.

     

     

    (2) Sequential commands

     

    여러개의 커맨드를 연속으로 실행하고 싶을때 세미콜론( ; )을 사용한다. 

     

     

     

    (3) Background commands

     

    앰퍼샌드(&)를 이용해서 명령어를 백그라운드에서 실행시킨다.

     

     

    앰퍼샌드 앞의 커맨드가 백그라운드에서 실행되며

    test 디렉토리는 백그라운드에서 생성되기 때문에 

    위 커맨드에서는 test 디렉토리로 바로 이동할 수 없다.

    하지만 따로 cd test로는 이동가능 

     

     

    (4) Expanding commands 

     

    $() 와 ` `는 해당기호로 감싸인 문자열을 명령으로 해석한다.

     

     

     

    (5) Expanding artimetic expressions

     

    $[수식 연산]

     

     

     

     

     

    6. Using Shell Variables

     

    쉘은 그 자체로 사용자에게 유용한 정보를 저장하고 있다.

     

    (1)  Creating and using alias

     

     

     

    (2) Exiting the shell

     

     

     

    7. Creating your shell environment

     

    원하는 설정을 쉘 구성파일에 추가함으로써, 쉘을 열때마다 자동으로 설정된다.

    설정시 전역적으로 설정할 것인가, 지역적으로 설정할것인가를 선택

     

    (1) Configuring your shell

     

    < 전역적으로 설정하기 >

     

     

     

    < 지역적으로 설정하기 >

     

     

     

     

    (2) Setting your prompt

     

    프롬프트: 명령을 승인할 준비가 되었음을 알리는 문자열 

     

    < PS1: 프롬프트1 >

     

     

     

    < PS2: 프롬프트2 > 

     

     

     

    (3) Adding envrionment variables

     

    효율적인 쉘 작업을 위해, .bashrc 파일에 환경변수를 추가한다.

     

     

     

     

     

    <EXCERCISE>

     

    Exercises 3 answer

     

     

    Exercises 6 answer

     

     

    Exercises 9 answer

    1)

    2)

     

    3)

     

     

    Exercises 10 answer

    반응형

    댓글

Designed by Tistory.