입출력 방향 재지정
command < filename # command에 해당하는 명령은 터미널이 아닌 파일에서 표준 입력을 받는다.command > filename # command 명령의 표준 출력 방향을 해당하는 파일명으로 재지정한다.
예) $ date > now # 현재 날짜와 시간을 now 파일에 저장한다.
예) $ cat < file1 > file2 # file1의 내용을 입력으로 받아서 file2에 쓴다.
예) 위 명령은 다음과 같은 명령이다. $ cp file1 file2
파이프라인
다른 명령의 입력으로 어떤 명령의 출력 방향을 재지정하는 것이 파이프(pipe)이다. 파이프로 연결된 명령이 두 개 이상 있는 명령행을 파이프라인(pipeline)이라고 한다.예) $ sort < file1 | more # file1을 sorting하여 한 화면씩 출력한다. 스페이스바를 누르면 다음 화면으로 엔터를 누르면 다음 행으로 간다.
예) $ cut -d: -f1 < /etc/passwd | sort # cut 명령은 콜론으로 구별하는 필드 중에서(-d:) 첫째 필드(-f1)를 추려낸다. /etc/passwd의 내용에서 첫째 필드를 추려내어 sorting한다.
백그라운드 작업
쉘에서는 오래 걸리는 작업을 백그라운드에서 진행시키고, 원하는 일을 포그라운드에서 할 수 있다. 예를 들어 아래와 같이$ tar -xvf file1.tar &
명령어 뒤에 앰퍼샌드(&) 문자를 붙여주면
[1] 1009
같이 뜨고 프롬프트가 뜬다.
$
프롬프트에 다음 명령을 입력하면 된다.
$ jobs
jobs 명령어는 현재 실행 중인 백그라운드 작업을 확인하는 명령이다.
diff 유틸리티는 파일명을 인자로 받아서 두 가지 파일을 검사한다.
$ diff file1 file2 &
처럼 쓰면 터미널에 결과가 출력된다. 하지만 현재 작업하고 있는 내용과 diff 유틸리티의 결과를 잘 못 볼 수 있다. 이럴 때 출력을 파일로 바꿔준다.
$ diff file1 file2 > result_file &
댓글 없음:
댓글 쓰기