🙆♀️
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エディタの終了
:qEnterキー
コマンドモードと挿入モード
コマンドモード
- 起動直後は、コマンドモード
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.txtvi ~/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.1Hello, Vim.Hello, Vim.Hello, Vim.- 1行目をコピーし、5行目を挿入した例
# Generated by NetworkManager namesarver 192.168.1.1Hello, Vim.Hello, Vim.-
# Generated by NetworkManager←コピーした行が貼り付けられた Hello Vim.
コマンドの繰り返し取り消し
- 2行を切り取った後の状態
# Generated by NetworkManager nameserver 192.168.1.1# Generated by NetworkManagerHello, Vim.
viエディタの便利な機能
- 文字列を検索するには
/に続けてキーワードを入力 - setコマンドを使って様々な設定を変更
文字列の検索
- 文字列の検索
/- 文字列の検索を実行
# Generated by NetworkManagernameserver 192.168.1.1# Generated by NetworkManager-
Hello, Vim.←カーソルがVの位置に移動 - /etc/servicesファイルを開く
vi /etc/services- setコマンドの実行
:set number- 168~
Discussion