ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux] 파이프 문자
    CS 지식/리눅스 2023. 3. 5. 11:47

    파이프(Pipe)


    파이프는 프로세스의 통신을 위해 도입한 것으로 어떤 프로세스의 출력이 다른 프로세스의 입력으로 쓰이게 하는 것을 말한다. 

    리눅스에서 파이프는 | 기호를 사용하고, 여러 개를 사용하면 파이프라인(Pipe-Line)을 구성하게 되면서 데이터들은 파이프라인을 따라 흐르게 된다. 결과적으로 파이프는 여러 명령을 조합할 때 사용하고 명령어와 명령어 사이에 | 기호를 사용한다.

    = 파이프 라인은 여러개의 명령어를 실행할 때 이전 명령어의 결과를 다음 명령어의 입력값으로 사용하고 싶을 때 사용하며, 쉘 프롬프트(Shell prompt)에서 한번에 사용 가능한 파이프의 개수는 제한이 없다. 

     

    + 이전 명령어의 출력값을 필터링하거나 가공할 때 주로 사용하기 때문에 awk, cut, grep, more 등의 명령어들을 조합해서 많이 사용합니다. 

     

     

     

     


     

    파이프라인 사용 예시 

     

    cat /etc/passwd | grep mail

    /etc/passwd 파일에는 현재 시스템의 계정정보들이 들어있다.

    cat 명령어에 의해 각 계정 정보가 라인별로 출력이 된다. 

    그 중에서 mail 이라는 문자열이 들어간 라인만 필터링해서 출력하고 싶을 때 

    파이프( | )를 사용하여 cat 명령어의 결과를 grep 명령어로 전달할 수 있다.

     

     

     

    - 현재 디렉토리에서 c라는 글자가 들어간 파일만 출력하고 싶을 경우에도 파이프라인을 사용해준다. 

    # ls
    [출력값]
    language.bash language.delphi language.javascript language.c language.english language.korean language.cpp language.java language.python
    
    # ls | grep c
    [출력값]
    language.c language.cpp language.javascript

     

     

    - 파이프라인을 사용해서 /etc 디렉토리의 파일 목록을 한 화면씩 나누어서 출력하는 방법

    # ls -l /etc | more
    
    total 1352
    -rw-r--r--  1 root root       16 Jan  5 21:14 adjtime
    -rw-r--r--  1 root root     1518 Jun  7  2013 aliases
    -rw-r--r--  1 root root    12288 Jan  5 21:16 aliases.db
    drwxr-xr-x  2 root root     4096 Apr 17 02:00 alternatives
    -rw-------  1 root root      541 Aug  3  2017 anacrontab
    -rw-r--r--  1 root root       55 Mar  1  2017 asound.conf
    drwxr-xr-x  2 root root     4096 Jan  5 21:12 bash_completion.d
    -rw-r--r--  1 root root     2853 Nov  5  2016 bashrc
    drwxr-xr-x  2 root root     4096 Mar  7 13:27 binfmt.d
    -rw-r--r--  1 root root       38 Aug 30  2017 centos-release
    -rw-r--r--  1 root root       51 Aug 30  2017 centos-release-upstream
    drwxr-xr-x  2 root root     4096 Aug  4  2017 chkconfig.d
    -rw-r--r--  1 root root     1108 Jan 31  2017 chrony.conf
    -rw-r-----  1 root chrony    481 Jan 31  2017 chrony.keys
    drwxr-xr-x  2 root root     4096 Jan  5 21:11 cron.d
    drwxr-xr-x  2 root root     4096 Jan  5 21:12 cron.daily
    -rw-------  1 root root        0 Aug  3  2017 cron.deny
    drwxr-xr-x  2 root root     4096 Jan  5 21:11 cron.hourly
    drwxr-xr-x  2 root root     4096 Jun  9  2014 cron.monthly
    -rw-r--r--  1 root root      451 Jun  9  2014 crontab
    drwxr-xr-x  2 root root     4096 Jun  9  2014 cron.weekly
    -rw-------  1 root root        0 Jan  5 21:10 crypttab
    -rw-r--r--  1 root root     1620 Nov  5  2016 csh.cshrc
    -rw-r--r--  1 root root      841 Jun  7  2013 csh.login
    drwxr-xr-x  4 root root     4096 Jan  5 21:11 dbus-1
    drwxr-xr-x  2 root root     4096 May 10 07:32 default
    drwxr-xr-x  2 root root     4096 Apr 17 02:00 depmod.d
    drwxr-x---  4 root root     4096 Mar 13 10:23 dhcp
    -rw-r--r--  1 root root     5090 Nov  4  2016 DIR_COLORS
    -rw-r--r--  1 root root     5725 Nov  4  2016 DIR_COLORS.256color
    -rw-r--r--  1 root root     4669 Nov  4  2016 DIR_COLORS.lightbgcolor
    -rw-r--r--  1 root root     1285 Jan  5 12:47 dracut.conf
    drwxr-xr-x  2 root root     4096 Jan  5 12:47 dracut.conf.d
    -rw-r--r--  1 root root      112 Mar 16  2017 e2fsck.conf
    -rw-r--r--  1 root root        0 Nov  5  2016 environment
    -rw-r--r--  1 root root     1317 Nov  5  2016 ethertypes
    --More--

     

     

     

     

     


    https://gracefulprograming.tistory.com/92

     

    [Linux] 파이프(pipe)에 대한 이해

    개요 안녕하세요 피터입니다. 오늘은 리눅스의 파이프(pipe)에 대해서 설명드리겠습니다. 파이프는 재지향(redirection)과 더불어 리눅스의 명령어들을 훨씬 강력하게 무장시켜주는 역할을 하는 핵

    gracefulprograming.tistory.com

     

    실습 예시는 위의 블로그를 참고하여 작성하였습니다. 

    댓글

SSOONTORY Blog.