クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

ターミナルでファイルを扱う

このレッスンのあとで: ターミナルで、ファイルとフォルダの間を移動できる。

45分のレッスンコマンドなし

マウスのないサーバー

大阪の物流会社に入社して一週間目です。先輩から「昨日の配送伝票をサーバーから探してください」と頼まれました。

画面にはデスクトップもマウスもありません。黒い画面に、文字の入力位置が点滅しているだけです。

ほとんどのサーバーはこの形で動いています。短い命令を打って、中を移動します。

このレッスンのゴール

メモ

ターミナルで、ファイルとフォルダの間を移動できる。

キーワード

ことばいみれい
ターミナル命令を文字で打つ画面
コマンド打って実行する命令ls
フォルダファイルを入れる場所。ディレクトリとも言う
パスファイルやフォルダの住所/home/sato/logistics
カレントディレクトリ今いるフォルダ
シェルコマンドを読んで実行するプログラム

学生が入力するセルは、このプレビューでは空白です。

pwd と ls で今の場所がわかる

シェルには、いつもカレントディレクトリがあります。特に指定しなければ、コマンドはそのフォルダに対して動きます。

pwd は、今いるフォルダのパスを表示します。ls は、その中にあるものを表示します。

cd はフォルダを移動します。cd slips と打つと、slips の中に入ります。

フォルダ名は英語にしています。多くの会社のサーバーがそうだからです。

フォルダの中を見る

コード: bash
# 大阪の物流会社のフォルダを作って練習します。
mkdir -p logistics/slips logistics/routes
printf '伝票 1201、堺市、3箱\n' > logistics/slips/slip-1201.txt
printf '伝票 1202、豊中市、1箱\n' > logistics/slips/slip-1202.txt
printf '月曜のルート: 梅田、難波\n' > logistics/routes/monday.txt

# 今どこにいて、何があるかを確認します。
cd logistics
pwd
ls

# フォルダに入らずに、中身だけを見ます。
ls slips

パスはファイルの住所

/ で始まるパスを絶対パスと言います。どのフォルダにいても同じ場所を指します。

/ で始まらないパスは相対パスです。シェルはカレントディレクトリの中から探します。

.. は一つ上のフォルダです。だから cd .. で一段上がります。

例: cd でどこへ行くか

今いる場所打つコマンド移動先
/home/satocd logistics/home/sato/logistics
/home/sato/logisticscd slips/home/sato/logistics/slips
/home/sato/logistics/slipscd ../home/sato/logistics
/home/sato/logisticscd /var/log/var/log
/var/logcd slipsエラー: そのフォルダはない

学生が入力するセルは、このプレビューでは空白です。

よくある誤解

注意

cd slips はどこからでも使える、と思われがちです。実際は、今いるフォルダの中しか探しません。先に pwd で場所を確かめるか、/ で始まる絶対パスを使いましょう。

下りて、また上がる

コード: bash
mkdir -p logistics/slips logistics/routes
cd logistics/slips
pwd

# .. は一つ上のフォルダです。
cd ..
pwd

# routes に入って、また上に戻ります。
cd routes
pwd
cd ..
ls

mkdir、cp、mv で整理する

mkdir archive は、archive という新しいフォルダを作ります。

cp 元 先 はファイルをコピーします。元のファイルはそのまま残ります。

mv 元 先 はファイルを移動します。同じフォルダで別の名前にすると、名前の変更になります。

配送フォルダを整理する

コード: bash
mkdir -p logistics/slips logistics/routes
printf '堺市のお客様に12時までに電話する\n' > logistics/memo.txt
cd logistics

# コピーします。元のファイルはそのまま残ります。
cp memo.txt memo-copy.txt

# 古いものを置くフォルダを作ります。
mkdir archive

# コピーをそのフォルダへ移動します。
mv memo-copy.txt archive/
ls
ls archive

# やってみましょう: memo.txt を routes へ移動し、
# ls routes で確かめてください。

採用担当者が期待すること

ヒント

ほとんどの技術職では、サーバーでファイルを探せることが前提になっています。pwd、ls、cd を落ち着いて使えれば、チームの手順書をほぼ読み進められます。

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。