안녕하세요. 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
다중 명령어의 장점은 명령어의 성공 여부에 따라서 동작을 제어할 수 있다는 점에서 효율적으로 작업을 할 수 있습니다.
감사합니다.
'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 |
댓글