0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【お勉強メモ】Linuxファイル操作系コマンドと正規表現

Last updated at Posted at 2025-04-29

これって私の感想です

1. Vimの基本操作:dw ,x, X の違い

  • dw:カーソル位置から1単語削除
  • x:カーソル上の1文字削除(Delete)
  • X:カーソルの左側を1文字削除(Backspace)

躓きポイント:

  • OSによって「カーソルの位置(文字の上か間か)」の扱いが異なり、思わぬ結果に。
  • UbuntuとCentOSで削除される範囲が違って見えるのはこのため。

2. less / cat の違い

  • cat はファイル全体を一気に表示
  • less はページ送り可能、スクロール自在、"less is more (少ない方がより豊か)"からきている(lessmore の改良版)

使い分けの基準:

  • 小さいファイル:cat
  • 大きいファイル:less

学び:

  • すべて less で開けばいいのではという疑問があったが、less は抜けるための動作が必要
  • とりあえず cat で開いて、こりゃかなわんとなったら less で開いてみる

3. パイプとリダイレクトの違い

  • | は「標準出力 → 標準入力」へつなぐ
  • > は「標準出力 → ファイル」へ流す

例:

ll | grep test

→ llの出力結果を、grepの入力として渡す


4. stdin / stdout / stderr

  • stdin(0)、stdout(1)、stderr(2)は「ファイルディスクリプタ」で管理されている
  • /dev/stdinhead で開くと無反応になるのは「キーボード入力待ち」だから

5. grepと正規表現

  • ., *, .* をgrepで実験
  • .* は「任意の文字が0回以上繰り返される」

躓きポイント:

  • a123caXbca.*c にマッチする理由が直感的にわからなかった
  • .* では . が0回以上繰り返される、すなわち . の位置に相当する文字の繰り返しではなく、. というパターンの繰り返し

6. クォートとシェルの関係

  • grep 'apple' のようにクォートは必要か?
  • 特殊文字(*, |, $, ())を含むとき、Bashが誤解釈するのを防ぐためにクォートが必要

学び: クォートは「正規表現のため」ではなく「シェルのための防御策」。grepで文字列を検索しておくときは常にクォートしておくのが安全。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?