목차
리다이렉션과 파이프
리눅스에서는 프로그램이 실행될 때 세 가지 주요 통신 경로, 즉 "표준 스트림"을 사용하여 데이터를 주고받습니다. 이 세 가지 스트림은 다음과 같습니다.
- 표준 입력 스트림(stdin): 프로그램에 데이터를 입력하기 위한 경로입니다. 예를 들어, 키보드 입력이 여기에 해당됩니다.
- 표준 출력 스트림(stdout): 프로그램에서 처리한 결과를 출력하기 위한 경로입니다. 예를 들어, 터미널이나 콘솔 창에 나타나는 텍스트가 여기에 해당됩니다.
- 오류 출력 스트림(stderr): 프로그램 실행 중 발생한 오류 메시지를 출력하기 위한 경로입니다. 이 스트림을 통해 오류 메시지는 표준 출력과 구분되어 표시됩니다.
리다이렉션(Redirection)
리다이렉션은 표준 스트림의 흐름을 변경하는 기술입니다. 예를 들어, 터미널에 출력되는 결과를 파일로 저장하고 싶을 때 사용할 수 있습니다.
> : 표준 출력을 파일로 리다이렉션합니다. 만약 파일이 이미 존재하면, 파일의 내용을 덮어씁니다.
ls > files.txt
현재 디렉토리의 목록을 files.txt 파일에 저장합니다.
>>: 표준 출력을 파일로 리다이렉션하지만, 파일의 끝에 추가합니다. 파일이 존재하지 않으면 새로 생성됩니다.
echo "새로운 내용" >> files.txt
"새로운 내용"을 files.txt 파일의 끝에 추가합니다.
<: 파일의 내용을 명령어의 표준 입력으로 리다이렉션합니다.
sort < files.txt
files.txt 파일의 내용을 정렬 명령어로 전달합니다.
파이프(Pipe)
파이프는 한 프로세스의 표준 출력을 다른 프로세스의 표준 입력으로 연결합니다. 이를 통해 여러 명령어를 연결하여 복잡한 작업을 수행할 수 있습니다.
|: 파이프라인을 사용하여 명령어를 연결합니다.
현재 디렉토리의 파일 목록 중에서 "txt"를 포함하는 파일만을 검색하여 표시합니다. 여기서 ls 명령의 출력이 grep "txt" 명령의 입력으로 전달됩니다.
ls | grep "txt"
리다이렉션과 파이프는 리눅스에서 매우 강력한 도구로, 사용자가 시스템과 상호작용하는 방식을 크게 확장해 줍니다. 이러한 기능을 사용함으로써 복잡한 작업을 단순한 명령어 체인으로 처리할 수 있게 됩니다.
'웹관련프로그래밍(web programming) > linux(리눅스)' 카테고리의 다른 글
[Ubuntu] usermod, groupadd 그룹 만들기 및 권한 허용 변경 예제 실습 (0) | 2024.03.12 |
---|---|
[Linux] 프로그램 패키지 업데이트와 업그레이드 차이점 및 프로그램 설치 삭제 방법(ubuntu, apt get update, upgrade, install, remove, purge) (0) | 2024.03.06 |
[Linux] 프로세스 검색 및 종료 방법 예제로 익히기(ps, grep, kill, 우분투, ubuntu) (0) | 2024.03.05 |
[Linux] Chmod 권한 변경 숫자로 쉽게 정리, 주요 옵션 설명 (0) | 2024.02.28 |
[Linux] ls 명령, 옵션과 파일 권한 예제로 익히기(읽고(r), 쓰고(w), 실행(x)) (1) | 2024.02.27 |