ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Simple Commands
    Linux 2023. 3. 24. 02:36
    반응형

    본 자료는 상명대학교 신동하 교수님의 수업을 정리한 것임을 밝힙니다.

    Simple Commands

    $ [var=value] command arg1 arg2 ... [redirection] [&]

    [ ] 대괄호 안은 option

    명령 수행 후 return value에 따라 정상 종료와 비정상 종료를 구분할 수 있습니다.

    return value정상 종료? 비정상 종료?
    0정상 종료
    0이 아닐 경우비정상 종료

    Pipelines

    $ [time] [!] simple_command [ | ] simple_command ...

    '|' 앞 명령의 standard output'|' 뒤 명령의 standard input으로 연결됨

    pipelines의 return value는 마지막 수행된 명령의 return value임 단순 명령 앞에 '!'가 있으면 return value의 logical not을 return

    time

    출력 결과 (real, user, sys)time 종류설명
    realwall clock time(real)사람이 느끼는 시간
    useruser CPU timeprocess가 CPU를 사용한 시간
    syssystem CPU timekernel이 CPU를 사용한 시간

    Total CPU timeuser CPU time + system CPU time

    Lists

    $ pipelines [op1] pipelines [op2] ...

    op

    ; : 순서적 수행

    & : background 실행

    && : logical and

    || : logical or

    마지막에는 ; & 두가지 밖에 오지 못한다.

    Subshells

    $ (Lists)

    Lists가 현재 shell이 새로 생성하는 child shell에서 수행되기 때문에 child shell 수행 시 변수의 변화가 현재 shell의 변수에 영향을 주지 않음

    현재 shell의 변수에 영향을 주지 않고 무언가를 실행하고 싶을 때 이를 사용합니다.

    group Commands

    $ { Lists; } {<space>Lists;<space>}

    Subshell과 달리 현재 shell에서 수행되기 때문에 현재 shell의 변수 환경에 영향을 줌

    Pathname Expansions

    pathname: file system의 file을 지칭하는 방법 중 하나

    경로명 확장은 해당 패턴 문자의 의미에 해당하는 이름의 파일이 존재하면 확장된다.

    pattern character 형식

    ?어떤 한 글자와 일치
    *어떤 string과 일치
    [...]대괄호 안의 어떤 한 문자와 일치

    Brace {} & Tilde ~ expansion

    {word, ...}

    Brace 안의 하나의 string을 임의로 선택하여 확장한다. 이때 string에 해당하는 파일이 존재하지 않아도 된다.

    Tilde (~) 사용 형식

    ~..

    Commands Substitution

    $ `command` 결과를 대치
    or 
    $ (command) 명령어 자체를 대치

    명령 대치는 주어진 명령을 수행한 후, 표준 출력으로 출력된 ` ` 안을 데이터로 대치한다.

    Arithmetic Expansions

    $ ((expresion))
    let name=expression

    operator

    Functions

    function define 형식

    $ [function] name () { Lists; }

    function call 형식

    $ name args...

    Integer or String Test

    [[ expression ]] [[<space>expression<space>]]
    [ expression ]   [<space>expression<space>]

    File Test

    주어진 파일에 대한 다양한 특징을 테스트합니다. shell script control을 위해 배운다.

    [[ expression ]] 
    [ expression ]

    파일 연산자

    연산자설명
    -e exist?
    -ffile?
    -b block device?
    -c character device?
    -p pipe?
    -h symbolic link?
    -S socket?
    -s zero-size?
    -r readable?
    -w writable?
    -x excutable?
    -g set gid?
    -u set uid?
    -ntnewer than?
    -otolder than?

    logical 연산자

    -aand
    -oor
    !not

    Control

    if 사용 형식

    if Test; then Lists;
    [elif Test; then Lists;]
    ...
    [else Test; then Lists;]
    fi

    for 사용 형식

    for name in word; do Lists; done

    while 사용 형식

    while Test; do Lists; done

    기타 명령어

    Shell Programs

    shell program이랑 shell 언어로 작성된 프로그램이다.

    shell program 파일의 첫 줄에는 항상 다음 한 줄을 포함해야한다.

    #!/bin/bash 
    or
    #!/bin/zsh

    실행 방법

    $ sh <파일 이름> <인수>
    
    $ chmod 755 파일 이름
    $ ./파일이름 인수

    Uploaded by N2T

    반응형

    'Linux' 카테고리의 다른 글

    File Input & Output System calls  (0) 2023.03.24
    Shell Programming  (0) 2023.03.24
    Unix System Overview  (0) 2023.03.24
Designed by Tistory.