코딩과로그

TIL > 리눅스 관련 (입출력, 관리자 권한 등) 본문

Devops/TIL

TIL > 리눅스 관련 (입출력, 관리자 권한 등)

피리음 2023. 3. 10. 12:44

오늘 공부한 것들중에 기억에 남는 것들을 추려서 올립니다.

표준 스트림 -

일반적으로 프로그래밍에서의 표준 스트림이라고 하면,프로그램간의 상호 입출력을 의미한다. (이하 위키)

더보기

In computer programming, standard streams are interconnected input and output communication channels[1] between a computer program and its environment when it begins execution

리눅스에서 표준 스트림(Standard Stream)은 프로세스의 입력, 출력, 오류 출력을 다루는 세 개의 스트림입니다. 이들 스트림은 모든 유닉스 계열 운영 체제에서 공통으로 사용됩니다.

 

유닉스에서는 입출력을 파일로 추상화함으로써 통신을 파일형식으로 통일시켰다.

표준 스트림은  3가지로 나뉜다.

  1. 표준 입력(stdin) - 프로세스가 입력을 받는 스트림입니다. 보통 키보드나 파일에서 읽어옵니다. 표준 입력은 리눅스에서 0번 파일 기술자(file descriptor)를 사용하여 참조됩니다.
  2. 표준 출력(stdout) - 프로세스가 출력을 내보내는 스트림입니다. 보통 터미널 화면이나 파일에 출력됩니다. 표준 출력은 리눅스에서 1번 파일 기술자를 사용하여 참조됩니다.
  3. 표준 오류(stderr) - 프로세스가 오류를 출력하는 스트림입니다. 보통 터미널 화면이나 파일에 출력됩니다. 표준 오류는 리눅스에서 2번 파일 기술자를 사용하여 참조됩니다.

 

리다이렉션

리다이렉션 기호방향

> 표준 출력 명령의 결과를 파일로 저장 (기존 파일 덮어씀)
>> 표준 출력(append) 명령의 결과를 기존 파일에 추가
< 표준 입력 파일의 데이터를 명령에 입력

- 이하 내가 해본 출력 리다이렉션

echo의 stdout 인 "hi"를 redirection하여  hi.txt 라는 파일을 새로 생성하여 넣어주었다.

 

리다이렉션을 응용하면 다음도 가능하다.

$ head < ps.txt > sample.txt

=> ps.txt 파일을  < 을 통해 head의 표준입력에 넣고 > 을 통해 sample.txt 파일로 덮어씌운다.

 

파이프라인

파이프라인은 리눅스/유닉스에서 두 개 이상의 명령어를 조합하여 하나의 명령어로 실행하는 것을 말함.

 

$ process1 | process2

process1 의 출력결과를 process2가 받고 싶을 때에 사용.

 

리다이렉션(Redirection)

리눅스/유닉스 명령어에서 출력을 화면이나 파일이 아닌 다른 위치로 보내는 것을 말합니다. 리다이렉션은 다양한 출력 스트림을 처리하는 데 사용됨.

 

- 아래과 같이 파일 or 폴더들이 있음.
❯ ls
gatsby.txt  goodjob.txt  hi.txt  test.sh

- .txt 라는 명칭으로 끝나는 파일 or 폴더의 리스트를 얻어옴.
❯  ls | grep "\.txt$"
gatsby.txt
goodjob.txt
hi.txt

'Devops > TIL' 카테고리의 다른 글

TIL > URL과 URI  (0) 2023.03.15
TIL > 시스템 모니터링  (0) 2023.03.15
TIL > 프로세스, 서비스, 자동화  (0) 2023.03.13
TIL> 리눅스 디렉토리 구조  (0) 2023.03.09
TIL > 개발 프로세스와 DevOps 업무 개요  (0) 2023.03.08