Linux에선 기본적으로 한 줄에 하나의 명령어를 실행할 수 있다. 하지만 특수문자를 적절히 활용하면 여러 명령어를 한 줄로 이어서 사용할 수 있다.
다중 명령어를 실행할 수 있도록 하는 특수문자는 다음과 같다.
1. ;
명령어의 끝을 표시하는 문자
앞의 명령어의 실행이 실패해도 다음 명령어가 실행된다. 즉, 명령어가 순차적으로 실행된다.
두 번째로 실행한 명령어를 보면, docker 디렉터리로 이동하는 것을 실패했어도 docker/git 디렉터리로 이동한 것을 볼 수 있다.
2. |
여러 명령어를 실행할 때 이전 명령어의 결과를 다음 명령어의 입력값으로 지정한다.
텍스트 검색 명령어인 grep과 묶여서 자주 쓴다.
3. &
앞의 명령어는 백그라운드로 실행하고, 다음 명령어를 실행한다.
앞의 명령어의 실행이 실패해도 다음 명령어가 실행된다. 하지만 뒤의 명령어는 앞의 명령어 실행이 완료되기 전에 실행되므로 앞의 명령어의 결과에 종속되어서는 안 된다.
4. &&
앞의 명령어 실행에 성공하면 다음 명령어를 실행한다.
오타로 인해 top 명령어 실행에 실패한 경우 다음 명령어가 실행되지 않는 것을 확인할 수 있다.
5. ||
앞의 명령어 실행에 실패하면 다음 명령어를 실행한다.
오타로 인해 top 명령어 실행은 실패했지만 다음 명령어는 정상적으로 실행된 것을 볼 수 있다. 하지만 앞의 명령어 실행에 성공한 경우,
&&과는 반대로 다음 명령어를 실행하지 않는 것을 확인할 수 있다.