リナックスのファイルシステムは、 / を頂点としてツリー構造になっています。そして、ぶら下がっているフォルダのことをディレクトリといいます。ディレクトリというのは、ウインドウズで言うフォルダと同じととらえてよいと思います。
絵で描くとこんな感じです。
/ ディレクトリの中の(あたりまえか)
rootディレクトリの中の
top6ディレクトリの中の
kuma6というファイルを見るためには、
cat /root/top6/kuma6(リターン)って入力すればいいわけです。(cat ってえのは、ファイルの中身を見るためのコマンドです)
kuma6は、実在のファイルじゃないので、見れませんね。
じゃあ、とりあえず、実在するファイルで試してみます。
[satou@mamochann satou]$ cat /etc/aliases (リターン)
って入力してみましょうか。aliasesってファイルのケツの部分が見えているはずです。
えっ、全部を見たい?そうです。速く動いちゃって、よく見えないのですよね。こんなときどうするの。
今、佐藤が使う方法は2つあります。
1つは、[satou@mamochann satou]$ vi /etc/aliases (リターン)です。これは、catと違ってスクロールしてくれるので、上の方も見ることができます。↑↓ボタンを押せば、カーソルが上下に動きます。
しかし、これは、ファイルの中身を書き換えるときに使うコマンドですから、オットミスっちまったなんて時に困ります。また、自分のファイルと本などに載っているファイルのサンプルを見比べて間違い探しをしたいなんてことはよくある話です。こんなとき、佐藤は、パイプを通して、テキストファイルを作ります。佐藤の設定では、プリンターが動かないので、このテキストファイルをフロッピディスクに移して、んでもってウインドウズマシンで読み込んで、印刷して、・・・・・・。ってやってます。これが第2の方法です。
別の方法もきっと存在するのでしょうけれども、ナーニそんなに時間を食う作業でもないのですよ。
[satou@mamochann satou]$ cat /etc/aliases | > aliases(リターン)で、
/home/satou ディレクトリにaliasesってえファイルができてます。
ちなみに名前は同じでなくてもよいので、
[satou@mamochann satou]$ cat /etc/aliases | > totoro(リターン)とすれば、
/home/satou ディレクトリにtotoroてえファイルができてます。
ほんで、フロップディスク(dos/v用でok)をガチャンと入れて
[satou@mamochann satou]$ mcopy /home/satou/aliases a:aliases(リターン)
と入力すれば、aliasesてファイルがフロッピディスクにできるから、ウインドウズマシンで読み込んで印刷してちょんまげ。
ちなみに、名前を変えたときは、
[satou@mamochann satou]$ mcopy /home/satou/totoro a:tx1(リターン)
で、フロッピディスクには/etc/aliasesと同じものが、tx1という名前で出来上がるってえすんぽうです。
ファイル等の操作でほかに使うコマンドといえば、
|
|
|
|
現在のディレクトリのパスを表示する | |
|
自分のいるディレクトリを移動する | |
|
新しいディレクトリを作る | |
|
ディレクトリを削除する | あまり使わんなあ |
|
そのディレクトリに、どんなファイルがあるのかを見る | |
|
コピーを作る | これは後ほど |
ファイル関係では、
|
|
|
|
ファイルの中身を見る | 短いファイルなら使える |
|
空っぽのファイルを作る | 変な命令だけど、結構使う |
|
ファイルを作る | 作るってよりは書き換え |
|
ファイルを消す | とっても怖い命令だよ |
|
ファイルの名前を変える | |
|
ファイルをコピーする | |
|
ファイルを探す |
現在のディレクトリのパスを表示します。要するに、 / を頂点としたツリー構造のどこにいるのかをあらわすものです。例えば、
[satou@mamochann tmp]$
って表示されていれば、tmpディレクトリの中にいるのですが、実は、tmpというディレクトリは複数あります。その中のどのtmpにいるのかは、上の入力画面からはわかりません。自分が、ツリー構造のどこにいるのかを常に覚えておける人はいいのですが、佐藤には不可能です。
[satou@mamochann tmp]$ pwd
とした場合、
/home/satou.gimp/tmp の時もあるし、
/usr/tmp のこともあります。
pwd を実行すれば、自分がツリー構造のどこにいるのかがはっきりします。
ディレクトリを移動する命令です。
この図の etc ディレクトリにいると仮定します。
root ディレクトリの中にある、kuma6を見ようとしても、このままでは見ることはできません。
ここから、root ディレクトリに移るには、(本当は、パーミッションの関係で、root ディレクトリには、一般ユーザーでは移れないのですが、説明のため、移れることとします。パーミッションについては、別のページで説明します。)
[root@mamochann /etc]$ cd /root(リターン) ってやります。
さらに、
[root@mamochann /root]$ cd top6(リターン) ってやると、(cd /top6ジャないよ)
[root@mamochann /top6]$ ってなり、無事にtop6 ディレクトリに入れます。
[root@mamochann /top6]$ cat kuma6(リターン) でkuma6ファイルをみることができます。
なぜ cd /top6 ジャないのかというと、先頭に/がついたのは、絶対パスっち言うて、ツリー構造の一番上から見ていくパスです。だから、上の図の bin/ とか etc/ なんかのディレクトリと同じ/ ディレクトリのすぐ下の階層に(/ からの距離が同じ)あるtop6を見るための命令になります。
etc/ から、一気に、top6に移るには、
[root@mamochann /etc]# cd /root/top6(リターン)でいいわけです。
ちなみに、さいしょに/をつけないパスを相対パスって言います。上で行った、cd top6の場合、いま自分がいる、root ディレクトリの中のtop6を探します。このように、いま自分がいるディレクトリのことをカレントディレクトリといいます。
カレントディレクトリに新しくディレクトリを作る命令です。
[satou@mamochann tmp]$mkdir tanuki
でtmpディレクトリの中にtanukiってディレクトリができます。
ちなみに絶対パスを指定することも可能です。
[satou@mamochann tmp]$mkdir /home/satou/tanuki
でsatouディレクトリの中にtanukiってディレクトリができます。
ディレクトリを削除する命令です。上の方で、ディレクトリを削除するrmdir(あまり使わんなあ)と書いていますが、理由は、中身が空っぽのディレクトリしか削除できないからで、このようなシチュエーションはほとんどないからです。これも、絶対パスを指定することができます。
ちなみに、中身が入っているディレクトリを削除する命令は、rmです。あとで学習します。
ファイルの中身を見る命令です。この命令でフォルダを見ようとしても、それはディレクトリですと英語でしかられちゃいます。
そのディレクトリに、どんなファイルやディレクトリがあるのかを見る命令です。
ls(リターン)とすれば、名前だけがズラズラと出てきます。
ls −la(リターン)で、パーミッションやファイルやディレクトリの持ち主(オーナーとグループ)も同時に表示されます。パーミッションやオーナーとグループについては、また後ほど学習します。
ファイルの中身を見るやつです。短いファイルじゃないと使い物にならん(と思う(ちょっと弱気))
空のファイルを作ります。
[satou@mamochann tmp]$touch kitune
で、中身が何も入ってないkituneってファイルができます。
空のファイルなんか作ってどうすんだ?って気もしますが、時々使いました。シチュエーションは忘れたけれども//・・・まあ、必要が出てきた時に使ってみてください。
本来、このコマンドは、ファイルの中身を書き換えるためのものです。だから、ファイルを作るってコマンドじゃないんだけれど、存在しないファイル名(例えばneko)で実行すれば、(vi neko(リターン)ってすれば)新しくファイルができちゃいます。
これに i を押して、入力モードにして、# や ; をひとつ打ち込んでescキーを押してさらに、
:wq(リターン)って入力すればコメントが一個だけ入ったファイルnekoができちゃいます。
ちなみに、# や ; はコメントのしるしです。本なんかに、「○○ファイルのこの行をコメントアウトしてください。」なんて記述があったりしますが、このマークを消してくださいという意味です。まだ、コメントアウトの意味がわからなかった時、ひどいめにあった。コメントがついているということは、その行にかかれている命令は、実行されないということですね。コメントアウトというのは実行できるようにするって言うことになりますよね。こともあろうに、佐藤はその行をまるっと消しちゃいましたよ。ほんで、動かなくなったってずいぶん悩みました。間抜けな話ですが/・・・
ファイルを消しちゃいます。気をつけようね〜〜。
[satou@mamochann tmp]$ rm kitune
で消えちゃってもう復活してくれませんよ〜〜。
書き込みが禁止されているファイルを消す時は、コンピュータが消していいか尋ねてきます。
y(リターン)で消しちゃいます。
また、中身が入っているこのディレクトリを削除する方法ですが、先ほど
[satou@mamochann tmp]$ mkdir /home/satou/tanuki
ってしましたよね。tanukiにいくつかのフォルダと、ファイルが入っていると仮定して、
[satou@mamochann tmp]$ rm −r /home/satou/tanuki
で、中身ごとディレクトリを消しちゃいます。(ただし、書き込みが禁止されているファイル等が含まれている時は、コンピュータが消していいか尋ねてきます。
まどろっこしい時は、
[satou@mamochann tmp]$ rm −rf /home/satou/tanuki
で一気に消えちゃいます。これは恐ろしいよ。
rootでログインしている時、rm −rf /(リターン)ってやると、何にもなくなっちゃうよ。絶対にしないでくださいね。
ファイルの名前を変更します。
今、top6 ディレクトリの中にいて、kuma6をkuma72という名前に変更しようとするなら、
[satou@mamochann top6]$ mv kuma6 kuma72(リターン)
とすればよいです。
同じ図で、kuma6を同じディレクトリに tanuki.txt という名前でコピーする場合、
[satou@mamochann top6]$ cp kuma6 tanuki.txt
でokです。
この時、同じな前の別のファイルがあった時は、自動的に上書きされてしまいますので注意!
kuma6 を hipo77 という名前で、etc ディレクトリにコピーするには、
[satou@mamochann top6]$ cp kuma6 /etc/hipo77
ってします。
それから、ディレクトリをまるっとコピーすることもできます。例えば、top5 ディレクトリをその中に含むファイルやディレクトリといっしょに bin/ ディレクトリにまるっとコピーするには、
[satou@mamochann top6]$ cp −r top5 /bin
とします.
ファイルを探します。
aliases って名前のファイルがツリー構造のどこかにあるはずだけれど・・・・・・・よくあることです。
最初に su でスーパーユーザーになってください。先ほど出たパーミッションの関係で、一般ユーザーでは、全てのディレクトリの中身を見ることはできません。
[root@mamochann top6]# find / −name aliases
で、aliases って名前のファイルが、絶対パス付きで表示されます。
自分のホ―ムディレクトリにあるもの .txt のついたファイル(一般的にはテキストファイルです)を探す時は、
[satou@mamochann top6]$ find 〜 −name *.txt
で、ズラズラ出てきます。