🙆♀️
2022/08/13 LPIC
- diary.txtファイルに所有グループの書き込み権を追加
chmod g+w diary.txt
- dataディレクトリから所有者以外の実行権を削除
chmod go-x data
- スティッキービット(t)を使うと誰でもファイルを作成でき、所有者、rootユーザー以外削除できないファイルを作れる。
テキストファイルの編集
viエディタの基本
- viエディタ(Visual Editor)はLinuxの代表的なテキストエディタ
- viエディタにはコマンドモードと挿入モードがある
- Linux, UNIXでは、vi, Emacsは2大エディタ
- viの上位互換エディタVim(vi improved)は、Linuxに搭載されている。
viエディタの起動と終了
- viエディタを起動
vi [ファイル名]
- testfile.txtファイルを対象としてviエディタを起動
vi testfile.txt
- viエディタの起動
vi
- 行頭が~(チルダ)は空行
- viエディタの終了
:q
Enterキー
コマンドモードと挿入モード
コマンドモード
- 起動直後は、コマンドモード
viエディタの主なカーソル移動コマンド
キー操作 | 説明 |
---|---|
h(または←) | 1文字左移動 |
j(または↓) | 1文字下移動 |
k(または↑) | 1文字上移動 |
l(または→) | 1文字右移動 |
o | 行頭移動 |
$ | 行末移動 |
gg | ファイル先頭移動 |
G | ファイル末尾移動 |
挿入モード
viエディタの主な挿入モード切り替えコマンド
キー操作 | 説明 |
---|---|
i | カーソル位置から入力開始 |
I | カーソルを行頭に移動し、入力開始 |
o | 現在カーソルがある行の下に空白行を挿入し、入力開始 |
O | 現在カーソルがある行の上に空白行を挿入し、入力開始 |
a | カーソルの右側の位置から入力を開始 |
A | カーソルを行末に移動し、右側の位置から入力開始 |
- resolv.confファイルをコピーして編集する
cp /book/resolv.conf ~/sample.txt
vi ~/sample.txt
- sample.txtファイルの内容例
# Generated by NetworkManager nameserver 192.168.1.1
- sample.txtを編集中
Hello, Vim.
# Generated by NetworkManager nameserver 192.168.1.1
ファイルの保存と終了
- ファイルを保存するには、
:w
を実行する - ファイルを保存して終了するには
:wq
もしくはZZ
を実行 - ファイルを保存しないで終了するには、
:q!
基本的な編集操作
-
dd
カット、yy
コピー、p
ペースト - 数字と組み合わせてコマンドを繰り返す。
-
.
で直前の操作を繰り返す。 -
u
直前の操作を取り消し。
切り取り、コピー、貼り付け
viエディタの主な編集コマンド
キー操作 | 説明 |
---|---|
dd | 現在カーソルがある行をカット |
yy | 現在カーソルがある行をコピー |
p | カーソル行の次行にバッファの内容をペースト |
x(またはDeleteキー) | カーソル位置の1文字をカット |
X(またはBackspaceキー) | カーソル位置の左1文字をカット |
- sample_new.txtファイルの編集
-
Hello, Vim.
←カーソル位置 # Generated by NetworkManager nameserver 192.168.1.1
- 切り取り操作後のsample_new.txtファイル
#Generated by NetworkManager nameserver 192.168.1.1
- 貼り付け操作後のsample_new.txtファイル
# Generated by NetworkManager nameserver 192.168.1.1
-
Hello, Vim.
←行が貼り付けられた - 貼り付け操作を繰り返す
# Generated by NetworkManager nameserver 192.168.1.1
Hello, Vim.
Hello, Vim.
Hello, Vim.
- 1行目をコピーし、5行目を挿入した例
# Generated by NetworkManager namesarver 192.168.1.1
Hello, Vim.
Hello, Vim.
-
# Generated by NetworkManager
←コピーした行が貼り付けられた Hello Vim.
コマンドの繰り返し取り消し
- 2行を切り取った後の状態
# Generated by NetworkManager nameserver 192.168.1.1
# Generated by NetworkManager
Hello, Vim.
viエディタの便利な機能
- 文字列を検索するには
/
に続けてキーワードを入力 - setコマンドを使って様々な設定を変更
文字列の検索
- 文字列の検索
/
- 文字列の検索を実行
# Generated by NetworkManager
nameserver 192.168.1.1
# Generated by NetworkManager
-
Hello, Vim.
←カーソルがV
の位置に移動 - /etc/servicesファイルを開く
vi /etc/services
- setコマンドの実行
:set number
- 168~
Discussion