[ 岡山大学 | 理学部 | 地球科学科 | 地球および惑星大気科学研究室 ]

大気科学演習1

Unix コマンド

Unix コマンドはたくさんありますが,頻繁に使うものはそんなに多くありません.頻繁に使ういくつかのコマンドを覚えておけば,だいたいの用は足ります.

注意事項

実習

以下は jupiter にリモートログインしてからおこなう

シェル

Unix では,シェルと呼ばれる種類のソフトウェアを使って計算機に命令を伝える.ここではキーボードからの文字入力で操作をおこないます.

シェルがコマンドを受け付ける状態のとき,ウインドウには

$

が表示される.場合によっては

george@jupiter:~$

など,プロンプト $ の前にユーザ名やその他の情報が表示されているかもしれない. また,$ でなく % や > が表示されている人もいるかもしれない.

以下,プロンプトは全て $ と書く.

カレントディレクトリ

次のコマンドでカレントディレクトリが表示される

$ pwd

ディレクトリの移動

ディレクトリの移動には cd コマンドを使う.

行き先の指定を省略するとホームディレクトリに移動する.

$ cd

上のコマンドを打った後にカレントディレクトリを表示すれば,自分のホームディレクトリが表示されるはず.

$ pwd

ホームディレクトリはユーザによって違う.ユーザ名が tako であるユーザのホームディレクトリは /home/tako である.

cd に続けて行き先のディレクトリを書けば,そのディレクトリに移動する. 例えば,ディレクトリ /usr/local/bin に移動するなら

$ cd /usr/local/bin
$ pwd

行き先は相対パスで指定することもできる. カレントディレクトリが /usr/local/bin で,ひとつ上のディレクトリ(親ディレクトリ) /usr/local に移動するなら,

$ cd ..

移動できたかどうか確認する.

$ pwd

さらにもうひとつ上のディレクトリ /usr に移動するなら,

$ cd ..

移動できたかどうか確認する

$ pwd

「..」はカレントディレクトリを基準にして決まる. すなわち,カレントディレクトリが異なれば,「..」の指すディレクトリは異なる.

ホームディレクトリから /usr/local/bin に移動する方法はたくさんある. まずホームディレクトリに戻る.

$ cd

移動できたかどうか確認する.

$ pwd

ここから /usr/local/bin に移動するには,

$ cd /usr/local/bin

移動できたかどうか確認する.

$ pwd

違う方法で移動する. まずホームディレクトリに戻る.

$ cd
$ pwd

ここから

$ cd ..
$ cd ..
$ cd usr
$ cd local
$ cd bin

と cd を5回実行して,/usr/local/bin に移動することもできる. 移動できたことを確認する.

$ pwd

あるいは,

$ cd
$ pwd

以下のように移動先を指定してもよい.

$ cd ../../usr/local/bin

移動したら,意図した通りに移動できたかどうか確認する.

$ pwd

ファイルの一覧を表示する

ディレクトリにあるファイルの一覧を表示するには ls コマンドを使う.

カレントディレクトリにあるファイルの一覧を表示するには

$ ls

カレントディレクトリにファイルがない時は何も表示されない.

ディレクトリを指定すると,指定したディレクトリにあるファイルの一覧が表示される. 例えば,/usr/local にあるファイルの一覧を表示するなら,

$ ls /usr/local

もちろん,/usr/local に移動して ls とするのでもよい.

$ cd /usr/local
$ ls

先に実行した $ ls /usr/local と同じ結果が表示されるはず.

ディレクトリの作成

ディレクトリの作成には mkdir コマンドを使う.

ホームディレクトリに,この実習で使うディレクトリを作成してみる. まずホームディレクトリに移動.

$ cd

次に,ホームディレクトリにあるファイルの一覧を表示する.

$ ls

ディレクトリ内に同じ名前のファイル(ディレクトリを含む)を作ることはできない(他のディレクトリには同じ名前のファイルがあってもよい).

作業用のディレクトリを作成する. ディレクトリの名前は好きなものを使ってよい. 以下の例では work という名前のディレクトリが作成される.

$ mkdir work

作成されたかどうか確認してみる.

$ ls

もしかすると,$ mkdir work を実行したところで,

mkdir: cannot create directory 'work': File exists

というメッセージが出た人がいるかもしれない. これは,「work というディレクトリを作成することができませんでした.理由は,work というファイルが既に存在しているためです」と言っている. work でない違う名前を指定して,ディレクトリの作成をやり直してください. ディレクトリに存在するファイルを確認するには

$ ls

ディレクトリはどこにでも作成することができるわけではない.パーミッションで書き込み許可がおりているディレクトリでのみ,ディレクトリを作成することができる.例えば /home は,通常のユーザは書き込み不許可になっている./home でディレクトリを作成しようとすれば,Permission denied (許可がありません)とメッセージが表示され,ディレクトリの作成に失敗する.作成できないけど,試してみる.

$ cd /home

移動したことを確認する.

$ pwd

ディレクトリにあるファイルを確認する.

$ ls

ディレクトリにない名前でディレクトリを作成してみる(以下の例は work というディレクトリを作成する場合).

$ mkdir work

次のようなメッセージが出る.

mkdir: cannot create directory '/home/work': Permission denied

cannot create なので「作成することはできない」と言っている. 実際に作成されていないことを確かめる.

$ ls

ファイルを作ってみる

作業用ディレクトリへの移動

$ cd
$ cd work

(上の work はそれぞれが作成したディレクトリに置き換える). ちゃんと移動できたか確認

$ pwd

echo コマンドを使ってファイルを作ってみる.

$ echo maguro > sushi.txt

このコマンドの例では,sushi.txt という名前のファイルが作成され,その中に maguro と書き込まれる. ファイルが作られたことを確認する.

$ ls

cat コマンドでファイルの中身を表示する.

$ cat sushi.txt

この例では sushi.txt という名前のファイルの中身が表示される.

たくさん書き込むこともできる.

$ echo hotate tsubu hokki > kai.txt

確認する.

$ ls
$ cat kai.txt

ファイルのコピーを作成する

コピーの作成は cp コマンドを使う.

$ cp sushi.txt kirai.txt

sushi.txt と同じ中身を持ったファイル kirai.txt が作成される. ファイルのコピーができたことを確認する. まずファイル kirai.txt が作成されたかどうかの確認.

$ ls

次にファイルの中身の確認.

$ cat kirai.txt

コピー元のファイルの中身と同じであることを確認.

$ cat sushi.txt

ファイルの名前の変更 

mv コマンドを使ってファイル名を変更する.

$ mv kirai.txt suki.txt

ファイル名が変更されたかどうか確認.

$ ls

正しく実行されていれば,kirai.txt がなくなって suki.txt が存在するはず. ファイルの中身を確認する.

$ cat suki.txt

ファイルの削除

rm コマンドを使うとファイルを削除できる. まず,存在するファイルの確認.

$ ls

素直に前から順番に作業していたら,sushi.txt というファイルがあるはず. suhi.txt を削除する.

$ rm sushi.txt

削除されたかどうかの確認.

$ ls

sushi.txt がなくなっていればOK.

ディレクトリの削除

ディレクトリを削除するときは,rmdir コマンドを使う. ためしにディレクトリを作って,削除してみる.

$ ls
$ mkdir wasabi
$ ls
$ rmdir wasabi
$ ls

ディレクトリにファイルがあると,ディレクトリを削除することはできない.ディレクトリを削除するときは,まずディレクトリにあるファイルを全て削除してから,ディレクトリを削除する. これもためしてみる.

$ mkdir norimaki
$ ls
$ cd norimaki
$ echo kappa tekka kanpyo > hosomaki
$ ls
$ cd ..
$ pwd
$ ls norimaki
$ rmdir norimaki

そうすると

rmdir: failed to remove 'norimaki': Directory not empty

これは,ディレクトリ norimaki は空じゃないので削除することに失敗した,と言っている.

$ ls

消えてないことを確認する.

ディレクトリにあるファイルも含めてまるごと削除するときは,rm に -r のオプションをつける.

$ rm -r norimaki

消えたことを確認する

$ ls

最初に作成したディレクトリも削除する.まずホームディレクトリに移動する.

$ cd

最初に作成したディレクトリが work であるなら

$ rm -r work

コマンドの元になった英語

「コマンド覚えられない」という気持ちはよくわかる. 意味のないものは覚えられないというのは普通だと思う. コマンドの元になった英語がわかると,少しは覚えやすくなるかもしれない.




Last Updated: 2022/10/10, Since: 2019/10/07.
This page is generated by Makefile.rd2html.