VIM使用
インサートの位置にカーソルを
iは現在のカーソル位置に挿入され
、Oカーソルの下の空白行を作成
DD(剪断)を削除し、カーソルが置かれている
5DDが除去(切断)点から出発して5行
YYコピーカーソルライン
点から出発5yy 5行コピー
検索コマンドを表示するために、Nは列に配置される
上に、検索コマンド文字列を検索するためにN個の表示
U失効前の操作
P以前削除(DD)またはコピー(YY)を有していましたカーソルの後に貼り付けデータ
ラインモード
:保存ワット
Q:と
:Q!保存せずに終了することを余儀なく
:WQ!保存して終了強制
セットNUショーの行番号:
:設定NONUしない表示行番号
:Runコマンド
:整数整数行にジャンプ
:/ sの1を/ 2最初の現在のカーソル行が1 TWOで交換される
S / 1: / 2 / gのすべての1本の現在のカーソルラインは、二つの置き換え
:%S / 1/2 /グラムを2つにすべての1のフルテキストを置き換えますか
?検索文字列の下からテキスト文字列で
テキストの上から検索文字列の下に/文字列
文字のエスケープ
バックスラッシュ文字列変数を使用して、バックスラッシュ(\)が簡単になり
、すべての変数は、単純な文字列としてエスケープ前記単一引用符(「」)
二重引用符(「」)の変数を禁じ特徴特性は、任意逃げることなく
バック引用符( `)実行したコマンドの結果を返します
シェルスクリプトは、
三つの要素が必要です
!使用するスクリプトを実行するためのシステム伝えるために1宣言#/ binに/ bashのbashのインタプリタを
2コメント#がスクリプトの意図が実行されるかを説明し、通常は書き込み
3.スクリプトコマンドはこれですスクリプトの主な内容
スクリプトを実行した後のパラメータを運ぶことができますが、また、スクリプトは、これらのパラメータを呼び出すかどうかによって異なり
./open.shすなわちQQのWXの
スクリプト変数:
スクリプト$ 0名
どのように多くの引数の$#スクリプト
$ *すべての位置に対応しますパラメータ
$?最後のコマンドの戻り値
スクリプトパラメータ値を対応する後の$ 1、$ 2、$ 3 ......
ユーザーは、パラメータを決定します
ファイルおよび論理テスト演算子
[-dの/ etc / fstabファイル]
エコー$?コマンドを参照するには場合は、上記の判定結果、もしそうであれば、出力1、そうでない場合、出力0
ファイルがディレクトリタイプであるかどうかを-dテスト
-eは、ファイルが存在するかどうかをテスト
一般的なファイルの判断-fかどうか
、現在のユーザーが読み取り許可を持っているかどうかをテスト-r
現在のユーザーが書き込み権限があるかどうか-wテストを
現在のユーザーが実行する権限を持っているかどうかを-xテストを
&&論理AND
||論理OR
!論理否定
整数比較演算子
[10 -gt 10]
エコー$それがある場合、コマンドは、出力1以上の決意の結果であるかどうか、そうでない場合、0を出力?
-eqが等しい
等しくない-ne
-gtがより大きい
- LTかより小さい
-Le以下なら
以上が-Geするかどうか
文字列の比較演算子
の文字列変数[$文字列-z]は、空の値かどうかを判断する
エコー$?結果は判断の上にある場合、それがある場合、コマンドは、見て、出力1を、そうでない場合は、出力0
=コンテンツかどうかの文字列を比較します同じ
!=比較文字列の内容が異なっている
-z文字列の内容が空であるか否かを判断します
条件制御文
条件文があれば
-p読む「あなたのスコア(0〜100を入力します ):」GRADE番号( 入力文です、あなたは0-100の間の数値を入力することができます)
であれば[$ -ge GRADE 85] && [$のGRADEを- 100ル];その後、
エコー"$ GRADEが優れている"
のelif [$ -ge GRADE 70] && [$ -le GRADE 84];その後、#(ELIF項目の多増加決意条件真ん中)
エコー"$渡しGRADEは"
他
「$ GRADEは失敗IS」エコー
(FIの最後でなければなりません)Fi回線#
循環のための
猫のusers.txt`の# `でUNAMEため(このサイクル条件のために書かれた)
(必須であり、このDO、で始まる必要があります)#を行い
、上記のidの$ UNAME&>を/ dev / null
IF [$?-eq 0 ]
その後、
"既に存在する"エコー
、他に
は、useradd $ UNAME&>を/ dev / null
エコー"$ PASSWD" | passwdの--stdin $ UNAME&>を/ dev / null
IF [$ -eq 0]?
そして、
「$ UNAME、作成をエコー成功「
他には
$ UNAME、失敗「作成エコー」
Fi回線
Fiの
DONE#(必須エンドタイプ)
ループ条件ながら
価格= $(exprの$%の1000年RANDOM)
TIMES = 0
エコー「0から999の間で実際の商品価格の、何を思う?」
しばらく真に
#(ハード順番識別子を決定するために)やる
読み取りを- INT:pは、「あなたの推測価格の番号を入力してください」
++のlet回
IF [$ INT -eq $価格];その後、
エコー「おめでとう、あなたは正しく答え、実際の価格は$価格がある」
「あなたは合計推測に$倍の時間を持っている」エコー
出口0
elifの[$ INT -gt $ PRICE];その後、
エコー、 "高すぎる!"
他
エコー"が低すぎる!"
Fiの
DONE#(パラダイムの終わり)
ケースのテスト条件文が
-p読み"の文字を入力し、Enterキーを押して確定します:" KEY
ケース"の$ KEYを"中
| [AZ] [AZ])
。"あなたは、文字を入力し、"エコー
;;#(特に魔法パラダイムを分割条件)
[0-9])
「あなたの入力がデジタルである。」エコー
;;
*)#(デフォルトのサイクルに似た最後の他のコマンド識別)は、
ファンクションキー、あなたがスペースを入力」エコーまたは他の制御文字。」
ESAC
スケジュールされたタスク
を一度にコマンドを追加するためにスケジュールされたタスク
のワンタイムタスクが計画しているかを確認するには、-l
スケジュールされたタスク23:00(入力を設定し、ワンタイムは、編集モードに入ります後23:00には、あなたが直接実行したいコマンドを入力します。 、その後、スケジュールされたタスクの終了)を書くには、Ctrl + Dを押す
か、書き込みエコー「systemctl再起動のhttpdを」| 23:30 AT
のシリアル番号に直接バック)と(1-オフスケジュールされたタスクを削除atrm
atrmスケジュールされたタスクを削除する2必要性を2
スケジュールされたタスクは、定期的なcrontabファイル
を作成するには、-e、編集
-lは、スケジュールされたタスクの現在のプレゼンスを表示するには
、削除-r
スケジュールされたタスク-u編集他のユーザーを
定期的にスケジュールされたタスクのフォーマット
* * * * *