UNIXユーザの作法〜おさらい〜 †[edit]はじめに †[edit]この文書は,高橋が自分の授業の補助資料として使うために作成しました. UNIXユーザとして以下のことができるようになる,というあたりをゴールに想定しています. はじめてこれらのことを学ぶ人よりも復習しようとしている人向けです.
なんでこういうことができるようにしたいかというと...
これは,これらのUNIXコマンドの使用を通じてディレクトリ(あるいはフォルダ)の階層構造の概念を理解することが非常に重要だと思われるからです.
これは,上記と同じ理由に加えて,emacsのような高機能なエディタを用いることがプログラミングの学習のために有効だと思われるからです.(ソースに勝手に色がついたり,自動インデントできたり...) ファイルの一覧,ディレクトリの作成,カレントディレクトリの移動 †[edit]以下の説明をよく読んで実際に操作してみなさい.この文書は,上から順に読んでもらえること,指示されていることを自分で実際にやってみてもらえること,を期待して書いてあります. プロンプト †[edit]
ファイルの一覧 ls †[edit]ls コマンドを実行すると例えば次のようになります. $ ls a.out* prog2/ kazuate.c この例では,今いる場所(カレントディレクトリ,詳しくは後で)に,ファイルが二つ(a.outという名前のものと,kazuate.cという名前のもの)があり,ディレクトリが一つ(prog2という名前)あることがわかります.このように,lsコマンドを用いるとファイルを一覧することができます. ディレクトリの後ろには,上記のように'/'(スラッシュ)がついて表示されているかもしれません.それは,lsコマンドがファイルとディレクトリの区別をつけやすいようにつけてくれたものです.また,a.outのように実行できるファイルには'*'がついているかもしれません. "ls"は,"list"に由来するようです. ディレクトリの作成 mkdir /削除 rmdir †[edit]たくさんのファイルを扱うようになってくると,ファイルをいくつかの置き場所に分けて整理したくなってきます. そういうときは,ディレクトリを作ってそこにファイルを置くようにします.
"mkdir" は "make directory","rmdir" は "remove directory" に由来するようです. カレントディレクトリの表示 pwd /別のディレクトリへの移動 cd †[edit]コンソールを使って作業をする際は,(1)自分が今どのディレクトリにいるかを把握して,(2)適切なディレクトリに移動する,ことが必要になります.自分が今いるディレクトリすなわち現在地のことを,「カレントディレクトリ」といいます.(1)のためには pwd コマンドを用い,(2)には cd コマンドを用います.
カレントディレクトリは,より詳しく "current working directory" (現在の作業ディレクトリ)ということがあります.currentのかわりにpresent(現在の)を使って "present working directory" ということもあります."pwd" はここから来ているようです.一方,"cd" は "change directory" に由来するようです. ホームディレクトリ †[edit]ホームディレクトリというのは,ホーム(home)という言葉から類推されるように,ユーザの作業の起点となるディレクトリのことです. 実習室のLinux環境では,コンソールを開いてすぐの状態では $ pwd /home/t010000 のようになりますが,この /home/t010000 という場所が,ホームディレクトリです. 多くの場合,ユーザはホームディレクトリの下にファイルやディレクトリを置いていくことになります. 自分のホームディレクトリのことを,"~/" という記号で表すことがあります.たとえば,「ホームディレクトリの下のpiyoというディレクトリ」のことを, ~/piyo/ と書いたり,「ホームディレクトリの下のpiyoの下のfunyaの下のhogeratta.txtというファイル」のことを ~/piyo/funya/hogeratta.txt と書いたりします.この"~"は,cd,cpなどのコマンドでディレクトリやファイル名を指定する際にも使えます. カレントディレクトリがどこであろうとホームディレクトリにはすぐ移動できるように,cdコマンドを引数なしで(ディレクトリを指定しないで)実行すると,ホームディレクトリに移動するようになっています. $ cd piyo $ pwd /home/t010000/piyo $ cd $ pwd /home/t010000 やってみよう †[edit]●その1
●その2 ↓のリンク先のファイル hogeratta.txt を ~/piyo/funya の中に保存してみよう. 一般的なブラウザでは,下記のリンクにマウスカーソルを置いて「右」クリックして「リンク先を別名で保存」というような操作をすれば,GUIで保存先を指定することができます. 保存先が ~/piyo/funya になるようにすれば,その中に hogeratta.txt を保存できるでしょう. funyaの中まで移動してから ls して,正しく保存できたことを確認すること. hogeratta.txt (このファイルの日本語コードはEUCです) ファイルの削除 rm †[edit]ファイルの削除には rm コマンドを使います.
注意:実習室の環境では,rmコマンドを実行すると本当に削除するかどうか確認されるようになっています(rm -i になってる).しかし,rm の本当のデフォルトの動作は,確認したりせずいきなり削除,です.確認されると期待して rm コマンドを使っていると,いつか痛い目を見るかもしれませんので気をつけましょう. "rm" は "remove" に由来するようです. ファイルのコピー cp / ファイルの移動 mv †[edit]ファイルのコピーには cp コマンドを,移動&名前の変更には mv コマンドを使います.
上記のように mv コマンドを用いると,ファイルの名前をかえることができます. cp や mv でファイル名をどういう順番に指定するのかがわかりにくいと感じるかもしれませんが, 「古い方を先に(左側に)指定する」と考えるとよいかも. cpコマンドを使うとディレクトリ間でファイルをコピーすることもできますが,その方法についての解説はここでは省略します. mvコマンドを使うとあるディレクトリ中のファイルを別のディレクトリに移動させることができますが,その方法についての解説はここでは省略します. "cp" は "copy" に,"mv" は "move" に由来するようです. エディタ emacs を使ってファイルを作ろう †[edit]emacs というのは,プログラムのソースファイルを作成したり文書を書いたりするのに使われるテキストエディタとしてよく知られたものです. とりあえず emacs を起動してみる †[edit]
上記のようにファイル名を指定しないで emacs を起動した場合でも,適当に文字を入力した後でファイル名を指定して保存すれば,新規にファイルを作成することができます.しかし,ここでは説明を省略します.次のようにファイル名を指定して emacs を起動すれば,新しいファイルを作ることも,既存のファイルを編集することも,どちらもできます. ファイル名を指定して emacs を起動する †[edit]
上記の例では,ファイルを一度編集するたびに emacs を終了しています.しかし,例えばCのソースを書いている場合に,emacsを起動→プログラムを書く→emacsを終了→コンパイル→エラーが出た!→emacsを起動→プログラムを修正→emacsを終了→…,というようなことをするのは効率が悪いです.emacsは起動したままにして,保存→コンパイル→修正して保存→コンパイルというように作業することをおすすめします. やってみよう †[edit]上でダウンロードした ~/piyo/funya/hogeratta.txt を編集して保存してみよう. |