コマンドリファレンス
このページでは、JSHシェルですぐに使用できる基本コマンドを機能別に説明します。
概要
コマンドは使用目的ごとに分類しています。
注意
- すべてのコマンドは、既定ではホストOSではなくJSHの仮想ファイルシステム上で動作します。
- 相対パスは、現在のJSH作業ディレクトリを基準に解釈します。
- 作業ディレクトリや環境変数など、現在のシェルの状態を変更するコマンドも含みます。
- 一部のコマンドは、Unixツールの機能の一部だけを提供します。
ファイルシステムコマンド
cd
現在のJSHシェルセッションの作業ディレクトリを変更します。
構文
cd [directory]引数を省略すると、$HOMEに移動します。
対象パスがない場合は、エラーを出力し、0以外のステータスを返します。
使用例
/work > cd subdir
/work/subdir >
/work/subdir > cd
/work >cat
ファイルの内容を連結して標準出力に出力します。 行番号、行末の表示、タブの表示、空行の圧縮、構文強調に対応しています。
構文
cat [OPTION]... [FILE]...オプション
-n, --numberすべての出力行に番号を付けます。-E, --showEnds各行の末尾に$を表示します。-T, --showTabsタブ文字を^Iで表示します。-s, --squeeze連続する空行を1行にまとめます。-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.txtls
ディレクトリの内容を一覧表示します。 既定の出力は列形式で、隠しファイル、詳細表示、時刻順のソート、再帰的な検索に対応しています。
構文
ls [OPTION]... [PATH]...オプション
-l, --long詳細な一覧形式で出力します。-a, --all隠しファイルを含めます。-t, --time更新時刻の降順にソートします。-R, --recursiveサブディレクトリを再帰的に一覧表示します。
パス引数では、*と?のワイルドカードも使用できます。
使用例
/work > ls
/work > ls -la
/work > ls -t /lib
/work > ls -R src
/work > ls *.jsmkdir
1つ以上のディレクトリを作成します。
構文
mkdir [OPTION]... DIRECTORY...オプション
-p, --parents必要な親ディレクトリも作成します。-v, --verbose作成したディレクトリごとにメッセージを出力します。-h, --helpヘルプを表示します。
-pを指定せずに既存のディレクトリを作成すると、エラーを返します。
使用例
/work > mkdir data
/work > mkdir -p logs/app/2026
/work > mkdir -pv build/outputpwd
現在の作業ディレクトリを出力します。
構文
pwd使用例
/work > pwd
/workrm
ファイルやディレクトリを削除します。
構文
rm [OPTION]... FILE...オプション
-r, -R, --recursiveディレクトリとその内容を再帰的に削除します。-d, --dir, --directory空のディレクトリを削除します。-f, --force存在しないパスやオペランド不足のエラーを無視します。-v, --verbose削除したパスごとにメッセージを出力します。-h, --helpヘルプを表示します。
使用例
/work > rm old.txt
/work > rm -rf cache
/work > rm -d empty-dir
/work > rm -fv temp.txt missing.txt環境コマンド
env
環境変数を出力します。 引数を省略するとすべての環境変数をソートして出力し、変数名を指定するとその変数だけを出力します。
構文
env [NAME]...使用例
/work > env
/work > env HOME PWDalias
現在のシェルセッションにコマンドエイリアスを登録するか、表示します。
aliasだけを実行すると、定義済みのエイリアスをソートして出力します。alias NAMEは、指定した1つのエイリアスを出力します。
alias NAME COMMAND [ARG]...形式でエイリアスを登録すると、その後入力したコマンドの先頭で展開されます。
構文
alias
alias NAME
alias NAME COMMAND [ARG]...使用例
/work > alias ll ls -l
/work > ll
/work > alias
/work > alias llsetenv
現在のシェルセッションの環境変数を設定します。
構文
setenv NAME VALUE
setenv NAME=VALUE変数名は英字または_で始め、その後は英字、数字、_だけを使用できます。
使用例
/work > setenv GREETING hello
/work > setenv MESSAGE='hello world'unsetenv
現在のシェルセッションから環境変数を削除します。
構文
unsetenv NAME変数名が不正な場合や引数が不足している場合は、使用方法を表示します。
使用例
/work > unsetenv GREETINGシステムコマンド
pkg
JSHパッケージとプロジェクトのマニフェストを管理します。 サブコマンド、オプション、手順は、パッケージマネージャーを参照してください。
構文
pkg <command> [options] [args...]servicectl
サービスコントローラーを介して、長時間実行するJSHサービスを管理します。 サブコマンド、オプション、サービスの管理手順は、サービスマネージャーを参照してください。
構文
servicectl [--controller=<addr>] <command> [args...]servicectl controller
サービスコントローラーのRPCランタイムメトリクスを取得・リセットします。
構文
servicectl [--controller=<addr>] controller [metrics|get|reset]動作
controllerとcontroller metricsは同じです。controller getは、controller metricsの別名です。controller resetは、累積カウンターをリセットし、新しい集計期間を開始します。high_water_mark_connectionsは、最後のリセット以降の同時RPC接続数の最大値(ピーク値)を保持します。
使用例
servicectl controller metrics
servicectl controller reset
servicectl controller getテキスト・ユーティリティコマンド
echo
引数を空白で区切って出力し、末尾に改行を追加します。
構文
echo [ARG]...現在の実装は、-nなどのシェル形式のフラグや、エスケープシーケンスの解釈には対応していません。
使用例
/work > echo hello world
hello worldsleep
指定した秒数だけ待機して終了します。
構文
sleep [OPTION] <sec>オプション
-h, --helpヘルプを表示します。
使用例
/work > sleep 5tail
ファイルの末尾を出力します。
-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.logviz
可視化仕様(vizspec、ADVN)を表示・検証・ファイル出力します。 JSHまたはMachbase Neoのワークフローで生成した、レンダラーに依存しない分析結果を扱うユーザー向けコマンドです。
構文
viz <command> [options] <file>サブコマンド
viz view [options] <file>vizspecをTUIブロックとして描画します。viz validate <file>vizspecファイルを検証します。viz export [options] <file>vizspecをSVGに出力します。
`view` オプション
--compact系列の要約と生データ表を非表示にします。--rows <n>ブロックごとの詳細行数を制限します。--width <n>スパークライン、棒グラフ、タイムラインの幅を指定します。--verbose-metaブロックのメタデータを表示します。- pretty-tableオプションも併用できます。
`export` オプション
--format svg出力形式です。現在はsvgだけに対応しています。-o, --output <file>標準出力ではなく、ファイルにSVGを保存します。--width <n>SVGの幅をピクセル単位で指定します。--height <n>SVGの高さをピクセル単位で指定します。--padding <n>SVGの外側の余白をピクセル単位で指定します。--title <text>SVGのタイトルを指定します。--background <color>SVGの背景色を指定します。--font-family <name>SVGのフォントファミリーを指定します。--font-size <n>SVGの既定のフォントサイズをピクセル単位で指定します。--hide-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.jsonwc
ファイルごとの行数、単語数、バイト数、文字数を数えます。
ファイルを省略するか-を指定すると、標準入力を読み取ります。
構文
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>コマンドが見つからない場合は、エラーを出力し、0以外のステータスを返します。
使用例
/work > which ls
/sbin/ls.jsメッセージングコマンド
mqtt_pub
MQTTブローカーにメッセージを発行します。
構文
mqtt_pub [OPTION]...オプション
-t, --topic発行先のトピックです。-b, --brokerブローカーアドレスです。既定値はtcp://localhost:5653です。-m, --message直接指定するメッセージペイロードです。-f, --fileペイロードを読み取るファイルです。-q, --qosMQTTの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 1nats_pub
NATSサブジェクトにメッセージを発行します。 応答サブジェクトを指定するか、requestモードで1件の応答を待機できます。
構文
nats_pub [OPTION]...オプション
-t, --topic発行先のサブジェクトです。-s, --subject--topicと同じ意味の別名です。-b, --brokerブローカーアドレスです。既定値はnats://localhost:4222です。-m, --message直接指定するメッセージペイロードです。-f, --fileペイロードを読み取るファイルです。-r, --reply応答を待機する応答サブジェクトです。--request一時的なinboxサブジェクトを作成し、1件の応答を待ちます。--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対話型コマンド
repl
JSHのJavaScript REPLを開始します。 コマンドシェルとは異なり、JavaScript式を直接実行する対話環境です。
構文
replshell
新しいJSHシェルセッションを開始します。 現在の環境を基に、別のシェルループを実行する場合に使用します。
構文
shell