System Admin

본문 바로가기
사이트 내 전체검색


RedHat Linux >> System Administration for Redhat Linux
[목차]
제2장 쉘 프로그래밍

    2. 입출력 방향 재지정, 파이프, 백그라운드 실행


가. 다중 명령어(multiple commands) 사용

한 라인에 여러개의 명령을 입력하면, 쉘은 여러 명령을 수행합니다.

순차적으로 명령들을  수행할 때는 세미콜론으로 구분합니다.

# command1; command2; ...; commandN

동시에 명령들을  수행할 때는 &으로 이어써서 수행합니다.

# command1& command2& ...& commandN

 

예 :

[root@w3 /root]# ls;ps;cat .bashrc
nsmail  picture.jpg  picture.png
  PID TTY          TIME CMD
 1385 pts/1    00:00:00 su
 1386 pts/1    00:00:00 bash
 1465 pts/1    00:00:00 ps
# .bashrc
 
# User specific aliases and functions
 
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
 
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
[root@w3 /root]#

 

나. 입출력 방향 재지정

1. 표준 입출력

  • 내용출력 : 표준출력(stdout)
  • 내용입력 : 표준입력(stdin)
  • 에러 메시지 : 표준에러(stderr)

2. 출력 재지정

명령의 출력을 터미널에 연결하는 대신 파일로 저장할 때 사용됩니다.

출력재지정기호 : >

# command > file

ls 프로그램의 출력을 memo라는 파일로 연결할 경우

# ls -al > memo
# cat memo

 

3. 출력 재지정 추가

출력을 파일 끝에 추가하고자 하는 경우에 사용됩니다.

출력 재지정 추가 기호 : >>

# command >> file

memo 파일 끝에 ps ax 명령의 결과를 저장하자

# ps ax >> memo
# cat memo

 

4. 표준에러 재지정

에러 메시지를 터미널에 출력하지 않고, 파일로 저장할 경우에 사용됩니다.

Bourne 쉘의 경우, 표준 출력의 연결 번호인 2> 앞에 써서 사용합니다.

사용방법 :

# command 2> file

예 :

# ls -z 2> errfile

 

표준 출력과 에러 출력을 다른 파일에 저장할 경우

# (ls -z > memo) 2> errfile

C 쉘의 경우, >&를 붙입니다.

사용방법 :

# command >& file

예 :

% ls -z >& errfile

표준 출력과 에러 출력을 다른 파일에 저장할 경우

% (ls -z > memo) >& errfile

 

5. 입력 재지정

키보드로부터 명령을 읽는 대신 파일에서 명령을 읽을 때 쓸 수 있습니다.

입력재지정 기호 : <

사용방법 :

# command < file

 

memo 파일에서 명령을 읽어서 실행한다.

# cat > memo

ls -al
ps

# cat memo

# sh < memo
# mail jklee < memo

 

다. 파이프

한 프로그램의 표준 출력을 다른 프로그램의 표준 입력으로 연결합니다.

1. 입출력 재지정 방법

# ls -al > tempfile
# wc -l < tempfile
# rm tempfile

2. 파이프라인 방법

# touch a.txt
# ls -al > a.txt

 

라. 백그라운드 프로세스

오랜 시간 작업을 요하며 터미널에서 입력을 받지 않는 작업인 경우 백그라운드 프로세스로 수행하는 것이 좋습니다.

리눅스는 백그라운드 프로세스와 포그라운드 프로세스를 동시에 수행하는 멀티태스킹 시스템입니다.

  • 백그라운드 : 별다른 주의없이 실행되는 프로그램(sorts, compilations 등) 명령의 끝에 엠퍼샌드(&)를 붙여 실행하면 됩니다.
  • 포그라운드 : 사용자가 입력한 명령들을 말합니다.

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.