コンテンツにスキップ
コマンドリファレンス

コマンドリファレンス

このページでは、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.txt

ls

ディレクトリの内容を一覧表示します。 既定の出力は列形式で、隠しファイル、詳細表示、時刻順のソート、再帰的な検索に対応しています。

構文
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 *.js

mkdir

1つ以上のディレクトリを作成します。

構文
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 存在しないパスやオペランド不足のエラーを無視します。
  • -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 PWD

alias

現在のシェルセッションにコマンドエイリアスを登録するか、表示します。 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 ll

setenv

現在のシェルセッションの環境変数を設定します。

構文
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]
動作
  • controllercontroller 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 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のワークフローで生成した、レンダラーに依存しない分析結果を扱うユーザー向けコマンドです。

構文
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.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>

コマンドが見つからない場合は、エラーを出力し、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, --qos MQTTのQoSレベルです。012に対応しています。
  • -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サブジェクトにメッセージを発行します。 応答サブジェクトを指定するか、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式を直接実行する対話環境です。

構文
repl

shell

新しいJSHシェルセッションを開始します。 現在の環境を基に、別のシェルループを実行する場合に使用します。

構文
shell
最終更新日