PR

表3 lessコマンドの操作キー
[画像のクリックで拡大表示]

ファイル操作コマンド

 ファイルを操作するためのよく使う基本コマンドを紹介します。

●ファイル内容の表示

 ファイル*19の内容を表示するコマンドの定番は,「cat*20」です。

 前回に示した図7のファイル構成でカレント・ディレクトリが/home/junにあると仮定し,ファイルfile1の内容を出力してみましょう。ここでは,file1がテキスト・ファイルの場合を想定しています。

 catコマンドでテキスト・ファイルの内容を出力すると,画面の表示サイズを無視してファイルの先頭から最後までを一気に出力してしまいます。一般的に,テキスト・ログインで利用する仮想コンソールは1行当たり(半角文字で)80文字で,全25行です。そのため,例えば100行のファイルを出力すると最後の25行分だけが画面上に残ることになり,1行目から75行目までの内容は画面から消えてしまいます。

 この問題点を克服するのが,head,tail,more,lessの各コマンドです。headは,ファイルの先頭からデフォルトで10行分を出力します。tailは,ファイルの最後からデフォルトで10行分を出力します。例えば,ファイルfile1の先頭から10行分,または最後から10行分を出力するには,

と入力します。

 出力する行数を明示的に指定したい場合には,特殊文字「-」(ハイフン)に続いて行数をオプションで指定するか,-nオプションに続いて行数を指定します。例えば,ファイルfile1の先頭から20行分出力したい場合には,

と入力します。

 catより柔軟にファイルの内容を出力できるコマンドが,「more」および「less」です。moreはファイルの先頭から最後に向かって1画面単位あるいは1行単位で出力します。lessはファイルの先頭から最後に向かうだけでなく,最後から先頭に向かった出力も可能です。moreおよびlessの両コマンドでは,テキスト検索も行えます。

 moreコマンドでは,1画面分出力すると画面最下行に,「--More--(20%)」といったテキストが反転表示されます。ここで,20%という値はファイルの先頭から約20%分を出力したという意味です。

 出力を制御するための操作キーは以下の通りです。これらの操作を繰り返すことで,ファイルのすべての内容を確認できます。moreコマンドを終了するときには,qキーを押します。

 lessは,そのネーミングからうかがえる通り,moreの機能拡張版で,順方向(ファイルの先頭から最後に向かう)および逆方向(ファイルの最後から先頭に向かう)の両方向の出力が行えます*21

 lessコマンドでは,1画面分出力すると画面最下行に,「file1」とファイル名が反転表示されます。出力を制御するためのコマンドを入力します。主要なコマンドを表3[表示]に示します。

 lessコマンドでは,1画面分出力すると画面最下行に,以下のプロンプトが表示されます。

ここに,表3に示した操作キーを入力します。例えば,lessコマンドを途中で終了させたい場合は,qキーを入力すればよいわけです。

 なお,ファイルの最後まで出力すると,画面最下行は「(END)」と反転表示されます。

●ファイルの複写(コピー)

 ファイルの複写(コピー)を行うコマンドは,「cp*22」です。例えば,カレント・ディレクトリが/home/junで,このディレクトリ上にあるファイルfile1をtextディレクトリのファイルfile4として複写するには,

と入力します。textディレクトリに同じファイル名file1で複写したい場合には,

と入力します。複写先の指定でファイル名が省略されていることに注意します。もちろん,ファイル名file1を付加して実行しても,同じ結果になります。

●ファイル名の変更

 ファイル名を変更するコマンドは,「mv*23 」です。例えば,カレント・ディレクトリにあるファイルfile1をfile5に変更するには,

と入力します。ファイル名の変更は,元のファイルを新しいファイルに移動したとも考えられるので,コマンド名がmvであっても違和感はないと思います。

 なお,mvコマンドでは,文字通り,ファイルの「移動」も行えます。例えば,カレント・ディレクトリのファイルfile1をtextディレクトリに移動するには,

と入力します。

●ファイルの削除

 ファイルを削除するコマンドは「rm*24」です。

 ファイルの削除には細心の注意が必要です。コマンド操作を誤って必要なファイルを削除しないようにしましょう。Linuxのファイル・システムでは,いったん削除してしまったファイルを元に戻すことは,原則としてできないからです。

 カレント・ディレクトリのファイルfile5を削除するには,

と入力します。

 複数のファイル(例えば,file1とfile2)を削除したい場合には,

と,ファイル名を空白文字1文字以上で区切って入力します。

 ファイル削除で確認メッセージを表示することもできます。rmコマンドに-i(interactiveの略)オプションを付加します*25

 すると,以下のような確認メッセージが出力されます。

これで間違いない場合は,「y」と入力して,削除します。間違えた場合にはy以外の文字を入力して,取り消します。