読者です 読者をやめる 読者になる 読者になる

Just as a Learner

  さまざまなことを学習していくサイトです

UNIX/Linux [System,Editor]

UNIX/Linux 自分用メモ

システム

  • terminal プロンプトが表示され、ユーザーがコマンドをタイプ
    • shell コマンドの実行をカーネルにわたす
      • kernel コマンドを実行
        • shell terminalにプロンプトを表示
          • terminal

shell コマンドラインタプリタ

  • File System

    • / root
    • /sbin システム管理コマンド
    • /usr/sbin システム管理コマンド
    • /bin 基本コマンド
    • /usr/bin 基本コマンド
    • /dev プログラムから各種デバイスを扱うためのデバイスファイル
    • /etc ここのシステムに固有の様々な設定ファイル
    • /usr/lib ライブラリファイル
    • /usr/local ユーザが独自にインストールしたソフトウェア
    • /usr/share プログラムが使用する、システムに依存しないデータファイルやドキュメント、オンラインマニュアル
    • /tmp 一時ファイル
    • /var キャッシュデータ、ログファイルなど、日常的に変更されるファイル
    • macOS独自の主なディレクトリ
    • /Users ユーザーのホームディレクトリ
    • /System/Library macOS独自の機能拡張などのライブラリファイル
    • /Library macOS独自の機能拡張などのライブラリファイル
    • /Applications macOS用GUIアプリケーション
  • ルートパーティション

  • 外部ディスクのパーティション
    • /Volumes/ボリューム名

vim

コマンドモード

:q vimを終了
:w 保存
:wq 保存して終了
:q バッファ内容を破棄して終了
:q! バッファ内容を破棄して強制終了
:r 指定したファイルをカーソル位置に読み込む
:e! 編集内容を破棄してファイルを再度読み込む
ESC コマンドモード

h 左へ1文字移動(回数指定可)
j 下へ1行移動(回数指定可)
k 上へ1行移動(回数指定可)
l 右へ1文字移動(回数指定可)
w カーソルを次の単語の先頭に移動(回数指定可)
W カーソルを次の単語の先頭に移動(句読点を無視する)
e 現在カーソルがある単語の末尾に移動
E 現在カーソルがある単語の末尾に移動(句読点を無視する)
b 現在カーソルがある単語の先頭に移動
B 現在カーソルがある単語の先頭に移動(句読点を無視する)
^ 行頭へ移動
$ 行末へ移動
G 文書末へ移動(行番号指定可)
gg 文書頭へ移動

x カーソル位置の1文字削除(回数指定可)
X カーソル位置の前の文字を削除
dd カーソル位置の1行削除(回数指定可)
d[カーソル移動コマンド] カーソル移動コマンド組み合わせて使う削除コマンド
D カーソル位置から行末まで削除
:.,$d 現在行から行末までを削除
:5,7d 5行目から7行目までを削除
:g/正規表現/d 正規表現パターンに一致する行を削除

yy 1行コピー
nyy n行コピー
y[カーソル移動コマンド] 現在位置からカーソルの移動先までの範囲をバッファに格納
p カーソルの文字の次または次の行にペースト
P カーソルの文字の前または前の行にペースト
u カット、ペーストを1回取り消し
f文字 現在行のカーソルより後ろにある指定した文字に移動
F文字 現在行のカーソルより前にある指定した文字に移動

r 1文字置き換える
S 現在カーソルのある行全体を置き換える

/ 文字列の検索
? ファイルの先頭に向かって文字列を検索
n 下方向への再検索
N 上方向への再検索

:ns/text1/text2 n行目の最初のtext1をtext2に置換して終了
:ns/text1/text2/g n行目のすべてのtext1をtext2に置換して終了
:%s/text1/text2/g ファイル全体の検索語句を置換する
:%s/text1/text2/gc 置換のたびに確認を求める
:.,$s/text1/text2/g 現在行からファイルの最後までを対象に置換
:1,.s/text1/text2/g 最初の行から現在行までを対象に置換
:g/正規表現/s/text1/text2/g 正規表現に一致する行のtext1をtext2に置換

インサートモード

i カーソル位置に文字を入力
a カーソルの右側に文字を入力
I 現在行の先頭に文字を入力
A 現在行の末尾に文字を入力
o 現在行の下に行を挿入して文字を入力
O 現在行の上に行を挿入して文字を入力

ビジュアルモード

v 文字単位の選択が可能なビジュアルモード
V 行単位の選択が可能なビジュアルモード
Ctrl+v 矩形の範囲が選択可能なビジュアルブロックモード
d 選択範囲を削除する
e 選択範囲を削除し、インサートモードに移行する
p バッファの内容をカーソル位置に挿入する
y 選択範囲をバッファに格納する
u 選択範囲をすべて小文字にする
U 選択範囲をすべて大文字にする
J 選択範囲を1行にまとめる


参考文献

  1. 『これから学ぶmacOSターミナル』大津真著
  2. 『入門者のLinux』奈佐原顕郎著
  3. 『Linux標準教科書(Ver.2.0.0)』LPI-JAPAN著
  4. 『UNIXの教科書 基礎編』Hewlett Packard Enterprise著
  5. 『UNIXの教科書 応用編』同上