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 つの実装ソリューション

推薦する

Webpack4プラグインの実装原理についての簡単な説明

目次序文知る練習すれば完璧になる序文wabpack では、ローダーの他にプラグインがコア機能です。プ...

コネクタコンポーネントから Tomcat のスレッドモデルを見る - BIO モード (推奨)

Tomcat の上位バージョンでは、デフォルト モードは NIO モードを使用することになります。...

Mac VMware Fusion CentOS7 静的 IP 構成チュートリアル図

目次CentOS7をインストールする静的IPの設定viを使用してファイルを編集するCentOS7をイ...

ウェブフロントエンドウェブ開発の一般的なプロセスの簡単な紹介

フロントエンド開発を行っている初心者の学生を多く見かけますが、彼らの効率は比較的遅いです。常にコード...

MySQL Shell import_tableデータインポートの実装

目次1. import_tableの紹介2. データのロードとテーブル関数のインポートの例2.1 L...

Linux サーバーに埋め込まれた ddgs および qW3xT.2 マイニング ウイルスの対処の実践記録

序文仮想通貨の狂気的な投機により、マイニングウイルスは犯罪者が最も頻繁に使用する攻撃方法の 1 つに...

Dockerコンテナ内にkibanaトークナイザーをインストールする方法

ステップ: 1. 仮想マシンディレクトリに新しいdocker-compose.ymlファイルを作成し...

Windows で MySQL データベースを別のディスクに移動する

序文今日、MySQL をインストールしたところ、データベース ストレージがデフォルトで C ドライブ...

この記事ではCSSの組み合わせセレクターの使い方を説明します

CSS 組み合わせセレクターには、単純なセレクターのさまざまな組み合わせが含まれます。 CSS3 に...

MySQLのインデックス選択と最適化の詳細な説明

目次インデックスモデルB+ツリーインデックスの選択インデックスの最適化インデックスの選択性カバーイン...

Zabbix を使用して ogg プロセスを監視する (Windows プラットフォーム)

この記事では、Windows プラットフォームで ogg プログラムを監視する方法を紹介します。 (...

ウィンドウ内のさまざまな距離/スクロール距離の正確な計算の概要

通常、プロジェクト開発では、マージン、位置、座標などを扱う必要があります。悲劇なのは、これらの概念が...

49 個の JavaScript のヒントとコツ

目次1. js整数の演算2. ネイティブアラートを書き換えてポップアップボックスの数を記録する3. ...

Vueデータ変更検出の基本的な実装の簡単な分析

目次1. オブジェクトの変更検出2. オブジェクトに関する質問配列変更検出3.1 背景3.2 実装I...

MySQL NULLデータ変換方法(必読)

MySQL を使用してデータベースをクエリし、左結合を実行すると、関連付けられたフィールドの一部に...