Vimのテキストエディタ;パイプとファイルのリダイレクト、ユーザーとグループ

知識の概要の第2週

  二週目は、主にテキストエディタのvimを研究、Vimは強力なテキスト編集機能をサポートしている、あなたはそれらの通常の機能のいくつかを習得する必要があり、標準IOパイプライン,,だけでなく、ユーザーグループと権限の管理。

A.テキストエディタのvim

1.テキスト編集ツール

VI:ビジュアル・エディタ、テキストエディタ、
テキスト:ASCII、Unicodeの
テキストエディタカテゴリ:ラインエディタ:sedの
フルスクリーンエディタ:ナノ、viの、vimの

2.モードエディタ

三つの主要なモード:
1.コマンド(ノーマル)モード:
デフォルトモードでは、カーソルを移動し、カット/ペーストテキスト
2.(挿入)または編集モード:レビューテキスト
を保存して終了:3.コマンド(拡張コマンド)モードを拡張しました
Escキーは、現在のモードを終了するには、
Escキー、キー、Escキーは常にコマンドモードに戻ります

3.共通コマンド

1.ファイルクローズ
:.コマンドモード拡張1.1
:Qの出口は
:!Q強制終了、行った変更を破棄
:保存して終了WQ
:X保存して終了
1.2コマンドモード。
保存して終了ZZ
ZQを保存して終了ではない
2.拡張コマンドモード
を押して" :「EXモード
2.1コマンドプロンプトの作成:画面の左下には、
2.2一般的なコマンド。
ワット書き込み(保存)ディスクのファイル
WQ書き込みと終了
X書かれたと出口
qが終了し
、Qを!変更内容が失われた場合でも、保存せずに終了
Rのファイル名は、現在のファイルにファイルの内容を読み取る
別のファイルに現在のファイルの内容を書き込むファイル名のw
!コマンドを実行し
Rを!コマンドコマンドの出力に読む
3.コマンドモードコマンド
3.1。ライン間:移動
拡張コマンドモードまたは#Gを##が最初の行に移動
G最後の行
、GG 1G最初の行
に移動:)(下の文の間
にいくつかの期間{}:段落間の動き
3.2文字。編集:
X-カーソルの文字を削除するには、
#文字の先頭にカーソルを削除#X
カーソルXP交換での文字の後ろに位置し、その文字
〜変更ケース
J現在のラインフィードラインは削除
コマンド(R&LT、交換)を交換し
、カーソルでR&LT置換文字を
Rは、REPLACEモードに切り替えられる
3.3 deleteコマンド:.
D削除コマンドは、カーソルがジャンプ文字消去を達成するために組み合わせることができます
線Dの$の端取り除く
最初の非空白行削除する^ Dを
最初の行を削除するにD0を
DW

DBの
#COMMANDの
DDを:ラインカーソル削除
複数行が削除#dd
Dを:行の終わりに現在のカーソル位置から削除された、と等価ですD $
4.コマンドモード拡張
4.1。アドレス区切り
/パターン/マッチパターン列
 / PAT1 /、/ PAT2 /
最初の行がPAT2に一致するまで、PAT1線を一致させるための第一のパターンからエンド
#、/ PAT /
/ PAT /、$の
 使用:編集コマンドに続いて
のDy
で指定したファイルに保存された行の範囲:Wファイル
rファイル:指定した場所に指定されたファイルのすべての内容を挿入
4.2検索と置換。
/ PATTERN:ファイルの末尾に現在のカーソル位置を探す
PATTERN :?ヘッダファイルに現在のカーソル位置からシーク
N:コマンドと同じ方向に
N:逆方向コマンドは
、拡張検索で完了し、動作モードコマンド交換される
フォーマット:コンテンツのS /見つけるために/コンテンツ/修飾置き換える
見つけるためにコンテンツを:モードを使用することができる
コンテンツとして代わりに:モードは使用できませんが、基準シンボルに使用\ 1、\ 2、...、などの後に、またも
前の参照が見つかり使う「&」のルックアップの内容全体

修飾子:
私はケースを無視
グラムグローバル置換は、デフォルトでは、各行は唯一の最初の出現置き換える
交換する前に、各クエリ、またはGC世界を
 検索し、区切り文字を置き換える/他の文字に置き換えてもよい
S @の/ etc @ / Gの@するvar
Sの#/ブーツ#/#I

II。標準IOとのパイプ

1.標準入出力

1.1ファイルを開くには、FDがあります。ファイルディスクリプタ(ファイルディスクリプタ)

プログラムへLinuxは、3つのI / Oデバイスを提供する
標準入力(STDIN)-0キーボードからの入力を受け付けるデフォルト
標準出力(STDOUT)-1ターミナルウィンドウにデフォルト出力
端子に標準エラー(STDERR)-2デフォルト出力ウィンドウ
I/ Oリダイレクション:デフォルトの場所を変更します

1.2。出力とエラーがファイルにリダイレクト

STDOUTとSTDERRをファイルにリダイレクトすることができ
、コマンド操作のシンボルファイル名
サポートされているオペレーティングシンボルが含まれます:
\> STDOUTにファイルにリダイレクト
2 \> STDERRをファイルにリダイレクト
ファイルにすべての出力をリダイレクトすると>
> \ファイルの内容をで覆われることになる
コンテンツは、既存のファイルを上書きします禁止-Cセットが、追加することができる
ファイルの必須カバレッジ| \>
セット+ Cを使用して、上書きすることができます
追加コンテンツに基づいて\ >>オリジナルのコンテンツを

1.3。出力とエラーがファイルにリダイレクト

2>エラー出力データストリームをリダイレクト覆う
2>>リダイレクトエラー出力ストリーム付加
標準出力と誤差がそれぞれ異なる位置に向けられるを
/ COMMAND> /path/to/file.out 2> /パス /エラーです。 OUT
リダイレクトするために、同じデータストリームのエラー出力と標準出力を合成
&>カバレッジリダイレクト
&>>リダイレクト追加
COMMAND> /path/to/file.out 2>&1(順序は重要である)
COMMAND >> /パス2 /to/file.out>&1
Ø():STDOUTは複数のプログラムを組み合わせて
(CAL 2007; CAL 2008)> all.txt

2.trコマンド

TR変換し、削除文字
tr[OPTION] ... SET1 [SET2]
オプション:
-c -C --complement:補足文字セットを取る
-d --delete:セットの最初の文字に属するすべての文字を削除します
- S --squeeze-反復:連続重複文字が単一文字で表される
文字に対応する最初の文字は文字の第二セットに文字セットに対応する:--truncate-SET1 -t
[:alnum:]:文字とデジタル[:アルファ:]:文字[:CNTRL:]:コントロール(非印刷)文字
[:桁:]:デジタル[:グラフ:]:図形文字[下部:]:小文字[:印刷:]:缶印字文字
[:PUNCT:]:句読点[:スペース:]:空白文字[:アッパー:]:大文字
[:XDIGIT:]:16進数の文字

3.パイプライン

パイプ(使用|示す記号を「」)コマンド接続するための
コマンド1を|コマンド2 |コマンド3 | ...
Øコマンド1はSTDIN STDOUT 2コマンドに送信され、コマンドのSTDOUT 2 3に送信されるコマンド
STDIN
STDERRは、デフォルトではありませんライン転送、利用可能な2>&1を介し|&実装
最後のコマンドの中で、現在のシェルプロセスのサブシェル・プロセスで実行されている
複数のツールの機能の組合せ
TR「 - Z」「 - Z」| LS
A:以下ビュー入力
以下|など/ -l LS
Eメールの入力によって送信:mail
「テストメール」エコー|メール-s「テスト」[email protected]
bc:算術
エコー「2 ^ 3」| BC

III。ユーザーグループと権限管理

1.カテゴリのグループ

 カテゴリーのLinuxグループの
ユーザーのプライマリグループ(プライマリグループ)
ユーザーは、唯一のメイングループに属している必要があり
、ユーザー名とグループ名、およびユーザーのみプライベートグループが含まれ
、ユーザーの追加グループ(補助グループ)
、ユーザがゼロに属することができるのか補助複数のグループ

2.ユーザーとグループのプロファイル

Linuxのメインの設定ファイルとユーザーグループ:
/ etc / passwdファイル:ユーザーとその属性情報(名前、UID、プライマリグループIDなど)
の/ etc /グループ:グループは、情報や属性
属性とその関連するユーザーのパスワード:の/ etc /影を
の/ etc / gshadowの:グループパスワードとそれに関連するプロパティ

3.ユーザーとグループの管理コマンド

作成するために、3.1のユーザー:useraddの

useraddの[オプション] LOGIN
-u UID
チェックなしのUIDの一意性を持つ-o -uオプション
-g GIDは、グループ名のために、ユーザーが所属する基本的なグループに指定された、またはGID
-c「COMMENT」ユーザーのコメント情報
-d HOME_DIR指定したパス(存在しない)のホームディレクトリに
ユーザーのデフォルトのシェル-sシェル、利用可能に/ etc / shellsファイルのリストに指定さ
-G GROUP1 [、GROUP2を、...]ユーザーのための追加のグループを指定するには、事前に対象のグループ存在は
、プライベートグループのグループショットを作成するグループのユーザーグループを使用して撮影しませ-N
-rシステム・ユーザーを作成6のCentOS:ID <500、CentOSの7:ID <1000年
-mシステムのユーザのホームディレクトリを作成
-Mホームディレクトリが作成されていません非システム・ユーザ

3.2。ユーザープロパティを変更します。

usermodの[オプション]ログイン
-u UID:新しいUID
-g GID:新しいメイングループ-G GROUP1 [、GROUP2、... [ 、groupnは]]]: 追加の新しいグループは、元のグループが追加されます
。あなたが続ければカバレッジオリジナル、-aオプションを使用する必要があります
新しいデフォルトのSHELL:-s SHELL
-c「コメント」:新しい注釈情報
-dホーム:ホームディレクトリが自動的に作成されていないが、新しいホームディレクトリおよびモバイルホーム、元のデータを作成するには、
一方、-mオプション
-lのlogin_name:新しい名前
-L:の/ etc / shadowパスワードバーで増加し、指定したユーザーをロック!
-U :! UNLOCK指定されたユーザーは、/ etc / shadowのパスワードフィールドが削除され
-e YYYYを-MM-DD:ユーザーアカウントの有効期限ことを示し
、非アクティブの設定期間:INACTIVE -fを

3.3。ユーザーのパスワードを変更します。

3.3.1。パスワード

passwdの[OPTIONS]ユーザー名:パスワードを変更するユーザーを指定する
一般的なオプション:
-d:指定したユーザーのパスワードを削除
-lを:指定したユーザーのロック
、特定のユーザーのロックを解除するには:-u
-eを:パスワードを次の変更をユーザーに強制的にログイン
-f:強制動作を
- N MINDAYS:最低利用期間を指定する
-x MAXDAYSを:使用期間の上限
-w warndays:事前に警告し始めた日数
-i inactivedaysを:非アクティブ期間
--stdin:標準入力からユーザーパスワードを受け取ります

3.3.2。パスワードの変更

チャゲ[OPTION] ... LOGIN
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
-l显示密码策略

3.4。グループ管理コマンド

3.4.1.groupadd [OPTION] ... [グループ名

指定されたGID GID番号-g [GID_MIN、GID_MAX]
-R&LTは、システムグループを作成します

3.4.2。グループを変更および削除

グループのプロパティを変更します。groupmodの
groupmodの[OPTION] ...グループ
-n [グループ名:新しい名前を
-g GID:新しいGID
グループの削除は:groupdelグループ
GROUPをgroupdelグループ

3.4.2パスワード設定を変更します

グループパスワード:gpasswdを
gpasswd[OPTION] GROUP
特定のグループにユーザーを追加する-aユーザー
指定のユーザーグループからユーザーを削除するには、-dユーザー
の-Aユーザー1、ユーザー2、...、管理者権限のユーザーリストが提供
newgrpコマンド:一時的にプライマリグループを切り替える
ユーザーがこのグループに属していない場合は、グループパスワードが必要です

3.4.2パスワード設定を変更します

groupmems [オプション]、[アクション]
オプション:指定したグループ(rootのみ)に-g、--group GROUPNAME変更
アクション:
グループに参加するユーザーを指定-a、--addユーザ名
-dを、--deleteユーザ名がグループからユーザーを削除します
- Pは、グループのすべてのメンバから削除--purge
-l、--listグループメンバーのリスト表示
groups[オプション] [USERNAME] ... グループのリストを表示するユーザーが所属します

3.5。ファイルのパーミッション

3.5.1。所有者とグループファイルを変更します。

ファイルの所有者変更します。chown
chownコマンドを[OPTION] ... [OWNER] [:[GROUP]] ... FILEの
指示:
OWNERの
OWNER:GROUP
:GROUP、コロンも交換することができる。
-R&LT:再帰的に
chownを[OPTION] ... --reference = RFILEファイル...
で変更されたファイルのの群:chgrpコマンドの
chgrpコマンド[オプション] ...ファイルグループ
chgrpコマンド[オプション] ... --reference = RFILEファイル...
-R&LT再帰

3.5.2。ファイルのパーミッション

ファイル:
rファイルは、そのコンテンツを取得するためにクラスのツールを表示するために使用することができ
、wはその内容の変更することができ
、xはカーネルを描画するために、この文書を置くことができますが、プロセスを開始する
ディレクトリを:
Rあなたは、ファイルリストにこのディレクトリを表示するために、LSを使用することができます
あまりにも、このディレクトリ内のファイルを作成することができますワットあなたは、このディレクトリ内のファイルを削除することができ
、ディレクトリにcdすることができ、(Rと互換性がなければならない)、ファイルのメタデータでは、このディレクトリを表示するためのls -lを使用することができ、X
のみカタログにXのX許可は、Xファイル許可を与えていない
ファイルのパーミッション操作コマンドをします。chmod
ファイルをパーミッション(rwxの| X)
Vimのテキストエディタ;パイプとファイルのリダイレクト、ユーザーとグループ

ファイルのパーミッションを変更し
ます。chmod [オプション] ... ... FILE OCTAL MODE-
-R&LT:再帰的に権限を変更するには、
[OPTION] ... MODE [、MODE] ... FILEchmod
:MODE
ユーザーのクラスの見直しをすべての権限
U = G = O = UG = A = U =、G =
パーミッションビットのユーザまたは特定のクラスによって修飾
U + UG + G- O + O - A + A- + - chmod[OPTION] ... --reference = RFILEファイル...
参照RFILEファイルアクセス許可が同じRFILEファイルに変更されます

3.6。特殊なファイルのパーミッション

3.6.1。実行可能ファイルにSUIDの権限

  任意の実行可能ファイルは、プロセスのために起動できません:プログラムのイニシエータは、ファイルが持っているかどうかに依存して
実行権限を
プログラムファイルの元の所有者のための主要なプロセスであり、プロセスのための開始後に
のみ、バイナリ実行可能プログラムのための有効なSUID
 SUIDは無意味なディレクトリに設定されている
:パーミッション
はchmod + U Sファイルが...
米国がFILE chmodコマンド...

3.6.2.SGID権利

3.6.2.1。実行可能ファイルにSGIDのパーミッション

  任意の実行可能ファイルは、プロセスのために起動できません:プログラムのイニシエータは、ファイルが持っているかどうかに依存して
実行権限を
プロセスの開始した後、元のプログラムファイルのグループプロセスであるグループである
:権限を設定すること
はchmod + G S FILE ...
chmodコマンドGS FILE ...

ディレクトリ上の3.6.2.2。SGIDのパーミッション

  ユーザーがファイルを作成し、デフォルトで、それは、この目的のために、このディレクトリは、このディレクトリ内のユーザーが作成したファイルへの書き込みアクセスしている、ディレクトリがSGID設定されると、ユーザはグループに属しているプライマリグループである
グループは、この最後に属しこれは、グループディレクトリである
ことが多いの共同ディレクトリの作成に使用
権限:
chmodコマンド+ G S DIR ...
chmodコマンドGS DIR ...

3.6.3.Sticky位

  ディレクトリは、通常、ユーザーが書き込み権限がそのディレクトリ内のファイルを削除することができます持っているにかかわらず、ファイルのアクセス権の
か、所有権
スティッキービットがディレクトリに設定されている、所有者またはルート・ファイルのみがファイルを削除することができ
、ドキュメント無意味に提供さstickyを
権限:
DIR ... Oのchmod + T
chmodのOT DIR ...

3.7アクセス制御リスト

3.7.1.ACL:アクセス制御リスト、柔軟な著作権管理

所有者、所有グループ、およびその他の書類に加えて、より多くのユーザーがアクセス権を設定することができ
、所有者、カスタムユーザー、カスタムグループ、他人の:ACL効果シーケンス取る
アクセスrwxのを許可複数のユーザーまたはグループのためのファイルやディレクトリを
-o ACLマウント/ディレクトリ
getfaclはファイル|ディレクトリ
は、setfacl -mu:王:rwxのファイル|ディレクトリ
は、setfacl -mg:管理者:RWファイル|ディレクトリ
は、setfacl -xu:王のファイル|ディレクトリ
は、setfacl -b file1の明確なすべてのACL権限
getfaclはファイル1 |は、setfacl --set-ファイル= - file2をコピーFILE1 FILE2権限ACLへ

3.7.2.mask

マスクは、所有者に加えて、唯一最大の人権団体に影響を与え、他の
(有効としてマスクは限られた権限になるために、ユーザーの権限を持つ論理AND演算する必要があります
許可)
を設定し、ユーザーまたはグループのアクセス権は、マスク内に存在する必要があります範囲内で有効になるようにセット
は、setfacl -mマスク:: RXファイル
オプションは、新しい代替で、すべての既存のACLエントリを削除します--setを、我々が含まなければならないことに留意されたい
UGOの設定を、-mと同じではありません私はACLを追加することができます

おすすめ

転載: blog.51cto.com/14451166/2426433