반갑습니다!
이번 포스트에서는 Docker를 위한 Linux 기초
두 번째 내용 리다이렉션과 파이프에 대해서 알아보겠습니다 ^^
먼저 기본 배경지식이 필요한데요
command로 실행되는 프로세스는 세 가지의 스트림을 가지고 있습니다
①표준 입력 스트림(Standard Input Stream) - STDIN
②표준 출력 스트림(Standard Output Stream) - STDOUT
③오류 출력 스트림(Standard Error Stream) - STDERR
모든 스트림은 일반적인 Plain Text로 Console에 출력하도록 되어있습니다 ^^
리다이렉션(redirection)이란건 이 표준 스트림의 흐름을 바꿔주는 기능을 합니다!
> 또는 <을 이욯나느데요
주로 명령어 표준 출력을 화면에 나타내는 것이 아니라
특정 파일에 쓸 때 사용합니다 ^^
또는 특정 파일의 내용을 응용 프로그램에 stdin으로 넣어줄 때도 사용합니다!
샘플 코드를 통해서 살펴보겠습니다!
$ ls -a 명령어를 통해 현재 디렉토리 경로의
하위 파일 및 폴더 중 숨겨져 있는 것들까지 모두 조회했습니다 ^^
위와 같이 화면에 출력되는 것을 볼 수 있습니다
그럼 > 기호를 이용하여 리다이렉션 해보겠습니다
test.txt라는 파일에 ls 명령의 결과를 입력해보겠는데요 ^^
$ cat 명령어를 이용해서 test.txt의 내용을 조회해보니
본디 화면에 출력되어야 했을 ls의 결과가
해당 텍스트 파일에 기재되어 있는 것을 확인할 수 있겠습니다 ^^
반대로, test.txt 파일에 기재되어 있는 내용을
head 명령어에 입력하여 화면에 출력해보았습니다 ^^
> 기호는 해당 내용을 파일에 덮어쓰기만 하는데요
>> 기호를 이용하면 기존에 있던 내용에 이어서 추가할 수 있습니다 ^^
ls의 동일한 결과를 test.txt 파일에 추가한 뒤
$ cat 명령어를 이용해 조회해보니
동일한 내용이 뒤에 덧붙여진 것을 확인할 수 있겠습니다 ^^!
다음 내용은 파이프(Pipe)입니다
두 프로세스 사이에서 한 프로세스의 출력 스트림을
다른 프로세스의 입력 스트림으로 사용할 때 이용됩니다 ^^
마찬가지로 샘플 코드를 가지고 이해해보겠습니다 ^^!
위와 같이 | 파이프 기호를 이용해서 두 명령어를 붙여주시면 되는데요!
ls 명령을 통한 출력 내용이 grep 명령의 입력 스트림으로 들어갑니다 ^^
ls의 결과를 grep 명령의 입력으로 넣어주면,
grep 명령에서는 입력으로 들어온 데이터 중 test.txt가 포함되어 있는 내용만 결과로
화면에 출력해줍니다 ^^ !
참고로, grep 명령은 검색 기능을 하는 명령어입니다 ^^
옵션이 여러가지가 있는데요
① -i
영문의 대소문자를 구별하지 않습니다
② -v
pattern을 포함하지 않는 라인을 출력합니다
③ -n
검색 결과의 각 행의 선두에 행 번호를 넣습니다
④ -l
파일명만 출력합니다
⑤ -c
패턴과 일치하는 라인의 개수만 출력합니다
⑥ -r
하위 디렉토리까지 검색합니다
이상으로 리다이렉션과 파이프에 관련된 내용에 대해 알아보았습니다 ^^
다음 포스트에 이어서 나머지 내용들도 살펴보겠습니다!
'Docker > 도커를 위한 리눅스 기초' 카테고리의 다른 글
[Docker를 위한 Linux 기초] 6. Vim 에디터 간단 사용법 (0) | 2024.08.13 |
---|---|
[Docker를 위한 Linux 기초] 5. 우분투 패키지 관리 (0) | 2024.08.13 |
[Docker를 위한 Linux 기초] 4. 하드 링크와 소프트 링크 (0) | 2024.08.13 |
[Docker를 위한 Linux 기초] 3. 프로세스 관리 (0) | 2024.08.13 |
[Docker를 위한 Linux 기초] 1. 파일시스템 및 사용자 관리 (0) | 2024.08.13 |