開発ツール
エディタと開発の小道具
vim・nano の最低限の操作、make・gcc でのビルド、hyperfine での計測、シェルスクリプトの型。
nanoかんたんなエディタ
画面の下に操作方法が出る、初心者向けのかんたんなエディタです。
$ nano ~/.bashrc画面の下に操作が出ています(^ は Ctrl)。
| キー | 動作 |
|---|---|
| Ctrl+O Enter | 保存 |
| Ctrl+X | 終了 |
| Ctrl+W | 検索 |
| Ctrl+K / Ctrl+U | 行を切り取り / 貼り付け |
| Alt+U | 元に戻す |
vim定番のエディタ
vim には「ノーマルモード」(移動や操作)と「挿入モード」(文字を打つ)があります。迷ったら Esc を押すとノーマルモードに戻ります。
| キー | 動作 |
|---|---|
| i / a / o | カーソル位置で / 後ろで / 下に行を作って挿入モードへ |
| Esc | ノーマルモードに戻る |
:w / :q / :wq | 保存 / 終了 / 保存して終了 |
:q! | 保存せずに終了 |
| h j k l | 左・下・上・右 |
| gg / G | 先頭行 / 最終行 |
| dd / yy / p | 行を削除 / コピー / 貼り付け |
| u / Ctrl+R | 元に戻す / やり直す |
/文字列 | 検索(n で次) |
:%s/old/new/g | ファイル全体で置換 |
:set nu | 行番号を表示 |
makeビルドの手順をまとめて実行する
Ubuntu には最初から入っていません。 で入れられます。
Makefile に書いたビルドなどの手順を、名前を指定して実行します。
.PHONY: build test clean
build:
go build -o bin/app ./cmd/app
test:
go test ./...
clean:
rm -rf bin/$ make # 最初のターゲット(build)
$ make test
$ make -j"$(nproc)" # 並列でgccC のコンパイラ
Ubuntu には最初から入っていません。 で入れられます。
C 言語のプログラムをコンパイルします。
$ gcc -Wall -O2 -o hello hello.c
$ ./hellobuild-essential を入れると、gcc・g++・make などが一式そろいます。
python3Python を実行する
Python のプログラムを実行します。便利な機能をモジュールとして呼び出すこともできます。
$ python3 script.py
$ python3 -m http.server 8000 # 今のディレクトリを http://localhost:8000 で公開
$ python3 -m json.tool data.json # JSON を整形
$ python3 -c 'import sys; print(sys.version)'nodeJavaScript を実行する
Ubuntu には最初から入っていません。 で入れられます。
JavaScript のプログラムを実行します。
$ node app.js
$ node -e 'console.log(process.versions)'
$ node --watch server.js # ファイルを変えると自動で再起動hyperfineコマンドの実行時間を比べる
Ubuntu には最初から入っていません。 で入れられます。
何回も実行して平均やばらつきを出してくれるので、time より正確に比べられます。
$ hyperfine 'grep -r TODO .' 'rg TODO'
$ hyperfine --warmup 3 'npm run build'
$ hyperfine -P n 1 4 'make -j{n}' # パラメータを変えて比べる
$ hyperfine --export-markdown result.md 'cmd1' 'cmd2'シェルスクリプトの型
#!/usr/bin/env bash
set -euo pipefail # エラー・未定義の変数・パイプ途中の失敗で止まる
usage() { echo "使い方: $0 <名前>" >&2; exit 1; }
[ $# -ge 1 ] || usage
name="$1"
for f in *.txt; do
echo "処理中: $f"
done
if [ -f config.env ]; then
source config.env
fi
echo "こんにちは、${name}さん"$ chmod +x hello.sh && ./hello.sh alice
$ bash -x hello.sh alice # 実行する行を表示しながら動かす(デバッグ)| 書き方 | 意味 |
|---|---|
[ -f file ] / [ -d dir ] | ファイル / ディレクトリがある |
[ -z "$s" ] / [ -n "$s" ] | 空 / 空でない |
[ "$a" = "$b" ] | 文字列が等しい |
[ "$n" -gt 5 ] | 数値の比較(-eq -ne -lt -le -ge) |
$# / $1 / $@ | 引数の数 / 1つ目 / すべて |
emacs多機能なエディタ
Ubuntu には最初から入っていません。 で入れられます。
拡張性の高い定番のエディタです。
$ emacs -nw notes.org # 端末の中で開く(-nw)| キー | 動作 |
|---|---|
| Ctrl+X Ctrl+S | 保存 |
| Ctrl+X Ctrl+C | 終了 |
| Ctrl+X Ctrl+F | ファイルを開く |
| Ctrl+S | 検索 |
| Ctrl+G | 今の操作をやめる |
| Ctrl+/ | 元に戻す |
nvim (Neovim)vim の後継
Ubuntu には最初から入っていません。 で入れられます。
vim を改良したエディタです。
$ nvim file.txt
$ nvim -d a.txt b.txt # 差分を並べて表示設定は ~/.config/nvim/init.lua(または init.vim)に書きます。
shellcheckシェルスクリプトの間違いを見つける
Ubuntu には最初から入っていません。 で入れられます。
シェルスクリプトのよくある間違いや危ない書き方を見つけて教えてくれます。
$ shellcheck deploy.sh
$ shellcheck -S warning *.sh # 警告以上だけクォート忘れや、cd の失敗を確かめていない、などのよくある間違いを教えてくれます。
shfmtシェルスクリプトを整形する
Ubuntu には最初から入っていません。 で入れられます。
シェルスクリプトのインデントや書き方を整えます。
$ shfmt -i 2 -w deploy.sh # 2スペースで整形して上書き
$ shfmt -d . # 差分だけ表示goGo のツールチェイン
Ubuntu には最初から入っていません。 で入れられます。
Go 言語でプログラムを作る・ビルドする・テストするためのコマンドです。
$ go mod init example.com/app
$ go run .
$ go build -o bin/app ./cmd/app
$ go test ./...
$ go install github.com/user/tool@latest # ~/go/bin に入る
$ GOOS=windows GOARCH=amd64 go build -o app.exe . # Windows 向けにビルドcargo / rustupRust
Ubuntu には最初から入っていません。 で入れられます。
Rust 言語でプログラムを作る・ビルドするためのツールです。
$ cargo new hello && cd hello
$ cargo run
$ cargo build --release
$ cargo install ripgrep # Rust 製のツールを入れる
$ rustup update # rustup で入れた場合の更新cmakeC/C++ のビルド設定
Ubuntu には最初から入っていません。 で入れられます。
C / C++ のプロジェクトのビルド手順を作るツールです。
$ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
$ cmake --build build -j"$(nproc)"python3 の便利なモジュール
$ python3 -m venv .venv # 仮想環境
$ python3 -m pip install --upgrade pip
$ python3 -m json.tool < data.json # JSON 整形
$ python3 -m base64 -d < in.b64
$ python3 -m zipfile -e a.zip out/ # zip を展開
$ python3 -m timeit '"-".join(map(str, range(100)))' # 実行時間を測る
$ python3 -m calendar 2026 # カレンダー