EC23001 実用解析I 情報共有wiki

UNIX Terminalの基本的な使い方

ターミナル(端末)の基本的な使い方

pythonプログラムを作っていく上ではターミナルを使う機会は避けては通れないかと思います。
基本的な使い方がわかっていると作業の効率化にも繋がり、便利かと思います。

ディレクトリの概念

簡単に言ってしまえば、ディレクトリというのはwindowsなどで言うところのフォルダとほぼ同じ意味です。
まずは話をわかりやすくするためにターミナル上で以下のコマンドを実行してみてください。

$ open .

ファイルマネージャやFinderが開くかと思います。 ディレクトリの概念はターミナルでの操作とファイルマネージャやFinderでの表示を照らし合わせながら見てみるとわかりやすいかと思います。

lsコマンド(list)

今度は以下を実行してみてください。

$ ls

その結果をファイルマネージャやFinderと照らし合わせてみると、ファイルやフォルダの名前が表示されていることが分かるかと思います。
lsコマンドはそのディレクトリにあるファイルをリストアップして表示するというコマンドです。

mkdirコマンド(make directory)

以下を実行してみてください。

$ mkdir test

lsもしてみましょう。

$ ls

結果を見れば、testというフォルダ(ディレクトリ)が作られたことがわかります。
mkdirはディレクトリを作るためのコマンドで、

$ mkdir x

という構文でxというディレクトリを作成します。

cdコマンド(change directory)

testというディレクトリが作成された状態で以下を実行してみてください。

$ cd test

lsしてみましょう。

$ ls

何も表示されなくなったかと思います。
cdコマンドは自分がいるディレクトリを変更するコマンドで、ここではtestディレクトリの中に入りました。testディレクトリではまだ何も作成されていなかったため、lsをしてもなにも表示されなかったわけです。

今度は以下を実行してください。”.(ドット)”2つです。

$ cd ..

次にlsもします。

$ ls

最初のディレクトリに戻ってきました。
“..”というのはUNIXのファイルシステムで1つ上の階層の場所を指します。

rmコマンド(remove), rmdirコマンド(remove directory)

次はこんな風にしてみましょう。

$ mkdir test/test2

”/(スラッシュ)”はディレクトリの階層構造を示す記号です。この場合には、”今いる場所にあるtestというディレクトリの下に、test2というディレクトリをつくる”という意味になります。

lsコマンドは次のような使い方もできます。

$ ls test

このようにすれば”今いる場所にあるtestというディレクトリの中にあるファイルやディレクトリを一覧表示する”という意味になります。
上の方でやっていたようにlsの後に何も指定しなければ”今いる場所にあるファイルやディレクトリを一覧表示する”という意味になります。

testディレクトリはもう不要なので削除します。
rmコマンドはファイルを、rmdirコマンドはディレクトリを削除するためのコマンドです。
これらのコマンドは普段使っているwindowsのエクスプローラやMacのFinderとは違い、一旦ゴミ箱を経由したりせずにコンピュータからファイルやディレクトリを消去するというコマンドであることには注意が必要です。
そのためこのコマンドを使って削除したファイルは復元できません。

話を戻すと、これからtestディレクトリを削除したいわけですが、実は以下のようにしても削除できません。

$ rmdir test

返ってくるエラー文を読めばわかりますが、rmdirコマンドはディレクトリの中身が空でないと実行できないのです。
testディレクトリを削除するには2通りの方法が考えられます。

$ rmdir test/test2
$ rmdir test

$ rm -rf test

ディレクトリごと削除をするのには通常こちらを用います。