Skip to content
명령어 레퍼런스

명령어 레퍼런스

이 페이지는 JSH shell에서 바로 사용할 수 있는 기본 명령을 기능별로 정리합니다.

개요

이 문서는 사용 목적에 따라 명령을 분류합니다.

참고

  • 모든 명령은 기본적으로 호스트 OS가 아니라 JSH 가상 파일 시스템에서 동작합니다.
  • 상대 경로는 현재 JSH 작업 디렉터리를 기준으로 해석됩니다.
  • 작업 디렉터리나 환경 변수처럼 현재 shell 상태에 영향을 주는 명령도 포함합니다.
  • 일부 명령은 Unix 도구보다 작은 기능 집합만 제공합니다.

Filesystem Commands

cd

현재 JSH shell 세션의 작업 디렉터리를 변경합니다.

사용 형식
cd [directory]

인자를 생략하면 $HOME으로 이동합니다. 대상 경로가 없으면 에러를 출력하고 non-zero 상태를 반환합니다.

사용 예시
/work > cd subdir
/work/subdir >
/work/subdir > cd
/work >

cat

파일 내용을 표준 출력으로 이어서 출력합니다. 행 번호, 줄 끝 표시, 탭 표시, 빈 줄 압축, 문법 강조를 지원합니다.

사용 형식
cat [OPTION]... [FILE]...
옵션
  • -n, --number 모든 출력 행에 번호를 붙입니다.
  • -E, --showEnds 각 줄 끝에 $를 표시합니다.
  • -T, --showTabs 탭 문자를 ^I로 표시합니다.
  • -s, --squeeze 연속된 빈 줄을 하나로 압축합니다.
  • -c, --color 문법 강조를 활성화합니다.
  • -h, --help 도움말을 표시합니다.

-c.js, .json, .ndjson, .sql, .csv, .yaml, .yml, .toml 파일을 강조 표시할 수 있습니다.

사용 예시
/work > cat -n notes.txt
/work > cat -c script.js
/work > cat -sE log.txt

ls

디렉터리 내용을 나열합니다. 기본 출력은 컬럼 형태이며, 숨김 파일, 상세 목록, 시간 정렬, 재귀 탐색을 지원합니다.

사용 형식
ls [OPTION]... [PATH]...
옵션
  • -l, --long 상세 목록 형식으로 출력합니다.
  • -a, --all 숨김 파일을 포함합니다.
  • -t, --time 수정 시간 기준으로 내림차순 정렬합니다.
  • -R, --recursive 하위 디렉터리를 재귀적으로 나열합니다.

경로 인자에서는 *, ? wildcard도 지원합니다.

사용 예시
/work > ls
/work > ls -la
/work > ls -t /lib
/work > ls -R src
/work > ls *.js

mkdir

하나 이상의 디렉터리를 생성합니다.

사용 형식
mkdir [OPTION]... DIRECTORY...
옵션
  • -p, --parents 필요한 상위 디렉터리까지 함께 생성합니다.
  • -v, --verbose 생성한 디렉터리마다 메시지를 출력합니다.
  • -h, --help 도움말을 표시합니다.

-p 없이 이미 존재하는 디렉터리를 생성하면 에러를 반환합니다.

사용 예시
/work > mkdir data
/work > mkdir -p logs/app/2026
/work > mkdir -pv build/output

pwd

현재 작업 디렉터리를 출력합니다.

사용 형식
pwd
사용 예시
/work > pwd
/work

rm

파일이나 디렉터리를 삭제합니다.

사용 형식
rm [OPTION]... FILE...
옵션
  • -r, -R, --recursive 디렉터리와 그 하위 내용을 재귀적으로 삭제합니다.
  • -d, --dir, --directory 빈 디렉터리를 삭제합니다.
  • -f, --force 존재하지 않는 경로와 missing operand 오류를 무시합니다.
  • -v, --verbose 삭제한 경로마다 메시지를 출력합니다.
  • -h, --help 도움말을 표시합니다.
사용 예시
/work > rm old.txt
/work > rm -rf cache
/work > rm -d empty-dir
/work > rm -fv temp.txt missing.txt

Environment Commands

env

환경 변수를 출력합니다. 인자를 주지 않으면 전체 환경을 정렬해서 출력하고, 변수 이름을 주면 해당 변수만 출력합니다.

사용 형식
env [NAME]...
사용 예시
/work > env
/work > env HOME PWD

alias

현재 shell 세션에 command alias를 등록하거나 조회합니다. alias만 실행하면 현재 정의된 alias를 정렬해서 출력하고, alias NAME은 특정 alias 하나를 출력합니다. alias NAME COMMAND [ARG]... 형식은 alias를 등록하며, 이후 입력한 command head에서 확장됩니다.

사용 형식
alias
alias NAME
alias NAME COMMAND [ARG]...
사용 예시
/work > alias ll ls -l
/work > ll
/work > alias
/work > alias ll

setenv

현재 shell 세션의 환경 변수를 설정합니다.

사용 형식
setenv NAME VALUE
setenv NAME=VALUE

변수 이름은 영문자 또는 _로 시작해야 하며, 이후에는 영문자, 숫자, _만 사용할 수 있습니다.

사용 예시
/work > setenv GREETING hello
/work > setenv MESSAGE='hello world'

unsetenv

현재 shell 세션에서 환경 변수를 제거합니다.

사용 형식
unsetenv NAME

잘못된 변수 이름이나 누락된 인자를 전달하면 사용법 메시지를 출력합니다.

사용 예시
/work > unsetenv GREETING

System Commands

pkg

JSH 패키지와 프로젝트 manifest를 관리합니다. 서브커맨드, 옵션, 작업 흐름은 패키지 관리자 문서를 참고하세요.

사용 형식
pkg <command> [options] [args...]

servicectl

서비스 컨트롤러를 통해 장시간 실행되는 JSH 서비스를 관리합니다. 서브커맨드, 옵션, 서비스 관리 흐름은 서비스 관리자 문서를 참고하세요.

사용 형식
servicectl [--controller=<addr>] <command> [args...]

servicectl controller

서비스 컨트롤러 RPC 런타임 메트릭을 조회하고 초기화합니다.

사용 형식
servicectl [--controller=<addr>] controller [metrics|get|reset]
동작
  • controllercontroller metrics는 동일합니다.
  • controller getcontroller metrics의 별칭입니다.
  • controller reset은 누적 카운터를 초기화하고 새 집계 구간을 시작합니다.
  • high_water_mark_connections는 마지막 reset 이후 동시 RPC 연결의 최대값(최악 시점)을 유지합니다.
사용 예시
servicectl controller metrics
servicectl controller reset
servicectl controller get

Text And Utility Commands

echo

인자를 공백으로 구분해 출력하고 마지막에 줄바꿈을 붙입니다.

사용 형식
echo [ARG]...

현재 구현은 -n 같은 shell 스타일 플래그나 escape 시퀀스 해석을 지원하지 않습니다.

사용 예시
/work > echo hello world
hello world

sleep

지정한 초 수만큼 대기한 뒤 종료합니다.

사용 형식
sleep [OPTION] <sec>
옵션
  • -h, --help 도움말을 표시합니다.
사용 예시
/work > sleep 5

tail

파일의 마지막 부분을 출력합니다. -f 옵션을 사용하면 파일에 추가되는 새 내용을 실시간으로 이어서 출력합니다.

tail [OPTION]... <file>
옵션
  • -n, --lines <N> 마지막 N줄을 출력합니다. 기본값은 10입니다.
  • -f, --follow 파일에 추가되는 새 내용을 계속 출력합니다. SIGINT 또는 SIGTERM을 받으면 종료합니다.
  • -h, --help 도움말을 표시합니다.
사용 예시
/work > tail app.log
/work > tail -n 20 app.log
/work > tail -f app.log

### viz

시각화 스펙(vizspec, ADVN)을 조회하고, 검증하고, 파일로 내보냅니다.
JSH 또는 Machbase Neo workflow에서 생성한 renderer-neutral 분석 결과를 다루는 사용자용 명령입니다.

<h6>사용 형식</h6>

```sh
viz <command> [options] <file>
서브커맨드
  • viz view [options] <file> vizspec을 TUI block 형태로 렌더링합니다.
  • viz validate <file> vizspec 파일을 검증합니다.
  • viz export [options] <file> vizspec을 SVG로 내보냅니다.
`view` 옵션
  • --compact series summary와 raw data table을 숨깁니다.
  • --rows <n> block마다 상세 row 수를 제한합니다.
  • --width <n> sparkline, bar, timeline의 폭을 지정합니다.
  • --verbose-meta block metadata를 표시합니다.
  • pretty-table 옵션도 함께 사용할 수 있습니다.
`export` 옵션
  • --format svg export format입니다. 현재는 svg만 지원합니다.
  • -o, --output <file> 표준 출력 대신 파일로 SVG를 저장합니다.
  • --width <n> SVG 너비를 픽셀 단위로 지정합니다.
  • --height <n> SVG 높이를 픽셀 단위로 지정합니다.
  • --padding <n> 바깥쪽 SVG padding을 픽셀 단위로 지정합니다.
  • --title <text> SVG title을 지정합니다.
  • --background <color> SVG background 색상을 지정합니다.
  • --font-family <name> SVG font family를 지정합니다.
  • --font-size <n> 기본 SVG font size를 픽셀 단위로 지정합니다.
  • --hide-legend legend 렌더링을 숨깁니다.
사용 예시
/work > viz validate sensor-overview.json
/work > viz view --width 80 sensor-overview.json
/work > viz export --title "CPU Overview" --output cpu.svg sensor-overview.json

wc

파일별 줄 수, 단어 수, 바이트 수, 문자 수를 계산합니다. 파일을 생략하거나 -를 지정하면 표준 입력을 읽습니다.

사용 형식
wc [OPTION]... [FILE]...
옵션
  • -l, --lines 줄 수를 출력합니다.
  • -w, --words 단어 수를 출력합니다.
  • -c, --bytes 바이트 수를 출력합니다.
  • -m, --chars 문자 수를 출력합니다.
  • -h, --help 도움말을 표시합니다.

옵션을 지정하지 않으면 기본적으로 줄 수, 단어 수, 바이트 수를 출력합니다.

사용 예시
/work > wc notes.txt
/work > wc -l *.log
/work > cat notes.txt | wc -w -

which

지정한 명령이 JSH 명령 경로에서 어디에 있는지 출력합니다.

사용 형식
which <command>

명령을 찾지 못하면 에러를 출력하고 non-zero 상태를 반환합니다.

사용 예시
/work > which ls
/sbin/ls.js

Messaging Commands

mqtt_pub

MQTT broker에 메시지를 publish합니다.

사용 형식
mqtt_pub [OPTION]...
옵션
  • -t, --topic publish할 topic입니다.
  • -b, --broker broker 주소입니다. 기본값은 tcp://localhost:5653입니다.
  • -m, --message 직접 지정한 메시지 payload입니다.
  • -f, --file payload를 읽을 파일입니다.
  • -q, --qos MQTT QoS 레벨입니다. 0, 1, 2를 지원합니다.
  • -d, --debug 디버그 로그를 출력합니다.
  • -h, --help 도움말을 표시합니다.

-m-f는 함께 사용할 수 없습니다.

사용 예시
/work > mqtt_pub -t sensors/temp -m '{"value":21.5}'
/work > mqtt_pub -b tcp://broker:1883 -t logs/app -f payload.json -q 1

nats_pub

NATS subject에 메시지를 publish합니다. reply subject를 지정하거나 request 모드로 단일 응답을 기다릴 수 있습니다.

사용 형식
nats_pub [OPTION]...
옵션
  • -t, --topic publish 대상 subject입니다.
  • -s, --subject --topic과 동일한 의미의 별칭입니다.
  • -b, --broker broker 주소입니다. 기본값은 nats://localhost:4222입니다.
  • -m, --message 직접 지정한 메시지 payload입니다.
  • -f, --file payload를 읽을 파일입니다.
  • -r, --reply 응답을 기다릴 reply subject입니다.
  • --request 임시 inbox subject를 생성해 응답 하나를 기다립니다.
  • --timeout 연결과 응답 대기 타임아웃입니다. 기본값은 10000ms입니다.
  • -d, --debug 디버그 로그를 출력합니다.
  • -h, --help 도움말을 표시합니다.

-m-f는 함께 사용할 수 없습니다.

사용 예시
/work > nats_pub -t events.demo -m 'hello'
/work > nats_pub -s rpc.echo -m 'ping' --request
/work > nats_pub -s rpc.echo -m 'ping' -r reply.demo --timeout 3000

Interactive Commands

repl

JSH JavaScript REPL을 시작합니다. 명령형 shell이 아니라 JavaScript 표현식을 직접 실행하는 대화형 환경입니다.

사용 형식
repl

shell

새 JSH shell 세션을 시작합니다. 현재 환경을 기반으로 별도 shell 루프를 실행할 때 사용합니다.

사용 형식
shell
최근 업데이트