ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [리눅스]쉘, 쉘의 기능
    서버/리눅스 2017. 3. 15. 21:35

    커널 : 하드웨어를 관리

    명령어를 읽고 해석한뒤 커널에 전달하는 기능 (모든 o/s에 존재)

    (#종류 unix, linux : bash, sh, ksh, csh ... windows : explorer.exe)



    쉘 스크립트

    쉘의 외부명령어 : 쉘에 내부명령어가 아닌 사용자가 만든 명령어

    -외부명령어를 치면 path 환경변수에 지정된 경로로 가서 입력된 명령어를 실행한다

    *환경변수 path : 사용자가 명령을 입력했을시 내부명령어면 실행 아니면 실행파일이라고 간주

    쉘의 내부명령어 : ...말 그대로 내부명령어 ㅎㅎ

    -설치가 필요없고 컴파일 단계가 없기에 다른언어에 비해 빠르다 but 잠재적으로 하위 프로세스의 수많은 영향으로 속도가 느려질수 있다.


    Perl 프로그래밍 언어의 창시자 Larry Wall 曰 : "쉘 포팅이 쉘스크립트보다 쉽다"



    쉘의 기능 

    (여기서 입력이란 장치입력을 말한다)

    #1) 입출력 리다이렉션 (입출력 방향을 지정할 수 있다)

    -입/출력 방향 재지정

    -입력 방향 재지정

    <. <<

    -출력 방향 재지정

    >, >>

    ( > : 덮어씀)

    ( >> : 추가됨)

    ex) id addr > file1 : file1이라는 파일안에 ip addr로 실행된 명령어를 넣겠다


    ex)who >> file1 : file1이라는 파일 맨 밑에 추가


    cat -에 적용하면 출력을 이용 할 수 있다. 

    #>cat - > file


    따라서 #>cat 명령어를 > 를통해 파일에 write까지 가능해 진다



    #2 제어문자

    -ctrl + c : 현재 실행중인 명령을 종료

    ex) ping 8.8.8.8을 하고 놔두면 계속 핑을 보낸다 ▶이때 ctrl + c 를 입력하면 ping명령어를 종료시킨다.

    -ctrl + l : 페이지를 위로 올린다(putty 프로그램을 이용해서 스크롤로 올려보면 위에 text들이 살아있다)

    cf) #>clear 명령어를 사용하면 화면을 다 지운다

    -ctrl + u : 명령라인을 종료

    ex) #>cd ../etc/sysconfig/network-script/... 쓰고 있는데 갑자기 옮기라고 할떄 사용하면 된다.

    -ctrl + d : 로그아웃, 프로그램 종료시 사용 

    ex) #>exit 명령어로 로그아웃이 가능하다

    -ctrl + z : 포그라운드 프로세스 정지

    ex)vi편집기를 사용중 ctrl+z를 하면 프로세스를 정지하고 나온다



    #3 쿼터

     1) ' 2) " 3) ` 4)\

     

     공통점

    다른점 

     '

    (quarter)

    문자열을 표현할 떄 사용 

    변수 해석 X 

     "

    (double quarter)

    변수 해석 O 


    ▶쿼터를 이용해서 띄어쓰기가 가능한 파일을 만들거나 접근할 수 있습니다.


    변수 해석 능력 test

    쿼터는 메타문자($)를 해석하지 못하고 특수문자로만 해석했기 때문에

    '$file' "$file" 명령어 실행시 쿼터는 문자열로 인식되었고 더블쿼터는 변수로 인식되었습니다.


    문장안에 쿼터와 더블쿼터를 출력하고 싶을때는 두개를 섞어서 사용해주시면 됩니다.


    \(escape sequence)    : enter와 backspace사이에 있는 버튼

    ▶ 문자들의 기능을 정지시킨다


    spacebar나 등등 이런 기호를 뜻하는 문자들을 정지하고 순수 문자로 나타냅니다


    자기 자신또한 기능을 정지 시킵니다.

    `(back quarter) : Tab키위에 (~)

    문자열을 쓰는곳에서 명령어를 사용할 수 있게해줍니다.

    !!!!!!!!!!사용주의!!!!!!!!!!! '(single quarter)랑 많이 헷갈립니다.


    변수에 명령어를 넣어 빠르게 사용할 수 도 있습니다.


    사용자를 만들면 생성되는 파일은 mkdir /home/`whoami`/ 로 만들어지겠네요



    #3 다중명령어

    1) ; 2) && 3) |


    ;(세미콜론) : L옆에

    #> <command1> ; <command2> ; <command3> : 순서대로 커멘드를 실행한다(에러 무시)



    에러가 발생해도 순차적으로 모든 명령어를 실행한다.


    &&(엔퍼센트 엔퍼센트) : 7특수문자

    #> <command1> && <command2> && <command3> : 순서대로 커멘드를 실행한다(에러시 뒤에 커멘드는 동작하지 않음)


    | ( 바 ) : \특수기호

    #> <command1> | <command2> || <command3> : 명령어를 동시에 실행


    최상위 폴더 / 를 맨아래 3개만 보고 싶을때

    명령어를 섞어서 쓴다는 말이 어울리겠네요





    '서버 > 리눅스' 카테고리의 다른 글

    [리눅스] 사용자 관리, 사용자 생성  (0) 2017.03.17
    [리눅스] 명령어  (0) 2017.03.16
    [리눅스] putty  (0) 2017.03.15
    [리눅스] 인터넷  (0) 2017.03.14
    [리눅스] 파일(cat, vi)  (0) 2017.03.14

    댓글

Designed by Tistory.