Linuxシステムの入出力管理とvimの共通機能の詳細な説明

Linuxシステムの入出力管理とvimの共通機能の詳細な説明

####システム内の入出力の管理####

1. システムの入力と出力のリダイレクトを理解する

入力リダイレクトはファイルをコマンドにインポートすることを指し、出力リダイレクトは元々画面に出力されるデータ情報を指定されたファイルに書き込むことを指します。

2. 入力シンボルと出力シンボルを管理する

##出力リダイレクト

> ## 正しい入力をリダイレクトする
2> ##エラー出力をリダイレクトする
&> ## すべての出力をリダイレクトする

知らせ:

リダイレクトにより元のファイルの内容が上書きされます

>> ##元のファイルの内容は上書きされません
2>> ##エラー出力、上書きなし
&>> ##すべて出力、上書きなし

####コマンドを検索####

指定されたディレクトリ内のファイルを検索するために使用されます。引数の前の文字列は、検索するディレクトリの名前として解釈されます。このコマンドを使用するときにパラメータを設定しないと、find コマンドは現在のディレクトリ内のサブディレクトリとファイルを検索します。見つかったサブディレクトリとファイルがすべて表示されます。

一般的なオプション:

-group<グループ名>: 指定されたグループ名に一致するファイルまたはディレクトリを検索します。

-name<テンプレート スタイル>: ファイルまたはディレクトリを検索するためのテンプレート スタイルとして文字列を指定します。

-nouser: ローカル ホストのユーザー識別コードに属さないファイルまたはディレクトリを検索します。

-user<所有者名>: 指定された所有者名を持つファイルまたはディレクトリを検索します。

次に例を示します。

   

####パイプラインの応用####

1. パイプラインの役割

「|」パイプの機能は、前のコマンドの出力を次のコマンドの入力に変換することです。

知らせ:

パイプは正しい出力のみを通過させます

パイプラインを通った出力は入力となり、入力となったこれらの出力は 2 番目のコマンドによって処理されます。

出力を保存する必要がある場合は、出力をコピーする必要があります。使用するコマンドは「tee」です。

この実験は一般ユーザーを対象に実行されます:

find /etc/ -name passwd | wc -l ##エラー出力はパイプできないため、結果 2 が表示されます find /etc -name passwd 2>&1|wc -l ##出力番号 2 は "2>&1" によって番号 1 に変換されるため、結果 19 が表示されます
find /etc -name passwd 2>&1|tee file |wc -l ##出力のコピーをファイルに保存し、行数を数えます

要約: 2>&1 と &> の違い

&>はリダイレクト出力なので、リダイレクト先を指定する必要があります。

2>&1 リダイレクトなし、またはfindの出力コマンドがパイプ文字を使用して入力に変換されます

   

####入力リダイレクト####

cat >ファイル <<EOF
こんにちは
世界
終了

####vim の共通機能##

1. vimモード

コマンドモード

ファイルを閲覧したり、一時的にvimの動作モードを変更したり、文字をバッチ処理したりします。

挿入モード

ファイルの内容を編集する

終了モード

vimプログラムを終了する

2. コマンドモード

1) vimの動作を調整する

vimプログラムで

:調整パラメータを設定する

パラメータは次のとおりです。

:set nu ##各行の前に行番号を表示する

:set nonu ##行番号表示をキャンセル

:set mouse=a ##マウスを表示

:set cursorline ##行を表示

知らせ:

vim プログラムで設定された vim 作業モードは一時的なものであり、vim を閉じると復元されます。

vimの動作方法を永続的に保存したい場合は、vim設定ファイル/etc/vimrcを編集(追加または削除)する必要があります。

2) 文字の検索

/キーワード

nは下向きに一致する

N 上方一致

3) キャラクター管理

ええ

yl ##文字をコピー <C-F12>

y3l ##3文字をコピー

yw ##単語をコピー

y3w ##3単語をコピー

yy ##1行をコピー

y3y ##3行コピー

d

dl ##文字を削除する

d3l ##3文字を削除

dw ## 1 単語を削除

d3w ##3つの単語を削除

dd ## 1行削除

d3d ##3行削除

c

cl ##1文字を切り取る

c3l ##3文字を切り取る

cw ##1単語を切り取る

c3w ##3単語をカット

cc ## 1行カット

c3c ##3 行を切り取ります***"注意***: 切り取った後、vim は挿入モードに入ります。貼り付ける場合は、[esc] を押して挿入モードを終了し、p を押して貼り付けます"

p ##貼り付け

u##元に戻す

ctrl+r ##やり直し

4) vim 視覚化モード

ctrl + v ##このモードでは、エリア操作を選択して文字を一括で追加できます

ctrl + v 文字を追加する列を選択 ---> 大文字の I を押す ---> 文字を追加する ---> [esc] を押す
5) 文字の置き換え

:%s/置換する文字/置換する文字/g

:%s/:/@/g ##全文を@に置き換えます

:1,5s/:/@/g ##1行目から5行目を@に置き換えます
知らせ:

%s はすべての行を示します

gはすべての列をマークします

   

6) vimの画面分割機能

ctrl+w s ##画面を上下に分割

ctrl+w v ##画面を左右に分割

ctrl+w c ##カーソルがある画面を閉じる

ctrl+w 上、下、左、右 ## カーソルを指定した画面に移動する

:sp file2 ##現在のファイルとfile2を同時に編集する

7) コマンドモードでのカーソル移動

gg ##カーソルをファイルの最初の行に移動する

G ##カーソルをファイルの末尾に移動する

: 数値 ## カーソルを指定した行に移動する

#####挿入モード######

1

) 挿入モードでのカーソル移動

i ##カーソル位置に挿入

I ##カーソルがある行の先頭に挿入

o ##カーソル行の下に次の行を挿入します

O ##カーソルがある行の上に行を挿入します

a ##カーソルの次の文字が挿入されます

##カーソルがある行の末尾に挿入

s ##カーソル位置の文字を削除して挿入する

S ##カーソルがある行を削除して挿入する

####vim の終了モード#####

:q ##終了。ファイルの内容が変更されていない場合に使用します

:wq ##終了して保存

:q! ##保存せずに強制終了。ファイルを変更した後に保存したくない場合に使用します

:wq! ## 強制的に終了して保存します。読み取り専用ファイルを書き込むときに使用します。

知らせ:

編集中の読み取り専用ファイルは現在のユーザーのファイルである必要があります

または現在の操作ユーザーがrootである

要約する

以上が、Linux システムの入出力管理と vim の一般的な機能についてご紹介した内容です。お役に立てれば幸いです。ご質問があれば、メッセージを残していただければ、すぐに返信いたします。

以下もご興味があるかもしれません:
  • Linux でタイムアウト付きの接続関数を試す
  • Linux の fsevents モジュールによって発生する npm ls エラーの解決方法の詳細な説明
  • Linux 上での Go 環境の構築のインストールと設定の説明
  • Linux の cut コマンドの使用法の概要
  • Linux シェル - 識別によってファイル システム属性をテストする方法の例
  • Linux シェルにおける if のさまざまな判断
  • Linux シェルの pushd、popd、dirs の使用方法の説明
  • Linux シェル コンソールでさまざまな色のフォントと背景を印刷する方法
  • Linux で so または実行可能プログラムの依存ライブラリを表示します
  • Linuxのアラーム機能の例の説明

<<:  MySql データベース クエリの特殊コマンド

>>:  クロスドメイン js フロントエンドの 8 つの実装ソリューション

推薦する

MySQL フラッシュリストとダーティページフラッシュメカニズム

1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...

ウェブサイトのパフォーマンス: 画像とCookieの最適化、モバイルアプリケーションの最適化

前のセクションでは、コンテンツ、サーバー、JavaScript、CSS など、Web サイトのパフォ...

Ubuntu 18.04 に opencv 3.2.0 をインストールするためのソリューション

opencv.zip をダウンロード依存関係を事前にインストールします。まずダウンロードソースを更新...

nginx を https をサポートするように設定するためのサンプル コード

1. はじめにあなたのウェブサイトはまだインターネット上に公開されたままですか?ここでは、HTTPS...

MySQL トランザクションの詳細

目次導入取引の4つの特徴トランザクション分離レベル確認するMVCC現在の読書スナップショット読み取り...

MySQL のグループ分けの例

mysql のような php switch case ステートメント。 xxフィールドを選択、ケース...

vue 要素 el-transfer にドラッグ機能を追加

コア資産管理プロジェクトでは、el-transfer にドラッグ アンド ドロップによる並べ替えと、...

実務経験7年のフロントエンドスーパーバイザーによる経験共有

今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...

ウェブページの内部アンカーポイントを実現するための純粋なCSSの上下オフセットコード例

最近、「フットボール ナビゲーション」Web サイトに取り組んでいるときに、上部の固定ナビゲーション...

MySQL マスタースレーブレプリケーションのいくつかのレプリケーション方法の概要

非同期レプリケーションMySQL レプリケーションは、デフォルトでは非同期です。マスター スレーブ ...

LDAP ユーザー認証を使用するように Linux を構成する方法

私は CentOS に実装された LDAP ユーザー管理を使用しています。これはインターネット上のほ...

MySQLデータベースに接続し、クエリ操作を実行するためのIDEAの完全なコード

1.まずMysqlリンク設定ページを書く パッケージ com.wretchant.fredis.me...

HTML テーブル マークアップ チュートリアル (9): セル間隔属性 CELLSPACING

テーブルがコンパクトになりすぎないように、テーブル内のセル間に一定の距離を設定できます。基本的な構文...

ウェブページ作成時のHTMLタグの使用に注意してください

この記事では、Web ページの作成を学習するときに注意すべき HTML タグに関するいくつかの問題を...