리눅스 명령어 그룹핑

리눅스 명령어 그룹핑은 여러 개의 명령어를 묶어서 한 번에 실행할 수 있도록 하는 기능입니다.

그룹핑을 하는 방법은 크게 두 가지가 있습니다.

중괄호({}) 사용하기

중괄호({}) 안에 여러 개의 명령어를 적고, 마지막에 세미콜론(;)을 붙입니다. 그리고 이를 실행하면 중괄호 안에 있는 모든 명령어가 차례대로 실행됩니다.

예를 들어, 다음과 같은 명령어를 실행하면, /var/log 디렉토리 안의 파일들의 이름과 크기를 출력합니다.

{ echo "Files in /var/log:" ; ls -lh /var/log ; }

괄호(()) 사용하기

괄호 안에 여러 개의 명령어를 적고, 마지막에 세미콜론(;)을 붙입니다. 이후에 괄호 다음에 백그라운드 실행을 위한 ampersand(&)를 붙입니다. 그리고 이를 실행하면 괄호 안에 있는 모든 명령어가 백그라운드에서 실행됩니다.

예를 들어, 다음과 같은 명령어를 실행하면, 시스템 부하를 유발하는 stress 명령어를 백그라운드에서 실행시킵니다.

(stress --cpu 4 --io 2 --vm 1 --vm-bytes 128M &) 

그룹핑은 여러 개의 명령어를 묶어서 실행할 때 편리하게 사용할 수 있습니다. 또한, 그룹핑을 사용하여 명령어를 실행하면, 명령어를 한 줄에 모아서 작성할 수 있으므로, 가독성도 좋아집니다.

조건

  • & : 첫 번째 명령어를 처리하고 두 번째 명령어를 처리함.
    명령어1 & 명령어2
    

명령어1과 명령어2가 성공적으로 처리됐을 때에만 명령어3을 처리함.

(명령어1 & 명령어2) && 명령어3
  • && : 첫 번째 명령어를 성공적으로 처리했을 때만 두 번째 명령어를 처리함.
    명령어1 && 명령어2
    
  • || : 첫 번째 명령어를 실패적으로 처리했을 때만 두 번째 명령어를 처리함.
    명령어1 || 명령어2
    

명령어1이 성공적으로 처리되지 않았을 경우에만 명령어2와 명령어3을 처리함.

명령어1 || (명령어2 & 명령어3)
서브목차