웹관련프로그래밍(web programming)/linux(리눅스)

[Linux] 리다이렉션과 파이프(검색, 쓰기, grep, <<, >>, 방향키, Redirection, Pipe)

끄적끄적아무거나 2024. 3. 4. 07:59
반응형

 

목차

     

     

     

     

     

    리다이렉션과 파이프

     


    리눅스에서는 프로그램이 실행될 때 세 가지 주요 통신 경로, 즉 "표준 스트림"을 사용하여 데이터를 주고받습니다. 이 세 가지 스트림은 다음과 같습니다.

     

    • 표준 입력 스트림(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"

    리다이렉션과 파이프는 리눅스에서 매우 강력한 도구로, 사용자가 시스템과 상호작용하는 방식을 크게 확장해 줍니다. 이러한 기능을 사용함으로써 복잡한 작업을 단순한 명령어 체인으로 처리할 수 있게 됩니다.

     

     

    반응형