RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR

출처 : 대전국제IT교육센터 정성재 강사

 

1. 그룹 명령 실행
(1) 개요 : 한 명령줄에 여러개의 명령어를 동시에 사용할 수 있는데, ';'를 사용하여 명령어를
           구분해주면 된다.
(2) 사용예
   1) ls ; sleep 10 ; ls
       => ls 명령수행후 sleep에 의해 10초 쉬는 명령을 수행하고 다시 ls명령을 수행한다.

   2)여러 명령의 결과를 모아서 수행 : ( )를 이용하여 하나의 출력을 얻을 수 있다.
     예) i)  ls ; find / -type d > list.txt
            = > find / -type d 만 list.txt로 저장됨.
             (ls ; find / -type d ) > list.txt
             => 두 명령 모두의 결과를 list.txt로 저장
         ii) pwd ; (cd / ; pwd ) ; pwd
             /home/posein
             /
             /home/posein
              => 그룹 명령의 shell은 명령 종료시에는 원래의 shell상태로 전환된다.

2. 표준 입출력(Standard Input/Output)
(1) 개요: 유닉스계열 운영체제에서는 표준 입력과 표준 출력이라는 이름의 데이터 흐름을 사용한
          다. 입력은 특정 프로그램으로 들어오는 값을 말하고, 출력은 특정프로그램에서 나오는
          값이다. 아울러 특정프로그램에서 나오는 출력값은 다른 프로그램의 입력값으로도 사용
          가능하다.
(2) 표준 입출력
   1) 표준 입력(Standard Input): 입력을 담당하는 키보드를 말한다. 줄여서 stdin 이라고 하고
                                숫자값으로 0으로 표기한다
   2) 표준 출력(Standard Output) : 결과값이 보여지는 화면을 말한다. 줄여서 stdout이라고 하고
                                  숫자값으로 1으로 표기한다. 일반적으로 쉘상태에서 숫자값 1은
                                  생략되어 진다.
   3) 표준 에러(Standard error) : 에러값이 보여지는 화면을 말한다. 줄여서 stderr이라고 하고
                                 숫자값으로 2로 표기한다.

3. redirection과 pipe

(1) 개요 : redirection은 어떤 프로세스의 입/출력을 표준 입출력이 아닌 파일로 저장하거나 파일 의 내용을 프로세스의 입력으로 사용하는 기법이며, pipe는 어떤 프로세스의 출력을 다른 프로세스의 입력으로 사용하는 기법이다. (2) redirection 1) 종류 ㄱ. > : 프로세스의 출력을 파일에 저장한다. ㄴ. >> : 프로세스의 출력을 파일에 추가한다. ㄷ. < : 프로세스의 입력을 파일로 부터 읽어 들인다. ㄹ. << : 프로세스의 입력을 파일로 부터 읽어 사용하지만 뒤에 주어진 값 이전까지만 사용한다. 2) 사용예 ㄱ. cat > tmp.txt => 여기서 표준입력은 키보드로 입력한 내용이 되고 출력은 tmp.txt파일이 된다. 키보드 로 입력한 뒤에 [CTRL]+[D]를 누르면 tmp.txt파일에 저장한다 ㄴ. cat >> tmp.txt => 사용자가 입력한 내용을 tmp.txt라는 파일의 뒷부분에 덧붙인다. 만약 tmp.txt라는 파일이 존재하지 않으면 새로운 파일을 생성한다. ㄷ. wc < tmp.txt => tmp.txt라는 파일의 내용을 wc의 입력으로 사용한다. cat tmp.txt | wc와 같다. ㄹ. mail posein < abc.txt => posein이라는 사용자에게 미리작성된 abc.txt내용을 메일로 보낸다. ㅁ. [posein@www posein]$ cat << end > I love linux > I love windows > end I love linux I love windows => end라는 문자열이 나오기 전까지를 표준 입력으로 삼아 출력한다. 3) 응용예 ㄱ. [posein@www posein]$ find / -name '*.txt' => 결과값과 에러를 모두 화면(표준출력)에 보여준다. ㄴ. [posein@www posein]$ find / -name '*.txt' 2>/dev/null => 결과값은 화면에 보여주고, 에러는 화면에 출력하지 않고 버린다. ㄷ. [posein@www posein]$ find / -name '*.txt' >list.txt => 결과값(1)은 list.txt파일에 저장하고 에러는 화면에 출력한다. ㄹ. [posein@www posein]$ find / -name '*.txt' 2>/dev/null > list.txt => 결과값은 list.txt파일에 저장하고 에러는 화면에 출력하지 않고 버린다. ㅁ. [posein@www posein]$ find / -name '*.txt' 2>error.txt => 결과값은 화면에 출력하고 에러는 error.txt 파일에 저장한다. ㅂ. [posein@www posein]$ find / -name '*.txt' 2>error.txt > result.txt => 결과값은 result.txt에 저장하고 에러는 error.txt파일에 저장한다. ㅅ. [posein@www posein]$ find / -name '*.txt' > data.txt 2>&1 => 결과값과 에러값을 모두 data.txt 이라는 한 파일에 저장한다. find / -name '*.txt' &> data.txt 와 같다. ㅇ. [posein@www posein]$ find / -name '*.bak' 2>>error.txt => 결과값은 화면에 출력하고 에러는 error.txt파일에 추가하여 저장한다. ㅈ. [posein@www posein]$ cat test.txt I LOVE LINUX. I LOVE WINDOWS. [posein@www posein]$ cat < test.txt I LOVE LINUX. I LOVE WINDOWS. => 일반적인 명령어는 위의 예처럼 인자값을 받아들여 입력 리다이렉션을 사용한 것과 같 이 쓴다. 그러나, 아래와 같은 몇몇 명령어는 입력 리다이렉션을 사용해야 한다. [posein@www posein]$ tr 'A-Z' 'a-z' < test.txt i love linux. i love windows. (3) pipe : 어떤 명령의 출력값을 다른 명령의 입력으로 사용하게 한다. 파이프(|)는 일종의 필터 역할을 한다. 1) 사용법 cmd1 | cmd2 => cmd1의 결과값이 cmd2의 입력으로 사용된다. 2) 사용예 ls -alF |more => ls명령의 결과값을 한 페이지별로 보여준다. (4) 관련명령어 1) tee ㄱ. 설명: 파이프 연결 출력을 양뱡향으로 나눈다. 즉 이것은 파이프 연결 흐름을 두 개의 방향 으로 갈라지도록 한다. 마치 파이프를 연결할 때 사용되는 T자 연결관과 같다. ㄴ. 사용법 tee [option] 파일 ㄷ. option -i : 인터럽트를 무시하도록 한다. -a : 지정된 파일들로 출력이 덮어쓰지 않고, 뒤에 추가하도록 한다. ㄹ. 사용예 ls -l | tee list.txt |more => 파일의 목록을 list.txt라는 파일에 기록함과 동시에 more를 사용하여 화면에도 출력 내용을 보여준다.


4. alias와 history
(1) alias
   1) 개요: alias란 별명이라는 뜻으로 어떠한 명령이나 명령들의 집합을 다른 명령으로 대치해
           주는 기능을 한다. 이 기능을 사용하여 자신만의 고유한 명령어를 만들어 사용할 수
           있으며, 자주 쓰는 옵션들을 자동적으로 설정해 놓을 수 있다. 인자없이 실행시키면 현재
           정의되어 있는 리스트를 보여준다.
   2) 사용법
    ㄱ. bash
       alias name='command'
    ㄴ. csh
       alias name command
   3) 사용예
    ㄱ. alias의 지정
      a. bash
        alias ls='ls -alF'        // ls명령에 기본으로 옵션을 설정한다.
        alias aaa='ls -alF'       // aaa라는 새로운 명령어를 만든다.
      b. csh
        alias ls 'ls -alF'
    ㄴ. alias를 해제 : unalias명령을 사용한다.
      a. 사용법
        unalias 앨리어스된이름
      b. 사용예
        1. unalias *
            => 모든 alias가 지워진다.
        2. unalias ls
            => ls에 앨리어스된 내용을 해제한다.
        3. unalias aaa
            => aaa에 설정된 앨리어스를 해제한다.
    ㄷ. 원래의 명령실행: 앨리어스된 명령을 해제하지 않고 일시적으로 원래의 명령이 실행되도록
                        할 수 있다. 즉 ls 에 기본적으로 -alF 옵션이 지정되었을 때 일시적으로
                        앨리어스 해제없이 원래의 ls 명령을 실행시킬 수 있다.
      a. 해당 명령의 full path를 지정 : 'ls' 명령을 수행할 경우 /bin/ls 라고 입력한다.
      b. 명령앞에 '\'를 붙인다.
        \ls
   4) 참고: 쉘 상태에서 설정한 alias는 재로그인하거나 시스템이 재부팅되면 다시 설정해야 한다.
           계속 사용하려면 .bashrc에 설정하면 된다.
(2) history
   1) 개요 : shell은 사용자가 명령행에서 실행시킨 명령들을 기록하여 보관하고 있는데, 이것은
            후에 편집하거나 실행시킬 수 있다. 이것을 history라 부른다. '!'는 history를
            나타내는 문자이다. 아무 옵션없이 history라 입력하면 현재까지 저장된 history의
            내용을 보여준다. 또한 상방향커서키를 이용하여 실행했던 명령들도 볼 수 있다.
   2) 사용예
     ㄱ. history => 현재까지 사용된 명령어들을 나열해 준다.
     ㄴ. !!      => 바로 전에 실행시켰던 명령어를 의미한다.
     ㄷ. 특정문자열로 시작하는 history찾기
        !문자열 => 가장 최근에 수행되었던 문자열의 명령어를 수행한다.
        예) !al => alias 명령을 수행
   3) 관련파일
     .bash_history : 이 파일에서 개인사용자들이 입력했던 쉘명령어들이 저장된다. .으로
                   시작되어서 숨겨진 파일형태로 존재하고 개인홈디렉토리에 위치한다. 또한 현재
                   로그인해서 내린 명령들은 로그아웃시에 기록되므로 다음 로그인시 .bash_histo
                   ry파일안에서 확인할 수 있다.

Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30