ファイルを編集および検索するためのシェル コマンド
現在でも、Linux システムの構成のほとんどは、プレーン テキスト ファイルを編集することによって行われています。グラフィカル ツールを使用して構成ファイルを操作する場合でも、プレーン テキスト ファイルでできることを完全に達成することはできません。その結果、場合によっては、テキスト エディターを使用してファイルを手動で構成する必要がある場合があります。同様に、一部のドキュメント ファイル タイプ (HTML や XML など) は手動で編集できるプレーン テキスト ファイルです。
成熟したプログラマになる前に、プレーン テキスト エディタの使い方を学ぶ必要があります。実際、ほとんどのプロフェッショナル向け Linux サーバーはグラフィカル インターフェイスさえ提供しておらず、プレーン テキストの構成ファイルを編集するために非グラフィカル テキスト エディタのみを使用します。
ファイルの編集: vim または vi を使用します。
vimとviの違い
Vim (Vi Improved) と Vi (Visual Editor) は両方ともテキスト エディターであり、いくつかの類似点がありますが、いくつかの重要な違いもあります。Vim は Vi の最新版であり、Vi の基本的な編集概念を保持していますが、より幅広いテキスト編集ニーズに対応できる機能と柔軟性を提供しています。一般に、テキストを頻繁に編集する必要があるユーザーには Vim が適していますが、テキストをたまにしか編集する必要がないユーザーにとっては、基本的な編集タスクを解決するには Vi で十分かもしれません。
私の仕事に関しては、コマンドラインを使って普通にファイルを編集できれば十分ですが、もっと上達したいのであれば、より効率的にファイルを編集するためのコマンドをもっと覚える必要があります。正直に言うと、そこまでではありません。大きなファイルやプロジェクトのファイル操作には、コマンド ラインを使用する場合と同様に、ビジュアル インターフェイスを使用します。
vimおよびviコマンドの使用手順
Vi の基本的なプロセス:
1. ファイルを開きます。
- ターミナル ウィンドウを開き、次のコマンドを入力して Vi を起動し、ファイルを開きます。
vi 文件名
ここで、「filename」は編集するファイルの名前です。ファイルが存在しない場合、Vi は新しいファイルを作成します。
2. Vi の通常モードに入ります。
- 初めてファイルを開くとき、Vi は通常モードに入ります。通常モードでは、テキストを直接入力することはできませんが、さまざまなコマンドを実行することができます。
3. 挿入モードに切り替えます。
- テキストの編集を開始するには、挿入モードに切り替える必要があります。通常モードで、次のいずれかのキーを押して挿入モードに切り替えます。
i
: 現在のカーソル位置の前にテキストを挿入します。I
: 現在の行の先頭にテキストを挿入します。a
: 現在のカーソル位置の後にテキストを挿入します。A
: 現在の行の末尾にテキストを挿入します。o
: 現在の行の下に新しい行を挿入し、挿入モードに入ります。O
: 現在の行の上に新しい行を挿入し、挿入モードに入ります。
4. テキストを編集します。
- 挿入モードでは、通常のテキスト エディタと同じようにテキストを入力および編集できます。必要なテキストを入力します。
5. 挿入モードを終了します。
- 挿入モードを終了して通常モードに戻るには、
Esc
キーを押します。
6. ファイルを保存します。
- 通常モードでは、次のコマンドを入力してファイルを保存できます。
:w
または、新しいファイルとして保存したい場合は、次のコマンドを使用できます。
:w 文件名
7. Vi を終了します。
- Vi を終了してターミナルに戻るには、通常モードで次のコマンドを入力します。
:q
ファイルに変更を加え、その変更を保存したい場合は、次のコマンドを使用します。
:wq
変更を保存せずに強制終了したい場合は、以下を使用できます。
:q!
以上が Vi の基本的な使用手順です。Vi には、検索、置換、切り取り、コピーなどの操作に使用できる高度なコマンドと関数も多数あります。Vi の機能の詳細については、Vi のヘルプ ドキュメントを参照するか、オンライン チュートリアルを参照することをお勧めします。最初は少し慣れないように感じるかもしれませんが、練習すればどんどん上手になっていきます。
エディタ内を素早く移動する
· CtrH+f - 一度に 1 ページずつ進みます。
· Ctrl+b - 一度に 1 ページずつ、ページを戻します。
· Ctrl+d - 一度に半ページずつ送ります。
· Ctrl+u - 一度に半ページずつ戻ります。
· G - ファイルの最後の行に移動します。
· 1G - ファイルの最初の行に移動します。
· 35G - 任意の行番号 (この場合は 35) に移動します。
ファイルの検索
find
は、ファイル システム内のファイルとディレクトリを検索するために使用される強力な Linux コマンドです。さまざまな基準に基づいてファイルを検索し、必要に応じてさまざまな操作を実行できます。find
コマンドの基本的な使用法は次のとおりです。
find [起始目录] [匹配条件] [操作]
-
[起始目录]
: ファイルの検索を開始するディレクトリを指定します。デフォルトは現在のディレクトリです。 -
[匹配条件]
: ファイル名、ファイルタイプ、サイズ、変更時刻など、ファイルを検索するための一致条件を指定するために使用されます。 -
[操作]
:可以在找到文件后执行的操作,常见的操作包括-print
(将文件名打印到标准输出)、-delete
(删除找到的文件)、-exec
(执行自定义命令)等。
以下是一些常见的 find
命令示例:
1. 查找当前目录及其子目录下所有文件和目录:
find
2. 在指定目录(例如 /home/user
)中查找所有文件和目录:
find /home/user
3. 查找所有以 .txt
结尾的文件:
find /path/to/search -name "*.txt"
4. 查找所有大于1MB的文件:
find /path/to/search -size +1M
5. 查找最近7天内修改过的文件:
find /path/to/search -mtime -7
6. 查找并删除所有 .bak
文件:
find /path/to/search -name "*.bak" -delete
7. 执行自定义命令来处理找到的文件(例如复制到另一个目录):
find /path/to/search -name "*.jpg" -exec cp {
} /path/to/destination \;
在上述示例中,{}
表示 find
找到的每个文件的占位符,\;
表示 -exec
命令的结束标记。
在使用 find
命令时要小心,确保了解操作的影响,特别是在使用 -delete
或 -exec
命令时,以免不小心删除或修改重要文件。