入門編:基本コマンドとコマンドライン操作
Unix 環境で必須となるファイル操作・権限管理の基本コマンド、ターミナル作業を加速する Readline キーバインド、およびコマンド履歴の活用法を解説します。
ファイルとディレクトリの基本コマンド
日常的に利用する代表的なコマンド群とその役割です。
» 移動と現在位置の確認
pwd: 現在作業しているディレクトリの絶対パスを表示(Print Working Directory)cd <path>: 指定したディレクトリへ移動(引数なしで実行するとホームディレクトリ~へ移動)cd -: 直前にいたディレクトリへ戻る
» ファイル・ディレクトリの一覧と操作
# 詳細情報と隠しファイル(.で始まるファイル)を表示
ls -la
# ディレクトリの再帰的作成(親ディレクトリも同時に作成)
mkdir -p project/src/utils
# 空ファイルの作成またはタイムスタンプの更新
touch README.md
# ディレクトリごと再帰的にコピー
cp -r project/ backup/
# ファイルの移動または名前変更
mv old_name.txt new_name.txt
# ファイルやディレクトリの強制削除
rm -rf temp_dir/
パーミッション(権限)の管理
Unix 系 OS では、すべてのファイルとディレクトリに対して「誰がどのような操作を行えるか」というアクセス権(パーミッション)が設定されています。
ls -l を実行した際、先頭に表示される10文字の記号(例: -rwxr-xr--)は以下の構成になっています。
- 1文字目: 種別(
-は通常ファイル、dはディレクトリ) - 2〜4文字目: 所有者(Owner)の権限
- 5〜7文字目: 所有グループ(Group)の権限
- 8〜10文字目: その他のユーザー(Others)の権限
権限は r(読み取り: 4)、w(書き込み: 2)、x(実行: 1) の3種類の合計値(8進数)で表されます。
# スクリプトに実行権限を付与する
chmod +x script.sh
# 権限を 755(所有者:全権限、他:読み取りと実行のみ)に設定
chmod 755 script.sh
# 所有者を変更(管理者権限が必要)
sudo chown user:group script.sh
Readline キーバインド(コマンドライン編集)
Bash の入力行編集ライブラリ(GNU Readline)には、作業効率を高めるキーボードショートカットが多数備わっています。
| キー操作 | 機能 |
|---|---|
Ctrl + A | カーソルを行の先頭へ移動 |
Ctrl + E | カーソルを行の末尾へ移動 |
Ctrl + U | カーソル位置から行頭までを削除(切り取り) |
Ctrl + K | カーソル位置から行末までを削除(切り取り) |
Ctrl + W | カーソル手前の1単語を削除 |
Ctrl + Y | 削除した文字列を貼り付け(ヤンク) |
Ctrl + L | 画面をクリア(clear コマンドと同等) |
Ctrl + C | 実行中のコマンドを中断 |
コマンド履歴(ヒストリ)の活用
過去に入力したコマンドを呼び出して再利用する機能です。
» インクリメンタル逆方向検索(Ctrl + R)
ターミナルで Ctrl + R を押してキーワードを入力すると、過去に入力したコマンド履歴の中から前方一致・部分一致で即座に検索して呼び出すことができます。続けて Ctrl + R を押すとさらに過去の履歴へと遡ります。
» ヒストリ展開の便利構文
# 直前に実行したコマンドを再度実行
!!
# 直前に実行したコマンドを sudo 付きで再実行
sudo !!
# 直前のコマンドの最後の引数を再利用(例: mkdir dir ➔ cd !$)
!$