명령 구조 및 탐색에 대해 알아보기
학습 목표
이 유닛을 완료하면 다음을 수행할 수 있습니다.
- 명령줄 구조의 주요 부분 세 개의 이름을 알 수 있습니다.
- 명령줄을 통해 디렉터리를 변경하는 데 사용하는 명령을 식별할 수 있습니다.
일반 명령
명령줄에서 탐색하고 디렉터리를 만드는 등의 기초 스킬을 배울 수 있도록 몇몇 명령에 대해 알아보겠습니다. 이런 스킬을 배우면 명령줄 도구에서 작업하는 데 더 익숙해질 수 있습니다.
명령을 실행하기 전에 명령이 어떤 구조로 되어 있는지 알아보겠습니다.
명령 구조
모든 명령은 세 부분으로 구성됩니다. 각 부분에 대해 알아보고 명령을 몇 개 실행해 보겠습니다.
명령 예:
$ command -flag arguments
Salesforce DX 프로젝트를 만드는 데 사용하는 플래그와 인수가 포함된 Salesforce 명령의 예입니다.
sf project generate -n MyProject
- 명령은 다음과 같습니다.
sf project generate
-
-n
플래그는 필수이며, 새 프로젝트에 지정할 이름을 시스템에 알립니다.
- 인수는 프로젝트에 할당하는 이름인
MyProject
입니다.
명령의 각 섹션을 살펴보고 명령이 어떤 구조로 되어 있는지 알아보겠습니다.
-
명령. 명령(때로는 유틸리티라고 함)이 맨 앞에 옵니다. 명령은 도구가 수행하도록 할 작업을 시스템에 알립니다.
-
플래그. 플래그(때로는 옵션이라고 함)는 프로세스를 트리거하거나 포함시킬 다른 변수를 명령에 알리는 값을 지정합니다. 플래그의 값은 대부분 부울(참 또는 거짓)이거나, 변수를 설정(프로젝트 이름 지정 등)할 것임을 시스템에 알립니다.
하이픈 한 개(-
) 또는 두 개(--
) 뒤에 값이 오면 플래그입니다. 일부 명령은 필수 플래그를 포함할 수 있습니다. 일부 플래그에는 인수가 필요할 수 있습니다. 예를 들어 새 Salesforce DX 프로젝트를 만드는 경우 프로젝트 이름을 지정하려면-n MyProject
처럼-n
플래그 뒤에 프로젝트 이름을 인수로 추가합니다.
스위치는 플래그와 매우 유사하지만 인수가 필요하지 않습니다. Salesforce CLI 명령에는 명령줄 도구에서 간편하게 작업할 수 있게 여러 플래그 옵션이 스위치로 포함되어 있습니다.
-
인수. 인수는 설정할 변수나 호출할 프로세스를 시스템에 알립니다. 인수는 일반적으로 플래그에 이은 공백 뒤에 옵니다.
예:-n MyProject
이제 플래그와 인수가 무엇인지 알았으니 플래그와 인수를 언제 왜 사용하는지 알아보겠습니다.
플래그, 스위치 및 인수
대부분의 명령에는 플래그, 스위치 또는 인수라는 필수 텍스트가 더 포함될 수 있다고 배웠습니다. 실행하는 명령에 따라, 프로젝트의 결과를 바꿀 수 있는 플래그와 인수가 있습니다.
스크래치 조직을 만드는 Salesforce CLI 명령을 예로 들어, 플래그를 사용하여 이후에 명령 실행을 간소화할 수 있는 방법에 대해 알아보겠습니다.
sf org create scratch -f project-scratch-def.json -d
-
명령: 텍스트의 첫 번째 부분은 명령인
sf org create scratch
입니다. 이 명령은 스크래치 조직을 만들려고 함을 시스템에 알립니다.
-
플래그: 명령의 나머지 부분에 플래그가 두 개 있습니다.
- 이 첫 번째 플래그
-f
는 스크래치 조직을 만드는 데 참조할 템플릿을 나타내는 스크래치 조직 정의 파일을 참조하도록 시스템에 지시합니다.
- 두 번째 플래그인
-d
는 새로 만든 스크래치 조직을 기본 조직으로 설정합니다. 이 플래그는--set-default
스위치로 작성할 수도 있으므로 인수가 없어도 됩니다. 이 플래그는 사용자 이름을 기억하라고 시스템에 지시하므로 나중에 이 스크래치 조직에 대해 명령을 실행하는 경우(메타데이터를 내보내거나 가져오는 경우 등) 사용자 이름 또는 별칭을 입력하지 않아도 됩니다.-d
플래그를 사용하여 스크래치 조직을 기본 조직으로 설정했기 때문입니다.
-
인수: 참조되는 파일의 이름인
project-scratch-def.json
이 이 명령의 인수입니다. 이 파일에 따라 이 새 스크래치 조직에 필요한 기능 및 특수 조직 설정(있는 경우)이 결정됩니다.
다음에는 명령줄 창에서 명령을 실행하는 방법에 대해 알아보겠습니다.
mac의 경우 아래 명령이 bash 또는 zsh에서 실행됩니다. Windows의 경우 아래 명령이 PowerShell에서 실행됩니다.
명령 실행 방법
명령을 실행하려면 명령을 명령줄 창에 입력하고 Enter 키를 누릅니다. 달러 기호 $
(macOS/Linux) 또는 더 큼 부호 >
(Windows)가 다음 줄에 표시되면 명령이 통과되었음을 의미합니다. 명령이 통과되지 않으면 명령줄 창에 오류가 반환되고 일반적으로 오류 설명이 표시됩니다. 명령을 실행할 때 대소문자가 구분됨을 기억하세요. 예를 들어 myProject
와 MyProject
는 서로 다른 프로젝트 이름입니다.
명령을 명령줄 도구에서 실행하는 방법에 대해 알아보았으므로, 이제 탐색 명령을 사용하여 이 스킬을 연습해 보겠습니다.
탐색 명령
탐색 명령은 가장 자주 실행하는 명령이 될 수 있습니다. 프로젝트를 만들고 디렉터리를 작성할 때 각 디렉터리 안팎으로 탐색하는 방법을 알아야 합니다.
명령줄을 읽어 현재 위치 확인:
디렉터리의 어느 위치에 있는지 확인하려면 항상 명령줄 경로를 참조하세요. 새 명령줄 창을 열면 시작 디렉터리 경로에서 시작할 가능성이 큽니다.
-
macOS 시작 디렉터리:
yourname-ltm:~ yourname$
-
Windows 시작 디렉터리:
PS C:\Users\yourname>
디렉터리 변경:
다음 디렉터리로 한 단계 더 탐색하려면 cd
(change directory(디렉터리 변경)를 의미)를 입력하고 디렉터리 이름을 씁니다. 이제 Documents 디렉터리로 탐색해 보겠습니다. 이 명령은 두 OS에서 모두 동일합니다.
cd Documents
새 디렉터리 만들기:
이제 만들 디렉터리 이름과 함께 mkdir
명령을 입력하여 빈 디렉터리를 새로 만듭니다. 이 명령은 두 OS에서 모두 동일합니다.
mkdir Resume
Documents 디렉터리 안에 새 디렉터리를 만들었습니다.
여러 디렉터리 탐색:
이제 여러 디렉터리로 더 깊이 탐색하려면 cd
명령을 계속 사용하되 탐색할 디렉터리 경로를 추가합니다. OS에 따라 이 경로를 작성하는 방법이 다를 수 있습니다. 이제 Documents에 있는 Resume이라는 디렉터리로 탐색해 보겠습니다. 다른 폴더 안에 있는 폴더로 탐색한다고 생각해 보세요. (대소문자가 구분됨을 기억하세요!)
-
macOs:
cd ~/Documents/Resume
-
Windows:
cd ~\Documents\Resume
이제 Resume 디렉터리에 있을 것입니다.
한 단계 뒤로 탐색:
때로는 디렉터리 안으로 탐색한 후 한 디렉터리 단계 위로 다시 탐색하고 싶을 수 있습니다. 이렇게 하려면 cd
명령을 계속 사용하되 마침표 두 개를 나란히 뒤에 추가합니다. 이 명령은 두 OS에서 모두 동일합니다.
cd ..
이제 문서(Documents) 디렉터리 단계로 다시 돌아와 있을 것입니다.
현재 위치가 어디인지 몰라서 현재 작업 디렉터리를 확인해야 하는 경우:
현재 위치의 디렉터리 경로 및 위치를 확인하려면 다음 명령을 실행합니다.
-
macOs:
pwd
-
Windows:
cd
이제 프로처럼 탐색할 수 있습니다!
명령줄 내역 보기
실행한 명령의 내역 로그를 보려면 history
(또는 Windows의 경우 키보드 단축키 F7)를 입력합니다. 명령을 실행한 후 각 명령 옆에 숫자가 있는 명령 로그가 표시됩니다.
macOS/Linux의 경우 !
를 입력하고, 명령 번호를 추가하고 Enter 키를 눌러 명령을 다시 실행할 수 있습니다.
예: !499
는 change directory 명령을 다시 실행합니다.
다음에는 명령줄 도구를 설정해 보겠습니다.