본문 바로가기
IT 프로그래밍 관련/리눅스 시작하기

Ubuntu redirection, pipe , alias

by 지나는행인 2021. 3. 31.
728x90

쉘에서의 명령어 중 redirection 에 대해 먼저 알아본다.

 

먼저 redirection을 해보기 전에 알아야 할 것은 ,

 

쉘의 기본 입출력장치와 파일디스크립터이다.

 

먼저 쉘의 기본 입출력장치란 , 말 그대로  입력과 출력을 할 수 있는 장치를 이야기한다.

 

기본 입력장치로는 키보드가 있을 수 있고,

( 마우스는 콘솔상태에서는 쓸 수 가 없다.)

 

기본 출력장치로는 우리가 볼 수 있는 모니터(화면) 이 있다.

 

파일스트크립터는

 

- 입력/출력 리소스에 액세스하는 데 사용되는 추상표현이다.

- 시스템으로부터 할당 받은 파일을 대표하는 0이 아닌 정수 값

- 프로세스에서 열린 파일의 목록을 관리하는 테이블의 인덱스



을 말한다.

(시스템에서 프로세스가 이 파일들을 접근할 때에 파일 디스크립터(File Descriptor)라는 개념을 이용한다.)

 

이중 0,1,2 번은 고정되어 있고, 이는 프로그램이 실행될때 자동으로 열리고, 종료되면 자동으로 닫힌다.

 

 

 

###  리다이렉션(redirection)

입력 혹은 출력의 방향을 바꾼다.

*파일 디스크립터와 함께 사용.

(위의 표준입력, 출력 오류 관련)

 

 

**표준 출력을 파일로 덮어쓴다.표준출력은 1

 

> 명령 1> 파일경로     :  명령의 수행결과를 파일에 덮어쓴다. ( 파일이 존재하지 않으면 생성하고, 존재하면 파일내용                                    을 덮어쓴다.)

 

> 명령 1>> 파일경로   :   명령의 수행결과를 파일에 쓴다. ( 파일이 존재하지 않으면 생성하고, 존재하면 파일내용에                                      명령수행내용을 이어서 쓴다.)(  표준입력과 출력의 리다이렉션은 디스크립터를 생략해도 된다 )

 

 

 

**표준 오류를 파일로 덮어쓴다.표준오류는 2

 

> 명령 2> 파일경로    :  명령의 수행결과를 파일에 덮어쓴다. ( 파일이 존재하지 않으면 생성하고, 존재하면 파일내용                                    을 덮어쓴다.)

 

> 명령 2>> 파일경로   :  명령의 수행결과를 파일에 쓴다. ( 파일이 존재하지 않으면 생성하고, 존재하면 파일내용에                                      명령수행내용을 이어서 쓴다.)

( 표준오류의 리다이렉션은 디스크립터를 생략하면 안된다.)

 

 

** 한번에 표준출력과 오류의 리다이렉션이 가능하다.

 

> 명령 1> 출력담을파일 2> 오류담을파일

ex)

ls * 1> out.txt 2> error.txt

 

 

 

## 파이크 (pipe)

두개의 명령어를 조합하여 동시에 사용하도록 연결

파이프기호 기준 왼쪽의 명령수행 결과를 오른쪽 명령의 인자로 사용

(파이프 기호 |  )

ex )

 

 

 

### alias

어떤 명령에 별명을 붙여, 그 별명으로 사용하도록 함.

기본명령에 옵션을 붙여서 사용할때나 , 여러명령을 하나로 사용할때 이용

 

> alias     : 현재 설정되어있는 별명 목록

> alias 하고싶은별명='명령'     :  명령을 별명으로 사용할 수 있음.

> alias 별명='명령;명령;명령'  :  해당명령들을 별명으로 한번에 실행.

 

> unalias 별명   : 별명 삭제

 

 

 

 

 

 

 

 

 

 

댓글