Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

실용적인 예가 있는 Linux의 10가지 유용한 연결 연산자

Linux 명령을 연결한다는 것은 여러 명령을 결합하고 그 사이에 사용되는 운영자의 동작에 따라 실행되도록 하는 것을 의미합니다. Linux에서 명령을 연결하는 것은 쉘 자체에서 짧은 쉘 스크립트를 작성하고 터미널에서 직접 실행하는 것과 같습니다. 체인을 사용하면 프로세스를 자동화할 수 있습니다. 또한 무인 기계는 체인 오퍼레이터의 도움으로 훨씬 체계적인 방식으로 작동할 수 있습니다.

실용적인 예가 있는 Linux의 10가지 유용한 연결 연산자

추가 읽기: Awk 및 정규식을 사용하여 파일의 텍스트를 필터링하는 방법

이 문서는 자주 사용되는 명령 연결 연산자를 조명하는 것을 목표로 합니다. , 생산성을 확실히 높이고 때때로 시스템 부하를 줄이는 것 외에도 짧고 의미 있는 코드를 작성할 수 있도록 하는 짧은 설명과 해당 예제가 포함되어 있습니다.

1. 앰퍼샌드 연산자(&)

'&의 기능 '는 백그라운드에서 명령을 실행하는 것입니다. 명령 다음에 공백과 '&를 입력하기만 하면 됩니다. '. 백그라운드에서 한 번에 둘 이상의 명령을 실행할 수 있습니다.

백그라운드에서 하나의 명령 실행:

admin@wsxdn.com:~$ ping ­c5 www.tecmint.com &

백그라운드에서 동시에 두 개의 명령 실행:

admin@wsxdn.com:/home/tecmint# apt-get update & apt-get upgrade &

2. 세미콜론 연산자(;)

세미콜론 연산자를 사용하면 여러 명령을 한 번에 실행할 수 있으며 명령 실행이 순차적으로 발생합니다.

admin@wsxdn.com:/home/tecmint# apt-get update ; apt-get upgrade ; mkdir test

위의 명령 조합은 먼저 업데이트를 실행합니다. 지시한 다음 업그레이드 지침을 따르고 마지막으로 '테스트 ' 현재 작업 디렉토리 아래의 디렉토리.

3. AND 연산자(&&)

AND 연산자 (&& ) 첫 번째 명령이 SUCCEEDS 실행되는 경우에만 두 번째 명령을 실행합니다. 즉, 첫 번째 명령의 종료 상태는 0입니다. . 이 명령은 마지막 명령의 실행 상태를 확인하는 데 매우 유용합니다.

예를 들어 tecmint.com 웹사이트를 방문하고 싶습니다. 터미널에서 링크 명령을 사용하지만 그 전에 호스트가 라이브인지 확인해야 합니다. 또는 아니요 .

admin@wsxdn.com:/home/tecmint# ping -c3 www.tecmint.com && links www.tecmint.com

4. OR 연산자(||)

OR 연산자 (|| )는 '기타와 매우 유사합니다. ' 프로그래밍의 문장. 위의 연산자를 사용하면 첫 번째 명령의 실행이 실패한 경우에만 두 번째 명령을 실행할 수 있습니다. 즉, 첫 번째 명령의 종료 상태가 '1 '.

예를 들어 'apt-get update를 실행하고 싶습니다. ' 루트가 아닌 계정에서 시작하고 첫 번째 명령이 실패하면 두 번째 '링크 www.tecmint.com ' 명령이 실행됩니다.

admin@wsxdn.com:~$ apt-get update || links tecmint.com

위 명령에서 사용자 업데이트할 수 없음 시스템에서 첫 번째 명령의 종료 상태가 '1'임을 의미합니다. 따라서 마지막 명령은 'tecmint.com을 연결합니다. '가 실행됩니다.

첫 번째 명령이 성공적으로 실행되고 종료 상태가 '0이면 어떻게 됩니까? '? 확실히! 두 번째 명령이 실행되지 않습니다.

admin@wsxdn.com:~$ mkdir test || links tecmint.com

여기에서 사용자는 'test 폴더를 만듭니다. ' 사용자가 허용되는 홈 디렉토리에 있습니다. 종료 상태 '0을(를) 제공하면서 명령이 성공적으로 실행되었습니다. ' 따라서 명령의 마지막 부분은 실행되지 않습니다.

5. NOT 연산자(!)

NOT 연산자 (! )는 '제외와 비슷합니다. ' 성명. 이 명령은 제공된 조건을 제외한 모든 것을 실행합니다. 이를 이해하려면 'tecmint 디렉토리를 만드세요. ' 및 'cd '에.

admin@wsxdn.com:~$ mkdir tecmint 
admin@wsxdn.com:~$ cd tecmint

다음으로 'tecmint 폴더에 여러 유형의 파일을 만듭니다. '.

admin@wsxdn.com:~/tecmint$ touch a.doc b.doc a.pdf b.pdf a.xml b.xml a.html b.html

'tecmint 폴더 내에 모든 새 파일이 생성되었음을 확인합니다. '.

admin@wsxdn.com:~/tecmint$ ls 

a.doc  a.html  a.pdf  a.xml  b.doc  b.html  b.pdf  b.xml

이제 'html을 제외한 모든 파일을 삭제합니다. ' 스마트하게 한 번에 파일을 정리하세요.

admin@wsxdn.com:~/tecmint$ rm -r !(*.html)

확인하기 위해 마지막 실행입니다. ls 명령을 사용하여 사용 가능한 모든 파일을 나열합니다.

admin@wsxdn.com:~/tecmint$ ls 

a.html  b.html

6. AND – OR 연산자(&&– ||)

위의 연산자는 실제로 'AND ' 및 '또는 ' 운영자. 이는 'if-else와 매우 유사합니다. ' 문.

예를 들어 tecmint.com에 ping을 실행해 보겠습니다. , 성공하면 '확인됨 ' else echo '호스트 다운 '.

admin@wsxdn.com:~/tecmint$ ping -c3 www.tecmint.com && echo "Verified" || echo "Host Down"
샘플 출력
PING www.tecmint.com (212.71.234.61) 56(84) bytes of data. 
64 bytes from www.tecmint.com (212.71.234.61): icmp_req=1 ttl=55 time=216 ms 
64 bytes from www.tecmint.com (212.71.234.61): icmp_req=2 ttl=55 time=224 ms 
64 bytes from www.tecmint.com (212.71.234.61): icmp_req=3 ttl=55 time=226 ms 

--- www.tecmint.com ping statistics --- 
3 packets transmitted, 3 received, 0% packet loss, time 2001ms 
rtt min/avg/max/mdev = 216.960/222.789/226.423/4.199 ms 
Verified

이제 인터넷 연결을 끊고 같은 명령을 다시 시도하십시오.

admin@wsxdn.com:~/tecmint$ ping -c3 www.tecmint.com && echo "Verified" || echo "Host Down"
샘플 출력
ping: unknown host www.tecmint.com 
Host Down

7. 파이프 연산자(|)

PIPE 연산자는 첫 번째 명령의 출력이 두 번째 명령에 대한 입력으로 작용할 때 매우 유용합니다. 예를 들어, 'ls -l의 출력을 파이프라인 '에서 ' ' 명령의 출력을 확인하십시오.

admin@wsxdn.com:~$ ls -l | less

8. 명령 조합 연산자 {}

두 개 이상의 명령을 결합하면 두 번째 명령은 첫 번째 명령의 실행에 따라 달라집니다.

예를 들어, 디렉토리 'bin이 '가 있는지 없는지, 해당 출력을 출력합니다.

admin@wsxdn.com:~$ [ -d bin ] || { echo Directory does not exist, creating directory now.; mkdir bin; } && echo Directory exists.

9. 우선순위 연산자()

연산자를 사용하면 명령을 우선적으로 실행할 수 있습니다.

Command_x1 &&Command_x2 || Command_x3 && Command_x4.

위의 유사 명령에서 Command_x1 실패? Command_x2 둘 다 , 명령_x3 , 명령어_x4 이를 위해 우선순위 연산자를 사용합니다. , 다음과 같이:

(Command_x1 &&Command_x2) || (Command_x3 && Command_x4)

위의 의사 명령에서 Command_x1 실패, Command_x2 또한 실패하지만 여전히 Command_x3Command_x4 실행은 Command_x3의 종료 상태에 따라 다릅니다. .

10. 연결 연산자(\)

연결 연산자 (\ ) 이름에서 알 수 있듯이 셸의 여러 줄에 걸쳐 큰 명령을 연결하는 데 사용됩니다. 예를 들어 아래 명령은 텍스트 파일 test(1).txt를 엽니다. .

admin@wsxdn.com:~/Downloads$ nano test\(1\).txt

지금은 여기까지입니다. 나는 곧 또 다른 흥미로운 기사를 가지고 올 것입니다. 그때까지 Tecmint에 관심을 갖고 건강하게 연결하세요. . 의견 섹션에 소중한 피드백을 제공하는 것을 잊지 마십시오.