Linux에서 여러 명령을 실행하는 방법

How Run Multiple Commands Linux



Linux의 터미널에서 실행하려면 다양한 유형의 명령이 필요합니다. 때때로 우리는 명령이 서로 의존하거나 의존하지 않을 수 있는 한 번에 여러 명령을 실행해야 합니다. 한 번에 여러 명령을 실행하는 것을 명령 체이닝이라고 합니다. 다양한 유형의 연산자를 다양한 목적으로 명령 체이닝에 사용할 수 있습니다. 가장 일반적으로 사용되는 연산자를 사용하여 두 개 이상의 명령을 실행하는 방법이 이 자습서에 나와 있습니다.

pipe(|) 연산자는 한 번에 두 개 이상의 관련 명령을 실행하는 데 사용됩니다. 다음 명령의 입력은 이전 명령의 출력이 됩니다. 따라서 각 명령의 성공 여부는 첫 번째 명령이 없는 이전 명령의 성공 여부에 달려 있습니다. 다음 명령에서 첫 번째 명령은 현재 위치의 파일 및 폴더 목록을 찾아 두 번째 명령에 대한 입력으로 출력을 보냅니다. 화장실 . 입력 데이터를 기반으로 행, 단어 및 문자의 총 수를 인쇄합니다.







$ -NS | 화장실 운 좋게



세미콜론(;) 연산자

세미콜론(;) 연산자는 한 번에 두 개 이상의 관련 없는 명령을 실행하는 데 사용됩니다. 이것은 각 명령의 출력이 다른 명령에 종속되지 않음을 의미합니다. 다음 예에서는 세 가지 유형의 명령이 함께 결합되어 있으며 각 명령의 실패는 다른 명령의 출력에 영향을 주지 않습니다. 첫 번째 명령은 파일의 내용을 인쇄하고 두 번째 명령은 디렉토리를 만들고 세 번째 명령은 현재 디렉토리를 변경합니다.



$고양이myfile.txt ;mkdir뉴디르;CD데스크탑





논리 AND(&&) 연산자

논리 AND(&&)로 실행되는 명령은 파이프(|) 명령과 같이 서로 관련되어 있습니다. 따라서 이전 명령이 성공적으로 실행되지 않으면 다음 명령이 작동하지 않습니다. 다음 예에서는 mkdir 및 rmdir의 두 명령이 && 연산자로 결합되어 있습니다. 따라서 mkdir 명령이 성공적으로 실행되지 않으면 rmdir 명령이 실행되지 않습니다. ls 명령의 출력에 따르면 myDir 디렉토리는 현재 위치에 이미 존재합니다. 따라서 첫 번째 명령은 실행되지 않으며 이 두 번째 명령도 실행되지 않습니다.

$
$mkdirmyDir&& rmdir온도
$



논리 OR(||) 연산자

논리 OR(||) 연산자는 논리 AND(&&) 연산자의 반대입니다. 이전 명령이 실행되지 않으면 다음 명령이 실행됩니다. 다음 예에서는 세 개의 cat 명령이 OR(||) 연산자와 결합됩니다. 명령을 실행하면 먼저 cat.txt 파일의 내용을 표시하려고 합니다. 현재 위치에 그러한 파일이 없으면 다음 명령을 실행하려고 시도합니다. 출력에 따르면 현재 위치에 bird.txt 파일이 존재하며 이 파일의 내용이 표시됩니다.

$ 고양이 cat.txt || 고양이 dog.txt || 고양이새.txt

여러 연산자가 있는 여러 명령

여러 연산자를 사용하여 한 번에 여러 명령을 실행할 수 있습니다. 다음 예에서는 세 개의 명령이 OR(||) 및 AND(&&) 연산자와 결합됩니다. 명령을 실행한 후 우선 디렉토리가 존재하면 현재 디렉토리를 newdir로 변경합니다. 이 명령이 실패하면 두 번째 명령을 실행하여 디렉터리를 만들고 메시지를 인쇄합니다. 디렉터리가 만들어집니다. 출력에 따르면 현재 위치에 newdir 디렉토리가 없습니다. 따라서 오류 메시지가 표시되고 나중에 디렉터리가 생성됩니다.

$CD뉴디르|| mkdir뉴디르&& 던졌다 '디렉토리가 생성되었습니다'

조합 연산자 {}

이 연산자를 사용하여 둘 이상의 명령을 결합할 수 있으며 첫 번째 명령의 실행이 실패하면 두 번째 명령은 실행되지 않습니다. 다음 예에서는 OR, AND 및 조합 연산자가 함께 사용됩니다. 첫 번째 명령은 임시 디렉토리가 현재 위치에 있는지 여부를 확인합니다. 첫 번째 명령이 실패하면 임시 디렉토리를 만들고 메시지를 인쇄합니다. 마지막 명령은 현재 디렉토리 목록을 표시합니다.

$[ -NS온도] || { mkdir온도;던졌다임시 디렉토리가 생성되었습니다.;} &&

우선순위 연산자()

이 연산자를 사용하여 실행 시 명령을 그룹화할 수 있습니다. 여기에서 각 그룹은 단일 작업으로 작동합니다. 다음 예에서는 두 개의 명령 그룹이 정의되어 있으며 첫 번째 그룹이 실행되지 않으면 두 번째 그룹이 실행됩니다.

$(CD온도&& -에게) || (mkdir온도&& )

결론

이 자습서에서는 Linux에서 여러 명령을 실행하는 데 주로 사용되는 연산자에 대해 설명했습니다. 그러나 bash에는 두 개 이상의 명령을 함께 실행하는 데 사용되는 다른 많은 연산자가 있습니다. 앰퍼샌드(&), 리디렉션(,>>), 논리 NOT(!), 조합({}) 등이 있습니다.