コマンドでの操作(1)「ファイルとディレクトリ」

目的

ここでは主にLinuxなどのUNIX系OSで使われるコマンドを扱います。 Windowsを扱ったことのある人は多いと思うので、 Windowsの操作と対応させながらディレクトリやコマンドについて紹介します。


ディレクトリ

コンピュータでは文章、写真、音楽、 動画などの全てのデータの固まりをファイルとして扱います。 ファイル数が多くなると管理が大変になるので、ファイルをまとめるために Windowsではフォルダを使用します。Linuxでも同じものがあり 「ディレクトリ」と呼ばれています。

51x45(4467bytes)=ディレクトリ

フォルダと同様にディレクトリの中に更にディレクトリを作ることが出来るので、 ファイルを細かく分類することが出来ます。


ファイルやディレクトリの表示

Windowsではフォルダを開くと、 フォルダ内にあるフォルダやファイルが表示されますが、 Linuxではコマンドを使用して表示させる必要があります。 ディレクトリやファイルを表示するコマンドは lsです。 このls コマンドで表示されるのはカレントディレクトリ内のファイルやディレクトリです。 カレントディレクトリというのは現在操作対象としているディレクトリです。 Windowsではウィンドウをクリックすると、 そのウィンドウがアクティブになって操作対象になりますが、 このアクティブなフォルダとカレントディレクトリは同じような意味を持ちます。

393x270(26068bytes) =カレントディレクトリ
アクティブなフォルダ

例えばディレクトリ内にディレクトリ; dir1, dir2があって、 ファイル; file1, file2, file3がある場合、 lsを使用すると

> ls
dir1  dir2  file1  file2  file3

このような結果になります。この表示では、 どれがディレクトリかファイルかもわかりませんし、 ファイルのサイズや作成日時なども表示されません。 ファイルやディレクトリの詳しい情報を見たいときは ls -lと入力します。

> ls -l
total 20
drwxr-xr-x  2 user group 4096 May 30 10:44 dir1
drwxr-xr-x  2 user group 4096 May 30 10:44 dir2
-rw-r--r--  1 user group    6 May 30 10:43 file1
-rw-r--r--  1 user group   18 May 30 10:43 file2
-rw-r--r--  1 user group   36 May 30 10:43 file3

ここで表示されているのは左から、モード、リンク数、ユーザー名、グループ名、 ファイルサイズ、更新日時、ファイル(ディレクトリ)名です。 一番左のモードはdrwxr-xr-xとなっていて、 一番左の文字が"d"の場合はディレクトリ、 "-"の場合はファイルであることを表しています。 ls -l の"-l(マイナスエル)" はオプションと呼ばれているもので、 マイナスの後に文字をつけることでコマンドを実行するときに異なる動作させることが出来ます。

ちなにみにWindowsの場合は、 「表示」-「詳細」選ぶとファイルの詳しい情報を見ることが出来ます。

560x150(9817bytes)
Windowsでのファイルの詳細表示

まとめ

  • ファイルを見るときは ls コマンド
  • ファイルの日時、サイズなど詳しい情報を見たいときは ls -l

演習

WindowsのCygwinを使用して、 Windowsが表示するファイルの情報とlsで表示されるファイルの情報が一致することを確かめよ。


ディレクトリの作成

Windowsでフォルダを作るときは、 右クリック-「新規作成」-「フォルダ」としますが、 Linuxの場合はmkdirコマンドを使用します。

> mkdir folder
> ls -l
total 4
drwxr-xr-x  2 user group 4096 May 30 17:00 folder
これはディレクトリ"folder"を作ってls -l で出来たことを確認したときの様子です。

ディレクトリの移動

カレントディレクトリを別のディレクトリに移動する場合はcdコマンドを使います。 Windowsではフォルダをダブルクリックしてフォルダを開きますが、 Linuxではcd folder と入力してディレクトリを移動します。

100x60(4721bytes) =cd folder
ダブルクリック

cdコマンドを使った後にpwdコマンドを使用すれば、 実際にカレントディレクトリが変更されていることがわかります。

> cd folder
> pwd
/home/user/folder

一つ上のディレクトリに移動する場合は、 一つ上のディレクトリを意味する".."を使用して cd ..と入力します。 Windowsではフォルダの上の方にある上向き矢印のアイコンをクリックすることに対応します。

61x72(5118bytes) =cd ..
クリック

cdコマンドには絶対パスも使うことが出来るの で、

> cd /home/user/data/sample1/

のように、 カレントディレクトリを一気に離れたディレクトリに移動することもできます。

また、ドライブを変更するときにもcdコマンドを使います。 例えばzドライブに移動する場合は

> cd z:

とします。

まとめ

  • ディレクトリに移動するには cd フォルダ名
  • ディレクトリから抜けるときは cd ..
  • ドライブの変更は cd ドライブ名:

演習
mkdirで作成したディレクトリがWindowsからでも見れられることを確認せよ。 (パスの違いに注意すること)

ファイル・ディレクトリの削除

ファイルやフォルダを削除するにはrm コマンドを使用します。

> rm -r [フォルダ名]

でフォルダの削除

> rm [ファイル名]

でファイルの削除ができます。


パス

パスとは、ファイルやディレクトリのコンピュータ内での住所にあたるものです。 例えば、ディレクトリ"folder"の中の"memo.txt"というファイルのパスは "folder/memo.txt"と表します。 パスを表現するときにLinux方式では区切り文字に"/"(スラッシュ)を使用します。 Windowsの場合には"¥"(円記号もしくはバックスラッシュ) を使用するので"folder\memo.txt"と表します。

"folder/memo.txt"のような書き方は相対パスと呼ばれていて、 カレントディレクトリにあるディレクトリ"folder"内のファイル "memo.txt"を表しています。これに対して、 絶対パスは"/home/user/folder/memo.txt"のように表します。 一番始めの"/"は最上位のディレクトリで、ルートディレクトリと呼ばれます。 Windowsでは更にその前にドライブ名が入って "C:\Documents and Settings\user\My Documents\folder"にように表されます。

カレントディレクトリの絶対パスを表示させるためには、pwdコマンドを使います。 例えば、ログインした後にこのコマンドを使うと、

> pwd
/home/user

のように表示されます。 Linuxにログインしたときのカレントディレクトリは通常 "/home/user/"(userは各自のユーザー名)となります。

パスを表すための特殊文字として"."(ピリオド)と".." (ピリオド二つ)があります。"."はカレントディレクトリを表し、 ".."は一つ上のディレクトリを表します。 "./memo.txt"と書いた場合はカレントディレクトリのファイル"memo.txt" を表しており、"./memo.txt" と書いた場合はカレントディレクトリの一つ上のディレクトリのファイル "memo.txt"を表します。


便利な機能(補完、ヒストリ)

キーボードを使用した操作では、 マウスでの操作と違って、 いろいろコマンドやパスを打ち込む必要があって面倒に感じることがあるかもしれません。 そんなときに役に立つのが、「補完」と「ヒストリ」機能です。

補完機能は長いパスやコマンドを自動的に入力してくれる機能です。 この機能は[TAB]キーに割り当てられていて、 パスやコマンドを入力している途中で[TAB]キーを押すと、 パスやコマンドを補完してくれます。 最後まで補完されない場合は、 他にも候補があるということなので更に[TAB]キーを押すと候補が表示されいます。

> cd d[TAB]
> cd dir[TAB]
dir1 dir2

[TAB]は[TAB]キーを押すことを意味しています。

ヒストリ機能はこれまで打ち込んだコマンドを覚えていてくれる機能で、 矢印キーの上(↑)と下(↓)に割り当てられています。 [↑]キーを押すと一つ前に打ち込んだコマンドが表示され、 更に押すともう一つ前に打ち込んだコマンドが表示されます。 [↓]キーを押すと一つ後に打ち込んだコマンドに戻ります。 ヒストリ機能を使えば、前に打ち込んだコマンドを再利用できますし、 書き換えることも出来るので、 似たような作業をするときにも使えます。

補完機能とヒストリ機能は非常に役に立つ機能で、 これらを使いこなせばマウス操作よりも楽にいろいろな作業を行うことが出来る場合も多くあります。 ヒストリ機能は矢印キーのほかに[CTRL]-[p]と[CTRL]-[n]にも割り当てられており、 これらを使うと指をキーボードのホームポジションから動かさずに済むので、 更に作業が楽になります。 ([CTRL]-[p]は[CTRL]キーを押しながら[p]キーを押すことを意味しています。)


ファイルのコピーと移動

Windowsではドラッグ&ドロップや「編集」-「コピー」を使って、 ファイルをコピーしたり移動したりします。Linuxではコピーはcpコマンド、移動はmv コマンドを使います。

ファイルをコピーするときはcp の後にファイル名とコピー先のパスを指定します。

例えば、あるディレクトリmol_simにfolder1, folder2があって、 folder1の中にfile1, file2がある場合(下図)、

mol_sim
├ folder1
│ ├ file1  <-- コピー元
│ └ file2
└ folder2
  └ file1  <-- コピー先

folder1において(cd folder1をした後に)file1をfolder2にコピーするときは

> cp file1 ../folder2/

とします。

コピー先をパスではなくファイル名にした場合は、 コピー先のファイル名を変更したことになります。移動も同じ使い方です。

> mv file1 ../folder2/

コピー先、移動先は上の例のような相対パスだけではなく、 絶対パスで書くこともできます。

> cp file1 /home/user/folder2/
> mv file1 /home/user/folder2/

mv はファイル名を変更したい場合にも使用することが出来きて、 mvの後に現在のファイル名と変更したいファイル名を書きます。

> mv file1 file001
演習
touch [ファイル名]でファイルサイズがゼロのファイルを作成することができる。 これを利用して以下の作業を行え。
  • 二つのフォルダ folder1,folder2 を作成する。
  • folder1にファイル file1, file2, file3 を作成する。
  • folder1のファイル全てをfolder2にコピーする。
  • folder1を削除する。
  • folder2のfile1のファイル名をfile21に変更する。
  • folder2を削除する。