マウスのないサーバー
大阪の物流会社に入社して一週間目です。先輩から「昨日の配送伝票をサーバーから探してください」と頼まれました。
画面にはデスクトップもマウスもありません。黒い画面に、文字の入力位置が点滅しているだけです。
ほとんどのサーバーはこの形で動いています。短い命令を打って、中を移動します。
このレッスンのゴール
メモ
ターミナルで、ファイルとフォルダの間を移動できる。
キーワード
| ことば | いみ | れい |
|---|---|---|
| ターミナル | 命令を文字で打つ画面 | |
| コマンド | 打って実行する命令 | ls |
| フォルダ | ファイルを入れる場所。ディレクトリとも言う | |
| パス | ファイルやフォルダの住所 | /home/sato/logistics |
| カレントディレクトリ | 今いるフォルダ | |
| シェル | コマンドを読んで実行するプログラム |
学生が入力するセルは、このプレビューでは空白です。
pwd と ls で今の場所がわかる
シェルには、いつもカレントディレクトリがあります。特に指定しなければ、コマンドはそのフォルダに対して動きます。
pwd は、今いるフォルダのパスを表示します。ls は、その中にあるものを表示します。
cd はフォルダを移動します。cd slips と打つと、slips の中に入ります。
フォルダ名は英語にしています。多くの会社のサーバーがそうだからです。
フォルダの中を見る
# 大阪の物流会社のフォルダを作って練習します。
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/sato | cd logistics | /home/sato/logistics |
| /home/sato/logistics | cd slips | /home/sato/logistics/slips |
| /home/sato/logistics/slips | cd .. | /home/sato/logistics |
| /home/sato/logistics | cd /var/log | /var/log |
| /var/log | cd slips | エラー: そのフォルダはない |
学生が入力するセルは、このプレビューでは空白です。
よくある誤解
注意
cd slips はどこからでも使える、と思われがちです。実際は、今いるフォルダの中しか探しません。先に pwd で場所を確かめるか、/ で始まる絶対パスを使いましょう。
下りて、また上がる
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 元 先 はファイルを移動します。同じフォルダで別の名前にすると、名前の変更になります。
配送フォルダを整理する
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 を落ち着いて使えれば、チームの手順書をほぼ読み進められます。