본문 바로가기
OS/Linux

[OS] 리눅스 다중 명령어

by BTC_효범 2022. 9. 2.

안녕하세요. BTC95입니다.

오늘은 리눅스 다중 명령에 대해 알아보겠습니다.


다중 명령어

  • 여러 명령어들을 한번에 수행하게 도와주는 기능이 있는 명령어
  • 명령어와 명령어 사이에 붙여 여러개의 명령어를 전달할 수 있음

 

세미클론 (;)

  • 명령이 끝났음을 나타내는 명령어
  • 한 줄의 여러 명령어를 입력
  • 앞의 명령을 실패해도 두번째 명령 실행(순차적으로)

예시

test디렉토리 생성, a파일 생성, 파일 리스트 보기

# mkdir test; touch a; ls
a test

 

엠퍼센트 (&)

  • 엠퍼센트로 명령어를 구분하여 앞의 명령어는 백그라운드로 실행하고, 즉시 뒤의 명령어 실행
  • 앞의 명령어 성공 여부 상관없이 뒤 명령어 실행
  • 뒤 명령어가 앞 명령어 결과에 종속되면 안됨 (예시 mkdir test & cd test)

예시

test 디렉토리 생성, test1 파일 생성

# mkdir test & touch test1
[1] 8408
[1]+ Done				mkdir test

 

더블 엠퍼센트 (&)

  • 명령어를 연결하게 되면 앞 명령어가 실패하면 뒤 명령어 실행 안됨
  • 첫번째 명령을 성공 해야만 다음 명령 실행

예시

test가 디렉토리라 cat 명령어를 실패하면 다음 명령어 실행하지 않음

test1 파일에 아무것도 없어서 출력하지 않았지만 명령을 성공해서 다음 명령어도 실행

# cat test && echo a
cat: test: 디 렉 터 리 입 니 다
# cat test1 && echo a
a

 

버티컬바 (|)

  • 앞 명령어의 실행 결과를 뒤 명령어의 입력으로 남김
  • 다른 이름으로 파이프(pipe)라고 불림
  • grep 명령어와 묶어서 자주 사용됨

예시

ls -l 명령 결과를 뒤로 넘겨 grep으로 test라는 이름을 가진 것들만 출력

# ls -l |grep test
drwxr-xr-x. 2 root root   1 9월   1 14:07 test
-rw-r--r--. 1 root root   0 9월   1 14:07 test1

 

더블 버티컬바 (||)

  • 명령어를 연결하게 되면, 앞에 있는 명령어 성공시 뒤 명령어 실행 안됨
  • 앞 명령어 실패시 뒤 명령어 실행

예시

테스트 디렉토리를 삭제하려는데 디렉토리의 권한이 없어서 삭제하지 못할 경우 sudo 명령어로 관리자 권한을 얻어서 test 디렉토리 삭제

# ls
test  test1
# rmdir test || sudo rmdir test
# ls
test1

 

다중 명령어의 장점은 명령어의 성공 여부에 따라서 동작을 제어할 수 있다는 점에서 효율적으로 작업을 할 수 있습니다.


감사합니다.

 

(참고:https://it-serial.tistory.com/64)

'OS > Linux' 카테고리의 다른 글

[리눅스 명령어]wget과 curl  (0) 2022.09.19
[OS] 리눅스 패키지 관리  (0) 2022.09.16
[ Linux ] 파일 권한(1)  (0) 2022.08.30
[OS] 리눅스의 필요성  (0) 2022.08.25
mod_jk를 통한 WEB-WAS연동  (0) 2022.08.19

댓글