Linuxコマンドラインからテキストファイルの内容を表示する方法

ファイルの内容を表示できるコマンドは何ですか?これは、Linux初心者の間で非常によくある質問です。従来のUnix環境のほとんどの機能と同様に、このタスクを実行する方法は複数あります。これらのヒントのほとんどは、OS XやFreeBSDユーザーにも役立ちます。

Linuxコマンドラインからのテキストファイルの内容

つまり、コマンド ラインからファイルを表示する基本を習得すれば、目の前にあるあらゆる Unix プロンプトを簡単に操作できるようになります。

方法1: プレーンテキストファイルを表示する

テキストファイルを表示する最も簡単な方法は、` cat`コマンドの後にファイル名を入力することです。ファイルが十分に短ければ、テキスト全体が画面に直接表示されます。そうでなければ、スクロールが始まります。幸いなことに、最新のデバイスでは、ターミナルウィンドウを最大化して表示領域を広げることができます。しかし、それでもコンテンツが画面の境界を超えて表示される場合があります。

この場合は、 ` more`コマンドの後にファイル名を入力してください。これによりコンテンツがページごとに分割されるため、スペースキーを押すまでファイル名の `+` 記号が表示されず、コンテンツが消える前にじっくり読むことができます。読み終わったら、`q` キーを押して終了できます。`more -d`の後にファイル名を入力すると、役立つヘルプメッセージが表示され、`h` キーを押すとヘルプページ全体が表示されます。

より詳細な制御が必要な場合は、 `less`コマンドの後にファイル名を指定できます。たとえば、`less` コマンドを実行すると、カーソルキー、Page Up/Page Down キー、および vi の k/j キーボードショートカットを使用して、テキスト ファイル内を前後にスクロールできます。

コマンドラインアプリケーションのディレクトリページを探すのに「man」コマンドを使ったことがあるなら、「less」の使い方も既にご存知でしょう。ほとんどのディストリビューションでは「man」ページのスクロールに「less」が使われているからです。「man」ページビューアでの操作に慣れている方は、「less」でも試してみると良いでしょう。また、「h」キーを押せば便利なヘルプ画面にアクセスできることも覚えておいてください。

vi/vim を使い慣れたユーザーにとっては、h/j/k/l の1/4移動の一部なので少し奇妙に感じるかもしれません。しかし、less では横移動は不要なので、すぐに慣れるでしょう。Ctrl+N または Ctrl+E で1行前進、Ctrl+Y または Ctrl+P で後進できます。ヘルプ画面には CR で1行前進すると記載されていますが、これはキャリッジリターン、つまりキーボードの Return キーを指しています。

ドキュメント全体を検索するには、任意の用語の前に / と入力し、次の反復に移動するには n と入力するか、前の反復に移動するには Shift+N と入力します。

grep ほど柔軟ではありませんが、less を使用してファイルを参照していて、何かを検索する必要がある場合には便利な場合があります。

2番目の方法: プライベートファイルの閲覧

` less -f`と入力してファイル名を指定すると、強制的にファイルを開くことができます。例えば、`sudo less -f /dev/sdb1`と入力すると、パーティションのブートログの先頭部分を確認できます。ただし、sudo を使用した計算やブートログの操作には十分注意してください。

Android タブレットでフォーマットされた microSDHC カードのブート レコードを調べるためにこれを使用しました。

ファイルの中は通常通り移動でき、終了したい場合は q キーを押します。通常とは異なるエンコードのファイルを調べたい場合は、` od -c`の後にファイル名を入力します。ターミナル ウィンドウをスクロールするか、出力が長すぎる場合は`od -c fileName | grep less`を使用して出力を `less` にリダイレクトできます。これにより、グラフィカル プログラムを含む他のプログラムで調べられない場合でも、ファイルを表示できます。オプションを指定せずに `od` を呼び出すと、最終手段としてファイルが 8 つの数値のストリームとして出力されます。

3番目の方法: 圧縮ファイルの内容を表示する

圧縮されたテキストファイルで、解凍せずに読めるものもあるかもしれません。MS-DOS環境から生まれた従来のZIP形式はご存知かもしれませんが、アーカイブと圧縮の両方に対応しています。ZIPアーカイブ内にテキストファイルがある場合は、読む前に解凍する必要があります。しかし、Unixベースの圧縮アルゴリズムでは、ファイルをその場で圧縮できます。

smallerFile.gz という名前の圧縮テキストファイルがある場合、コマンドラインからzcat smallerFile.gzと入力してファイルの内容を表示できます。また、zcat の代わりに zmore または zless と入力することもできます。これらは more コマンドや less コマンドと同様の動作をしますが、gzip で圧縮されたテキストファイルに対応しています。

さらに、Linuxディストリビューションはxzファイル形式を採用し始めたため、この形式で圧縮されたテキストファイルがある場合は、ファイル表示コマンドの先頭にxzを追加するだけで済みます。cat、less、moreの代わりに、xzcat、xzless、xzmoreを使用できます。同様に、bzip2規格で圧縮されたテキストファイルをお持ちの方は、コマンドラインアプリケーションbzcat、bzless、bzmoreをご利用ください。

注意:テキストファイルがtarまたはcpioアーカイブに格納され、その後圧縮されている場合は、この方法では読み込めません。つまり、smallerFile.gzは問題なく読み込めますが、smallerFile.tar.gzやsmallerFile.tgzは同じようには読み込めません。

コメントは締め切りました。