cat
の目的は、いくつかのファイルを連結することであると思われます。ただし、多くの人々はファイルを表示するためにcat
(またはless
のような同様のプログラム)の代わりにmore
をまだ使用しています。たとえば、 GNU m4マニュアル と回答 " テキストファイルの内容をコマンドラインに表示するにはどうすればよいですか? "を参照してください。
マニュアルページ:少ない
-Fまたは--quit-if-one-screen
ファイル全体を最初の画面に表示できる場合、
less
を自動的に終了させます。-Xまたは--no-init
端末へのtermcap初期化および非初期化文字列の送信を無効にします。これは、画面のクリアなど、非初期化文字列が不必要なことを行う場合に望ましいことがあります。
現在、cat
を使用してファイルを表示または表示することは良い習慣ですか?なぜcat
を使用してファイルを表示するのですか?
これは私に 猫の役に立たない使用 を考えさせます。
注:この質問は、less
とmore
の違いについてのものではありません。さらに、それは以前に作成されたファイルの視覚化に関するものです。
回答とコメントによれば、cat
はポケットベルよりも使いやすいため、その使用を超えて使用されているようです(例えばmore
、less
...)。一部の人々はこれを無関係な事実(または役に立たない)であると考えていますが、経験から、シェルに関連するさまざまな微妙さが実用的な結果をもたらす可能性があることがわかります: シェルループを使用してtextfile 、 引用符で囲まれていない変数を使用 ...
負の影響は強度が異なります。例えば、 cat foo bar | less
は有効です。ユーザーは2つのファイルを連結しますが、cat foo | less
無効 。同じ精神で、cat
は「パイプライン」で必要とされるようですが、less
のようなページャーもパイプラインで機能するようです(注:less
は適していません) 名前付きパイプの読み取り:tailまたはcat? )など、表示に関するすべての場合。
以下も参照してください:「または」オプションを使用してファイルをcatする方法
質問の「多くの人」とは、このようなWebサイトでチュートリアル、マニュアル、または回答を書いている人を指すと想定します。
テキストドキュメントで端末コマンドを記述する場合、cat
コマンドは一般的にファイルの内容を表示するために使用されます。
この例:
$ cat script.sh
#!/bin/sh
echo 'hello'
$ chmod +x script.sh
$ ./script.sh
hello
ここでは、script.sh
というファイルがあること、その内容、実行可能にして実行していること、およびその結果を示しています。
この例でcat
を使用することは、「すべての1のカードを表示する」、つまり、例のすべての前提条件を明示的に表示する(そして、端末セッションのテキスト表現の一部としてそれを行う)方法にすぎません。
less
および他の画面ベースのページャーは、それらの使用方法に応じて、必ずしもその出力を端末に提供しません。だから私が書いたなら
$ less script.sh
#!/bin/sh
echo 'hello'
ユーザーが自分で試した場合、スクリプトのテキストがターミナルで異なって表示され、less
ページャーを閉じるとターミナルから消えるのはなぜか疑問に思うかもしれません(ページャーを設定した方法の場合) )、またはless
が回答で使用されているless
と異なるかどうか(またはチュートリアルまたはそれが何であれ)、または何か他のことをしている場合。この一連の考えの可能性を考慮することは、ユーザーにとって逆効果であり、破壊的です。
端末で例をテキストとして表示するときにcat
を使用すると、exactを再現するかなり簡単な方法で、指定したテキストと同じ結果が得られます。大きなファイルの場合は、ファイルを個別に表示し、端末コマンドをテキストとして書き込むときに、そのファイルがsedであることに集中することをお勧めします。
less
、more
、most
、view
、sublime
、またはその他のポケットベルまたはプログラムを使用してファイルを表示する場合は、まったく問題ありません。どうぞ。しかし、ターミナルでのワークフローを説明する再現可能なテキストを提供したい場合は、使用するポケットベルに応じて、ユーザーが読んだものと自分のターミナルで表示されているものとの間で出力が異なる可能性があることをユーザーに警告する必要があります。そしてそれがどのように構成されるか。
less
は非標準のGNUユーティリティです。
The Open Group Base Specifications Issue 7, 2018 edition IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) Copyright © 2001-2018 IEEE and The Open Group
[〜#〜]名前[〜#〜]
cat-ファイルを連結して印刷する
[〜#〜] synopsis [〜#〜]
cat [-u] [file...]
...
cat
は存在する可能性が高く、一貫した動作をする可能性があります。
私見、それは「古くて悪い」癖だと思います。私自身、猫を使うのはいつもより少ないと思います。バイナリファイルの内容を表示しようとすると、lessはとにかくそれを表示することに同意するかどうかを尋ね、長い場合は自動的にテキストにページ番号を付けます。猫は書くのが短く、ページングを必要としない非常に短いファイルに使いやすいです。それにもかかわらず、それは確かに連結を目的としています。この場合、テキストを表示するために使用され、引数1で指定されたファイルの標準出力と引数2のデフォルトである標準入力を連結します。
catを使用してファイルを表示または表示することは良い習慣ですか?
IMO、それは良くも悪くもありません。
「グッドプラクティス」とは、個人としてより効果的になるものであり、多くの場合より重要なのは、チームのより効果的なメンバーになることです。
ショートテキストファイルを表示するために使用するツールの設定は、仕事や同僚との関係に影響を与える可能性はほとんどありません。