「less」がありますが、「cat」を使用する理由はありますか?

「less」がありますが、「cat」を使用する理由はありますか?

cat以前にファイルを表示したときに使用したことがあります。ですから、これはless一般的に良く、ファイルが数十行より長い場合は必須であることがわかりました。

私の質問:使用する理由はありますかcat?より良い解決策がlessありますか?cat

答え1

どちらのコマンドもファイルの内容を見ることができますが、元の目的は非常に異なります。

拡張能力が低下するもっと。後者は、ファイルの内容を一度に1画面ずつ表示できるように作成されています。 less は、後方への移動や拡張メモリ管理などの機能を追加します(最初の行を見る前にファイル全体を読み込む必要はありません)。

cat はファイルを連結し、結果を標準出力に出力します。ファイルのみを提供すると、そのファイルの内容が表示されます。複数のファイルを供給すると「強力になります」。良い例は、次の組み合わせです。分けるそして猫。最初のコマンドは、大きなファイルをより小さな部分に分割します。次に、2番目のファイルはこれらの小さなセクションを単一のファイルにリンクします。

あなたの質問に戻り、相互作用なしにファイルを完全に読み取るかリンクする必要がある自律スクリプトでは、catが好まれます。ファイルの表示に関しては、好みの問題がより重要だと思います。

答え2

私は個人的にview静的コンテンツまたはtail -f動的コンテンツを好みます。

しかし、それはあなたの質問に答えません。 「少ないものがあれば、なぜもっと使うのか」という言葉があります;-)

しかし、私が猫を好まない状況もあります。私は通常X11-windowsを使用します。このウィンドウには、数百行に設定できるスクロールバッファがあります。

私にとっては、このような場合に使用するよりもforを実行する方が簡単です。catたとえば、200行を入力してからスクロールバーのあるマウスを使用します。less

答え3

cat私は通常、ファイルの内容に基づいてコマンドを入力する必要があるときにこれを使用します。catシェルプロンプトにアクセスすると、ファイル(サイズが小さい場合)が表示され、より便利です。パイプライニングも可能です。

答え4

一部の人々は、これの唯一の目的がだまされてcatいると強く主張しています。ファイルを生成します。他のすべての用途にはmore(または)がありますless

しかし、これは次のような非常に重要な事実を考慮していません。cat1文字少なく入力してください。私はこのコマンドをたくさん使うので、文字が1つ減ったのは当然のことです。

もう一つの理由は、ファイルを作成したいときです。私はしばしばWebからテキストをコピーして次のファイルに貼り付けます(コマンドプロンプトが表示されます)。

$ cat > filename
<Cmd-V>
<Ctrl-D>
$

つまり、filename書き込みアクセス用にファイルを開き、内容を貼り付けてから、Ctrl-を押してストリームを閉じますD。トリックlessも同様moreで、エディタを開くよりも高速です。

関連情報