less
コマンドは、LinuxやUNIXのようなオペレーティングシステムで使われるテキストファイルを表示するためのツールです。「less」という名前は、「less is more(少ない方がより多い)」というフレーズにちなんでいるとされており、このコマンドが開発された当初、先行するmore
コマンドよりも多機能であることを示していました。
less
コマンドは特に大きなファイル、絶えず内容が更新されるログファイルなどを効率的に扱うために設計されています。
https://www.greenwoodsoftware.com/less/
less
コマンドを使いこなすことで、作業効率アップや日々の作業が楽しくなること間違いなしです。
他のエンジニアとの差をつける第一歩としても記事を通してless
コマンドを実践、理解し、コマンドの使い方をマスターしましょう。
そのほかのLinuxの基本的なコマンドは以下の記事にて解説しています。
https://envader.plus/article/290
lessコマンドとは
less
コマンドは、指定したファイルを1画面ずつ表示しユーザーからの入力を待ちます。
似たコマンドとしてmore
コマンドがありますが、more
コマンドは下へスクロールすることはできるものの上へスクロールすることはできないといった課題がありました。その課題を解決するために開発されたのがless
コマンドです。
ファイルを表示するコマンドは他にもcat
コマンドがありますが、こちらもスクロールすることはできません。
https://envader.plus/course/1/scenario/1001
lessコマンドの特徴
less
コマンドの特徴として以下の3つを取りあげます。
一度に全ての内容を読み込まない
less
はファイルを一度に全て読み込むのではなく、必要な部分だけを読み込みます。これにより、大きなファイルも迅速に開くことができ、メモリの使用量を節約できます。
簡単な検索機能
開いたファイル内の文字列を検索したい場合、/
を入力し検索したい文字列を入力すれば簡単に検索ができます。
キーボードでのスクロール
vimライクな操作も可能で、j,k
キーで上下にスクロールすることができ、f
キーを押すことで1画面を1ページとしてページ単位で画面をスクロールすることができます。
このようにless
コマンドには便利な特徴があるため、テキストファイルの閲覧や検索に非常に有効なツールです。
lessコマンドの基本
lessコマンドの基本的な使い方は以下です。
less オプション ファイル名
オプションは任意で使用し、ファイル名を指定することでファイルを開くことができます。
基本的なファイル操作
コマンド | 説明 |
---|---|
f | 次のページへ進む |
b | 前のページへ戻る |
j | ファイル内を下にスクロールする |
k | ファイル内を上にスクロールする |
G | ファイルの最後までジャンプする |
g | ファイルの先頭に戻る |
/ | ファイル内で検索語を上から検索 |
n | 次の検索結果へ移動 |
N | 前の検索結果へ移動 |
v | ファイルを編集モードにする |
q | lessから抜け出し、元のコマンドラインに戻る |
h | ヘルプを表示する |
これだけ覚えておけば、基本的な操作は十分です。lessコマンドを終了するにはq
キーを使用します。
lessコマンドの便利な使い方
lessコマンドの便利な使い方を紹介します。
行番号を表示する
lessコマンドのデフォルトは行番号が表示されません。ファイルを表示中、-N
を押すことで行番号を表示させることができます。
1
2 2023-12-01 08:00:01 [INFO] System startup. Version: 1.2.0
3 2023-12-01 08:01:10 [WARNING] Network latency detected.
4 2023-12-01 08:01:15 [INFO] Network connection restored successful>
5 2023-12-01 08:02:30 [ERROR] Database connection error. Attempting>
6 2023-12-01 08:02:45 [INFO] Database connection successful.
7 2023-12-01 08:30:00 [INFO] User login. User ID: user1234
8 2023-12-01 08:45:20 [INFO] New session started.
特定の行へ移動する
移動したい行番号を入力し、g
キーで特定の行へ移動することができます。
N
と合わせることで行番号を指定しやすくなります。
12行目に移動したい場合、以下のように入力します。
12g
リアルタイムにファイルの更新を監視する
tail -f
コマンドと同様、ログファイルなどのファイルを表示中にshift + f
を押すことで監視モードに入ることができます。こうすることで、リアルタイムにファイルの更新を監視することが可能です。
control + c
で監視モードを終了します。
122 2023-12-04 14:15:17 [WARNING] Suspicious network activity detecte>
123 2023-12-04 14:30:30 [INFO] Network activity analyzed; false alarm.
124 2023-12-04 14:45:45 [INFO] User password change requested. User I>
125 2023-12-04 15:00:00 [INFO] Password change successful.
Waiting for data... (interrupt to abort)
&で該当した文字の行のみ表示する(フィルタリング)
指定した文字を含む行のみフィルタリングして表示することができます。エラーログのみ抽出したい場面などで便利です。
フィルタリングモードから戻りたい場合には再度&
を入力し、文字は入力せずにenter
を押します。
&error
5 2023-12-01 08:02:30 [ERROR] Database connection error. Attempting>
14 2023-12-01 10:30:21 [ERROR] Email service disruption.
19 2023-12-01 11:45:33 [ERROR] Printer connection lost.
26 2023-12-01 13:30:40 [ERROR] Application crash reported.
36 2023-12-02 08:02:30 [ERROR] Database connection error. Attempting>
45 2023-12-02 10:30:21 [ERROR] Email service disruption.
複数のファイルを開く
複数のファイルを指定してコマンドを実行することで、一度にファイルを開くことが可能です。次のファイルへの移動は:n
を使用します。前のファイルへ移動したい場合には:p
を使用します。
less example.txt test.txt sample.log
パイプラインと組み合わせる
他のコマンドを実行し、その結果をlessコマンドに渡すことができます。
ls -la | less
ps aux | less
この応用で、-p
オプションを指定してコマンドの実行結果を文字列で検索することも可能です。
ls -la | less -p.zsh
lessコマンドの主なオプション
lessコマンドの主なオプションは以下になります。
オプション | 説明 |
---|---|
-N | 行番号を表示する |
-p | 検索した状態でファイルを開く |
-i | 検索時に大文字と小文字の区別しない |
-R | カラーコードを解釈し、色付けされたテキストを表示する |
-M | 詳細なステータス情報を表示する |
-g | 検索時、ハイライトする対象を一つにする |
-S | 長い行の折り返しを無効にする |
-f | 通常は開かない特殊なファイルを強制的に開く |
-X | lessを終了してもlessの画面をターミナルに残す |
-F | ファイルが短く、一画面に収まる場合、自動的にlessを終了 |
--follow-name | ファイル名が変更されても追跡を続ける(ログファイルなどに便利)。 |
このほかのオプションについては、lessコマンドのhelpを参照しましょう。lessでファイルを開き、h
キーを入力することでhelpを表示できます。
1
2 SUMMARY OF LESS COMMANDS
3
4 Commands marked with * may be preceded by a number, N.
5 Notes in parentheses indicate the behavior if N is given.
6 A key preceded by a caret indicates the Ctrl key; thus ^K i>
7
8 h H Display this help.
9 q :q Q :Q ZZ Exit.
10 ---------------------------------------------------------------->
またはmanコマンドでlessのマニュアルを表示することも可能です。
man less
オプションを環境変数へ設定し、デフォルトにする方法
$LESS
の環境変数にオプションをあらかじめ記述しておくことで、毎回オプションを設定する手間を省くことができます。
.zshrcなどのファイルに環境変数を記述します。
export LESS='-g -i -M -R -S -N'
環境変数を記述したら、source
コマンドで再度読み込みます。
# 編集したファイル名を指定する
source ~/.zshrc
起動時にコマンドを実行する
+実行したいコマンド
とすることで、lessコマンドでファイルを開きながら同時にコマンドを実行することもできます。
指定した行数にジャンプする
ファイルを表示する際に、特定の行へジャンプして表示します。
# 12行目にジャンプ
less +g12 ファイル名
指定した文字列のみに表示を絞る
あらかじめ検索したい文字がわかっている場合に便利です。
# errorの文字に絞って表示
less +'&error' ファイル名
行末から表示させる
通常ファイルの行頭から表示しますが、コマンドを実行することで末尾からファイルを表示することができます。
less +G ファイル名
ファイルを監視モードで開く
リアルタイムログを監視したい場合、F
コマンドを指定することでリアルタイムにファイルの更新を確認することができます。
top | less -NS +F
まとめ
今回はテキストファイルを表示するコマンド、less
コマンドについて解説しました。
はじめのうちは基本的な操作に慣れていき、オプションの挙動を把握していきましょう。
一通り理解できたら、必要なオプションを環境変数へ記述していくことでより理解が深まると思います。
今までcat
コマンドしか使ってこなかった方も、記事を通して実践していただき、今後の学習や業務に役立てていただければ幸いです。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2023.05.28
エンジニア初学者がLinuxを学べるサービス
Linuxは様々な学習サービスが提供されているため、どのサービスを利用するかが大切です。オススメのサービスの他、初学者の方がLinuxを学ぶメリットも解説しています。
- キャリア・学習法
- Linux
- サービス
2024.07.15
Linuxの認定資格LpicとLinuCどっちを取得すべき?
資格は複数ありますが、中でも代表格がLinuC(リナック)とLPIC(エルピック)です。どちらも評価される資格ですが、どちらに挑戦すればいいかわからない方も多いでしょう。
- Linux
2024.05.30
Linuxのディストリビューションについて(ubuntu, centos)
こちらはEnvaderの記事になります。
- Linux