stream
유닉스 계열 운영체제에서 프로그램(프로세스)을 드나드는 연속적인 데이터를 흐름
표준 Stream
프로세스와 주변장치가 연결된 입출력 통로 (추상화된 통로)
리다이렉션
표준 스트림을 사용자 지정 위치로 변경할 수 있는 명령
echo "yoonjae" > yoonjae.txt
eocho "like Tea" >> yoonjae.txt
tail -n 2 < yoonjae.txt
파이프
서로다른 프로세스간의 연결로, 프로세스의 표준 출력을 다른 프로세스의 표준 입력으로 사용하는 것
| 의 기호를 활용하여 A | B 의 형태로 많이 사용됨
이는 A 명령어의 표준 출력을 B 명령어의 표준 입력으로 활용한다는 것
예시 : 현재 폴더에 있는 list를 다 보여주는데, 그중에 bash 글자가 들어간 것만 보여줘라
ls -al | grep bash
ls -al | grep bash > test.txt
리눅스에서의 파일
파일디스크립터(File Descriptor)
프로세스가 파일에 접근하기 위해 제공되는 고유 식별자
프로세스가 특정 파일에 접근하기 위해 해당 파일의 파일 디스크립터를 사용함
기본적으로 할당되는 파일 디스크립터 0,1,2 는 제외하고 3부터 할당
FD | 종류 | 영문 |
---|---|---|
0 | 표준 입력 | stdin |
1 | 표준 출력 | stdout |
2 | 표준 오류 | stderr |
파일 디스크립터 확인은 PID를 통해서 확인할 수 있음
sudo ls -trn /proc/[PID]/fd
파일테이블
커널내 자료구조로 파일들을 관리하기 위해 프로세스 별로 열린 파일 목록 및 특성들 저장된 테이블
메타데이터
데이터를 표현하기 위한 데이터