0Pricing
DevOps Bootcamp · 강의

command와 shell로 셸 명령 실행하기

원하는 명령을 원격 노드에서 실행합니다.

command와 shell로 셸 명령 실행하기은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

실제 명령을 원격으로 실행

때로는 서버에서 원시 명령을 실행하기만 하면 됩니다. 앤서블은 이를 위해 command와 shell이라는 두 모듈을 제공합니다. 🖥️

command 모듈

command 모듈은 원격 호스트에서 프로그램을 직접 실행합니다. 간단한 단일 명령에 사용하는 안전한 기본값입니다.

ansible all -m command -a "uptime"

command는 셸을 건너뜁니다

command는 셸 없이 실행되므로 파이프, 리디렉션, $HOME과 같은 변수를 무시합니다. 덕분에 동작을 예측하기 쉽고 안전합니다.

ansible all -m command -a "ls /etc"

shell 모듈

shell 모듈은 호스트의 실제 셸을 통해 명령을 실행하므로 파이프, 리디렉션, 변수를 모두 사용할 수 있습니다.

ansible all -m shell -a "cat /etc/*release"

파이프에는 shell 사용

명령에 파이프나 리디렉션이 필요하면 shell을 사용하세요. command 모듈은 |를 일반 인수로 처리할 뿐입니다.

ansible web -m shell -a "ps aux | grep nginx"

shell에서 환경 변수 사용

변수를 확장하는 모듈은 shell뿐입니다. 명령이 $HOME이나 $PATH 같은 값에 의존할 때 사용하세요.

ansible all -m shell -a "echo $HOME"

가능하면 command 선호

기본적으로 command를 사용하고, 셸 기능이 정말 필요할 때만 shell을 사용하세요. 셸 사용을 줄이면 예상치 못한 일이 줄어듭니다.

chdir로 디렉터리에서 실행

두 모듈 모두 실행 전에 디렉터리를 변경하는 chdir을 지원합니다. 명령 안에서 cd를 사용하는 것보다 깔끔합니다.

ansible app -m command -a "chdir=/srv git pull"

creates로 재실행 방지

creates 옵션을 사용하면 지정한 파일이 이미 있을 때 명령을 건너뜁니다. 같은 작업을 반복하지 않는 간단한 방법입니다.

ansible app -m command -a "touch /tmp/done creates=/tmp/done"

멱등적이지 않습니다

앤서블은 원시 명령이 무엇을 했는지 알 수 없으므로 두 모듈 모두 실행할 때마다 changed를 보고합니다. 사용할 수 있다면 실제 모듈을 우선하세요.

최후의 수단으로 사용

shell과 command는 다른 방법이 없을 때 사용하는 수단으로 여기세요. service나 package 같은 전용 모듈이 있다면 더 안전한 결과를 위해 그것을 사용하세요.

빠른 확인

파이프를 사용하는 명령을 실행해야 합니다. 어떤 모듈을 선택해야 하나요?

복습

일반 명령에는 command를 사용하고, 파이프나 변수가 필요할 때는 shell을 사용하세요. 두 모듈 모두 항상 changed를 보고한다는 점을 기억하세요. 🖥️

자주 묻는 질문

“command와 shell로 셸 명령 실행하기” 강의는 무료인가요?

네 — “command와 shell로 셸 명령 실행하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“command와 shell로 셸 명령 실행하기”에서 뭘 배우나요?

원하는 명령을 원격 노드에서 실행합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“command와 shell로 셸 명령 실행하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. ansible 명령의 구조
  2. 패턴: 전체, web, host1 대상 지정
  3. command와 shell로 셸 명령 실행하기
  4. become으로 권한 상승하기
← DevOps Bootcamp(으)로 돌아가기