엑스 기술 팁:바이 바이 루프-대신’적용’명령을 사용

육각형 모양의 추상 기술 배경
엑스 명령 줄의 가장 보관 비밀 중 하나는”적용”명령입니다.

들어 본 적이 없습니까? 음,클럽에 오신 것을 환영합니다. 두 동료와 나는 엑스에 60 년 이상’결합 된 경험을 가지고 있었고,우리 사이에,우리는 한 번 건너 적이 없었다”적용”.

그래서,그것은 무엇을하고 왜 그것을 배워야합니까? 매우 간단하게”적용”은 일련의 매개 변수에 대한 명령을 실행합니다. 예를 들어 전체 디스크 또는 기타 장치 집합에 대한 튜닝 매개 변수를 변경하려는 경우 유용합니다. 또는 어쩌면 당신은 파일의 숫자에서 몇 가지 정보를 나열해야합니다. 당신의 친구는”적용”입니다.

몇 가지 기본 스크립팅에 이미 익숙하다면”…에 대한”루프를 실행하는 것과 유사점을 볼 수 있습니다.

다음은 적용 명령의 기본 사용입니다. 단어 목록에”에코”명령을 적용합시다.

apply "echo" all cows eat grassallcowseatgrass

별로 흥미롭지는 않지만 구문은”용”루프를 사용하는 것보다 훨씬 쉽습니다. 여기에 어떻게 보일지:

for i in all cows eat grassdoecho $idone

“적용”을 사용하면”적용”과 명령(이 예에서는”에코”)만 지정하면됩니다.

소 요리 습관에 관한 단어를 좀 더 기술적 인 것으로 대체하는 것은 어떻습니까? 나는 물리 볼륨의 집합에 대한 속성을 나열하는 것입니다.

속성을 나열하는 명령은 다음과 같습니다:

lsattr –El hdiskN

따라서”적용”명령을 사용하려면 다음과 같습니다:

apply "lsattr –El" hdisk0

여러 디스크에 대해 이 작업을 수행할 가능성이 있습니다. 디스크를 나열하려면 다음 명령을 사용할 수 있습니다:

lsdev –c disk –F name

다음과 같은 디스크 목록을 생성합니다:

hdisk0hdisk1hdisk2

그래서.

적용 명령에서 해당 디스크를 하나씩 나열하는 대신 해당 디스크를 나열하는 명령을 지정할 수 있습니다. 그것은 백틱 중 하나 일 필요가 있습니다:

`lsdev –c disk –F name`

또는$(명령)구문을 사용하십시오:

$(lsdev –c disk –F name)

지금은 모두 함께 넣어 시간이다. 디스크 목록에 공백이 있는 경우 따옴표로 묶어야 합니다:

apply "lsattr –El" $(lsdev –c disk –F name)

당신도 변경하려는 경우이 정말 편리 할 수 있습니다.

한 디스크의 큐 깊이를 변경하는 명령은 다음과 같습니다:

chdev –l hdisk0 –a queue_depth=16 –P

모든 디스크에 대해 이렇게 하려면 디스크 이름을%1 로 대체하십시오. 이는 적용 명령의 각 목록에서 생성된 첫 번째 매개 변수를 나타내기 위한 것입니다.

:

apply "chdev –l %1 –a queue_depth=16 –P" $(lsdev –c disk –F name)

다음은 여러 로그 파일의 마지막 20 줄을 보는 꼬리 명령을 수행하는 방법입니다:

apply "tail -20 %1" $(ls *.log)

그냥 실행할 수 있다고 생각할 수도 있습니다.:

tail -20 *.log

그러나 꼬리 명령은 한 번에 하나의 파일 만 처리 할 수 있습니다.

다른 예가 있습니다. 파일을 변경하기 전에 일련의 파일을 백업하려고 한다고 가정합니다. 이 작업을 수행하는 방법에는 여러 가지가 있지만 적용 명령은 매우 잘 작동합니다:

apply "cp %1 %1.bak" $(ls *.cfg)

당신이 적용 명령의 약간 특이한 구문에 익숙해지면,당신은 아마 그것을 사랑하기 시작합니다. 나는 한 줄에서 실행 명령을 얻을 필요가 특히,모든 시간을 사용합니다.

일에는 IBM 은 시스템 1991 년부터는 앤서니,영어 볼 수있는 방법 AIX 및 가상화 관리할 수 있는 모든 종류의 비즈니스 환경입니다. 그는 이 분야에서 잘 알려진 저자이며http://anthonyenglish.com.au에서 자신의 블로그를 통해 비즈니스 시스템 개선에 대해 글을 쓴다. 앤서니는 그의 아내와 그의 일곱 자녀와 함께 호주 시드니에 본사를두고있다.

Leave a Reply

답글 남기기

이메일 주소는 공개되지 않습니다.