スポンサーリンク
テクノロジー

ターミナルとシェルの基本|ディレクトリ移動とファイル操作、パイプの考え方

ターミナルを初めて使う人に向けて、シェルとの違い、プロンプトの読み方、絶対パスと相対パスを整理します。練習用フォルダーでの移動・コピー・名前変更、削除の注意、テキスト表示と検索、パイプと保存の考え方を具体例で紹介。補完や履歴、Windows・macOS・Linuxで異なる点、権限や文字化けのつまずきも扱います。

無地の画面のパソコンとキーボードを操作する手元

ターミナルを開くと、文字の並んだ画面と入力待ちの記号が現れます。初めは何を入力すればよいか迷いますが、基本の操作は、今いる場所を確かめ、対象を選び、必要な処理を一つ実行するという流れです。コマンドを丸暗記する前に、場所と対象の関係が分かると、結果を予想しやすくなります。

以下の実行例は、主にmacOSやLinux、WindowsのWSL内で使う一般的なUnix系シェルを想定しています。BashやZshなどが例です。PowerShellでは同じ短い名前でも動作や指定方法が違うため、そのまま置き換えず後半の違いを確認してください。練習は自分で作った専用フォルダーと、失っても困らないテキストに限って進めます。

スポンサーリンク

ターミナル・シェル・コマンドの関係

画面と解釈するプログラムを分ける

ターミナルは、キーボードから文字を入力し、結果を表示するための窓口です。シェルはその入力を受け取り、実行するプログラムと渡す情報を解釈します。ターミナルの見た目を変えることと、シェルを替えることは別です。同じ画面のアプリでも、設定によって異なるシェルを開けます。

コマンドは、シェルへ実行を指示するための名前や入力です。外部のプログラムを呼び出すものも、シェル自体が機能を持つものもあります。たとえばディレクトリを移動する cd は、一般的なシェルでは組み込みの機能です。「どのアプリの画面か」だけでなく「中でどのシェルを使っているか」が、手順を選ぶ手がかりになります。

ディレクトリは、画面操作でいうフォルダーに当たります。ディレクトリの中に別のディレクトリがあり、その下へファイルを置く構造です。ターミナルでは画面上のアイコンを選ぶ代わりに、名前やパスで対象を指定します。ウィンドウで開いているフォルダーが、そのままターミナルの現在地になるとは限りません。

入力が実行されるまで(ターミナル、シェル、コマンド、出力)
画面、解釈、処理の役割を分けて考えます。

プロンプトは入力待ちの目印

入力する行の先頭にある表示をプロンプトと呼びます。利用者名、コンピューター名、現在地、末尾の記号などが含まれることがありますが、見た目は設定で変わります。説明書にある $ や % は、プロンプトの例として書かれる場合があります。先頭の記号まで入力すると別の意味になることがあるため、何を示す記号かを確認します。

管理者の状態を # で表す環境もありますが、記号だけで権限を断定はできません。練習のために管理者権限を付ける必要はありません。自分のホームディレクトリ以下で操作し、権限に関するエラーが出たら、まず対象と場所を見直します。

この記事のコードブロックは、プロンプトを付けず、入力する行だけを載せています。複数行の例は一行ずつ実行し、結果を確かめてから次へ進めます。何も表示されず次のプロンプトに戻るコマンドもあります。その場合も、成功したと決めつけず、一覧などで結果を確認すると理解が進みます。

スポンサーリンク

カレントディレクトリとパス

現在地を基準に相対パスを読む

カレントディレクトリは、シェルが現在の作業場所としているディレクトリです。pwd はその場所を表示します。名前だけを指定したファイル操作は、この場所を基準に対象を探すことが多いため、初めに覚えたい確認です。別のターミナルを開くと現在地が違う場合もあります。

開いた収納箱のフォルダーを取り出す手元
作業する場所と中身を意識する
pwd
ls

ls は内容を一覧表示します。表示順や色、列の並びは環境によって変わり、設定によっては隠れた名前が最初から見えないこともあります。一覧を見て、想定している場所かを確かめます。知っているファイルが見えないなら、存在しないと結論づける前に現在地を確認してください。

絶対パスは、基準となる最上位から対象までを書いた指定です。Unix系では / から始まる形が代表的です。相対パスは現在地からの道順で、notes/memo.txt なら今いる場所の notes の中を探します。説明にある /home/example などは仮の名前の場合があり、そのまま自分の端末に存在するとは限りません。

. は現在のディレクトリ、.. は一つ上のディレクトリを表します。cd .. は一つ上へ移り、cd notes は現在地の中の notes へ移ります。cd は移動する命令であり、ディレクトリを新しく作る命令ではありません。移動に失敗した後は、元の場所にいる可能性を前提に pwd で確かめます。

練習用の場所を一つ作る

まずUnix系シェルで cd ~ を実行し、自分のホームへ移ります。~ はこの位置では一般にホームを表す記号です。次の例では shell-practice という練習用ディレクトリを作ります。同じ名前がすでにあるときやエラーが出たときは、続けず別の未使用の名前へ変更してください。

cd ~
pwd
mkdir shell-practice
cd shell-practice
pwd
ls

実行後は、次の順に結果を確認します。

  1. pwd の結果が、ホームの下に作った練習場所を指しているか見ます。
  2. 新規の空の場所なら、ls に何も表示されないことを確認します。
  3. 途中で別の作業へ移った場合は、現在地を確かめてから再開します。

以後の例は、この新しく作った場所で行います。

スペースを含む名前は、Unix系シェルではたとえば cd 'study notes' のようにパス全体を引用符で囲みます。この名前のディレクトリが実在する場合の例で、引用符が名前の一部になるわけではありません。日本語の名前も扱える環境は多いですが、最初の練習は短い英数字でそろえると、文字の入力とパスの理解を分けられます。

スポンサーリンク

オプション・引数とヘルプ

コマンドの後ろに何を渡しているか

コマンドの後ろには、動作を調整するオプションや、対象を示す引数を並べます。ls -a なら ls がコマンド名、-a がオプションです。ls notes なら notes は一覧を見たい対象の指定です。オプションも広い意味では引数に含まれますが、最初は役割を分けると読みやすくなります。

入力の例 役割 確認したいこと
pwd 現在地を表示 作業場所が合っているか
ls -a 一覧の出し方を調整 隠れた名前も含むか
cd notes 移動先を指定 そのディレクトリがあるか
cp memo.txt copy.txt コピー元と先を指定 左右の順序と既存ファイル

短いオプションは一文字、長いオプションは単語の形で書かれるものがあります。ただし、その書式や意味はコマンドごとに違います。あるコマンドで使えた -n が、別のコマンドでも同じ意味とは限りません。よく分からないオプションを付け足して動かすより、必要な機能だけ調べます。

環境に合う説明を読む

Linuxでよく使われるGNU系のコマンドには --help で説明を出すものがあります。一方、macOSの標準コマンドなどでは同じ長いオプションが使えない場合があります。たとえば man ls のように、環境に入っているマニュアルを開く方法も覚えておくと役立ちます。

man の閲覧画面は環境で異なりますが、よくある構成では上下の移動、/ に続けた語による検索、q による終了ができます。検索語に自分のファイル名を入れる必要はなく、調べたいオプションや動作の語を探します。man 自体が入っていない環境なら、そのコマンドの公式資料を確認します。

ヘルプの FILE や DIRECTORY は、そこへ自分の対象名を入れる意味で使われます。角括弧は省略可能な指定を示すなど、説明上の記号が含まれることもあります。ヘルプの書式全体をそのまま実行せず、どの部分を入力し、どの部分を読み替えるのかを確認してください。

ネット上の手順を使うときは、OS、シェル、コマンドの種類をそろえます。画面が似ているだけで同じ環境とは限りません。設定ファイルを編集する手順や管理者権限を使う手順へ進む前に、自分の環境に対応する公式の案内かを確認します。最新の仕様や対応状況は公式サイトで確認してください。

次のページへmkdir・cp・mv・rmでファイルを扱う
スポンサーリンク
  1. 秋の戸口に並ぶかぼちゃの明かりとかぶ、麦束
  2. 資料を手に落ち着いて話し合う二人
  3. ノートパソコンと資料、外付け記憶装置がある机
  4. 冬の木で越冬する卵のうやミノムシ、テントウムシ
  5. 青い折り鶴と三角に折った紙、無地の折り紙