next up previous contents
Next: 5.4 ファイルのモードを変更する Up: 5. ファイル管理・ユーザ管理に必要なコマンド Previous: 5.2 カレント・ディレクトリの表示、ファイルの一覧・情報の表示、 ディレクトリの移動

5.3 新しいディレクトリの作成、ファイルのコピー、ファイルの移動 (名称の変更)、ファイルのリンク、ファイルの削除

第2種類めのコマンド類は、ファイルの複写や移動・削除などに関するものです。

前の節では、ディレクトリは既に出来ているものとして扱いました。 必要に応じて、新しいディレクトリを作成することが出来なければなりません。

$ mkdir 新しいディレクトリ名

は、新しくディレクトリを作成します。ディレクトリの名前は絶対パス名でも 可能ですが、間違いを防ぐためには、相対パス名を使って、サブ・ディレクトリを つくるということを守りましょう。

ファイルの複写は、

$ cp 複写元のファイル名 複写先のファイル名

で行ないます。システム管理者としては、ワイルド・カードを使うことをせずに、 面倒でも一つ一つ確実に確かめながら行なうことが重要です。
lx$ ls
Souya@          girls           j_actress       mytail_test.c   st
a.out*          inv.tex         lovemedo        puzzle/         st95+
f_actress       iware           main.c          qsort.c         st95.master
gals            j_act2          main2.c         read.c          write.c
lx$ cp f_actress foreign
ipc06% ls
Souya@          girls           lovemedo        qsort.c         write.c
a.out*          inv.tex         main.c          read.c
f_actress       iware           main2.c         st
foreign         j_act2          mytail_test.c   st95+
gals            j_actress       puzzle/         st95.master
lx$

(foreign ができている)

ファイルの移動は、

$ mv 移動元のファイル名 移動先のディレクトリ(またはファイル名)

で行ないます。「移動先」を同じディレクトリにして単にファイル名にすると、 ファイルの名前(ファイル名)を変更することになります。
(先の実行例の続き)
lx$ mv foreign stars
lx$ ls
Souya@         inv.tex         main.c          read.c          write.c
a.out*          iware           main2.c         st
f_actress       j_act2          mytail_test.c   st95+
gals            j_actress       puzzle/         st95.master
girls           lovemedo        qsort.c         stars
lx$

(foreign が消えて、starsができている)
lx$ ls ../wen
doc/            papers/         socket/         sysprog/
lx$ mv stars ../wen
lx$ ls
Souya@          girls           j_actress       mytail_test.c   st
a.out*          inv.tex         lovemedo        puzzle/         st95+
f_actress       iware           main.c          qsort.c         st95.master
gals            j_act2          main2.c         read.c          write.c
lx$ ls ../wen
doc/            papers/         socket/         stars           sysprog/
lx$

stars がカレント・ディレクトリから ../wen に移動した)

リンクは複写(コピー)と似たような効果を持ちます。複写と違うのは、 ファイルの実体が複写されるのではなくその新しい参照が作られることにあります。 (たとえばディレクトリを越えて一見別々のファイルとして参照されます。) しかし、ファイルの実体は複写されるわけではありませんから、 ファイル・システムに負荷をかけることはほとんどありません。逆に参照が必要なだけ ファイルを次々と複写していくと、ファイル・システムはすぐに満杯になって しまうでしょう。リンクには、「ハード・リンク」と「ソフト・リンク」があり、 前者は、ディレクトリでファイル名と「iノード番号」との結合を追加し、 新しいファイル名を登録するものです。後者は、「ハード・リンク」と違った方法で 新しいファイル名を登録します。別々のファイル・システムの間でリンクを張れる という特徴があります。「ソフト・リンク」を積極的に使うのが良いでしょう。

$ ln -s リンク元のファイル名 リンク先のディレクトリ(またはファイル名)

最後に、ファイルの削除を述べます。ファイルの削除は、

$ rm 削除するファイル名

で行ないます。root で作業するときには、どんなファイルでも削除できてしまう ことに注意しなければなりません。rm をするときには、一呼吸おいて、 深呼吸してから、 キーを叩く慎重さが欲しいものです。 また、ワイルド・カードは絶対に使ってはいけません。



Noriyo Kanayama