シェルスクリプト8-6

シェルは、1はじめに:

1、ユーザアプリケーションを実行するために使用されるスペース

2、マン・マシン・インタラクションのためのシェルプログラム

図3は、シェルコマンドは、一列に論理の欠如を、プログラムを実行します。

4、Pythonとシェルとの間の差異:Linuxのバッチ処理を実現するためにシェルを使用してではなく、アプリケーションを開発します

図5は、ipython:Pythonはbashシェルコマンドをサポートし、デフォルトのPythonの使いやすいシェル、変数自動補完のためのサポート、自動インデントよりもはるかに多くの対話型シェル、で、機能や便利な機能の多くを構築しました。

図6は、プログラムが特定の機能を実行するコードの一部です。(変数によって)命令(即ちコマンド)、データだけでなく、論理的な関係(オプション):このプログラムは2つの要素を含まなければなりません

7、dateコマンドは、ハードウェア時刻を表示するために、システム時間、hwclockの(クロック)コマンドを表示します

8、chrootコマンド:ルートファイルシステムを切り替えます。ファイルをロードするためのL一時的なルートファイルシステム、ディスク・ドライブ

9、言語の発達で、Tabキーは、(組み込まれて4つのスペースに代わって、\ tの)タブを呼ばれます

10、bashの特徴:

①コマンド履歴(ヒストリー)

効果:表示する前に使用するコマンド

コマンド履歴ファイルについて(各ユーザのホームディレクトリの下の.bash_history、手動コマンド履歴はメモリ:.履歴-rに書き込まれます後、追記型、そこに再起動されます自動的にシャットダウン)

変数(環境変数)について、歴史的な環境変数を表示するためのコマンド:ENVを設定する(より詳細な環境変数パラメータを参照してください)

歴史のレコード番号(HISTSIZE = 1000)

(HISTCONTRUL = ignoredups()履歴リピート命令を無視

                             ignorespace(空白historyコマンドの始まりを無視して)

                             (発効どちらも)ignoreboths

操作しばしば長い歴史を参照してください。

1、歴史(すべての履歴コマンドを参照してください)

2!+番号(このコマンドを実行します)

!$(重要):コマンドの最後の引数(ショートカット:. ESC +)

共通オプション:

-a履歴ファイルに履歴行を追加

-d削除

-cクリア

歴史#:#は、最新のコマンドラインを表示します

②完了(タブ重要な役割:プロンプトで、オートコンプリートコマンド、ディレクトリ)

  inuxディレクトリFHS(ファイルシステム階層標準)上場規則に従う必要があります

③コマンドライン増設

コマンドを展開:{}

1つのコマンドでディレクトリ以上のものを作成するには:

MKDIR -pv mylinux / {binに、ブート/ GRUB、DEVなど/ {rc.dの/ init.dディレクトリ、のsysconfig /ネットワークスクリプト}、LIB /モジュール、lib64に、PROC、sbinに、SYS

日付に基づいてディレクトリを作成するには、dateコマンド

日付+%F(出力日)

日付+%H(H出力時)

日付+%M(最小出力時)

日付+%S(第2の出力時間)

日付+%T(出力時間)

演習:月の声明サイクルのログファイルを作成します。.logに2019-08-6.http.log

タッチ `日付+%F`.http.log 

I {1..30}にするため、行います

         タッチ `日付+%Y-%M- $ i`.http.log。

完了

圧縮ツール(ファイルのみを圧縮し、ディレクトリを圧縮することはできません): GZIP BZIP2 XZ (それぞれ異なる圧縮原則ツール)

タール共通パラメータ(アーカイブ・ツールは、ディレクトリを操作することができる):-j:に相当BZIP2、

-J:同等のXZ;

-z :同等のGZIP

zcatを解凍せずに圧縮されたファイルを表示するには、

-c:圧縮ファイルを作成します。

-x :同等のエキス(あなたは抽出ツールを指定することはできません)

-f :(圧縮されたファイル名に、つまり)ファイル名を指定します。

-v :詳細を示します。

-t:ビューの内容を解凍し、ないZCAT 同じ

例:。2018-08.http.log.bz2 2018から08 cjvfタール- * http.log

    2018-08.http.log.bz2あるxvタール-C ABC

アーカイブ:レッド  実行ファイル:グリーン     ディレクトリのファイル:ブルー

/ ディレクトリの区切りを表します

毎日、スクリプトを書く 2時20 バックアップは/ etc ディレクトリ内のすべてのファイル、名前は、今日の日付で、圧縮ファイルとしてファイルを保存します

crontabの-e ()

crontabの-20 2 * * * /root/xxx.sh

Vimのxxx.sh

       #!/ binに/ bashの

CJvfタール/ VAR / DATE + `%F`.xzの/ etc / 
chmodの+ X xxx.sh(ファイルへのアクセス許可を実行する追加)

システムクロックとハードウェアクロックを同期する方法

CAL コマンド:ビューの現在の月

$エコーは?(変数、その変数は、コマンドの実行状態格納するために使用される0は成功を示し、1〜255の障害状況のため)

一般的なエラー状態  :127は、コマンドがないことを示しています

                           2表示文件或目录不存在

                           13表示没有权限

在程序执行中,我们可以使用exit来手动指定放回的状态码,return是函数中指定的返回码

[$? -eq 0] && exit 0 || exit 1

④命令快捷键:

快捷键

功能

Tab

补全命令或路径(不能补全时代表命令或路径有错)

Ctrl+d

退出当前用户环境,相当于exitlogout

Ctrl+l(小写的L

清屏(clear

Ctrl+c

终止,强行结束当前命令

Ctrl+Shift+cCtrl insert

Ssh客户端里secureCRT里复制命令

Ctrl+Shift+vShifl insert

Ssh客户端里secureCRT粘贴复制的命令

Ctrl+a

使光标到命令的最开头

Ctrl+e

使光标到命令的结尾

Ctrl+u

剪切光标之前的命令

Ctrl+k

剪切光标之后的命令

Ctrl+r

进入一个交互式界面,根据输入的字符串搜索最近一次使用的命令

Ctrl+s

挂起系统

Ctrl+q

解除挂起

Ctrl+w

以空格为分隔符,去删除文件

 

⑤alias:别名

Alias cdnet=’cd /etc/sysconfig/network-scripts’  //这种方法定义alias只能在当前shell生效

/etc/profile(定义环境变量(所有用户))EXPORT(用来导入环境变量)

/etc/bashrc(定义本地变量(所有用户))

~/.bash_profile(定义环境变量(指定用户))

~/.bashrc(定义本地变量(指定用户))

区别:定义别名永久生效:将别名放在/etc/profile(全局生效)而~/.bashrc(当前用户生效)

/etc/profile文件中手动加入环境变量后:要敲Sources /etc/profile  或者 . /etc/profile命令

⑥文件通配符:

(文件通配符不是正则表达式)

?  任意单个字符

*  任意长度的任意字符

[ ]  指定范围内的任意一个字符

[^] 指定范围内以外的任意一个字节

例:[^0-9A-Za-z]

指定字符类:

[:alnum:]:英文大小写字符以及数字。即A-Z a-z 0-9

[:alpha:]:英文大小写字符,即A-Z a-z

[:cntrl:]:键盘的控制按键

[:digit:]:数字,即0-9

[:graph:]:除去空格符(空格符和Tab键)外的其他所有符号  

[:lower:]:代表小写字符,即a-z  

[:print:]:任何可以被打印出来的字样  

[:punch:]:标点符号  

[;space;]:空白符(代表两个中括号)  

[;upper;]:大写字符,即A-Z  

[;xdigit;]16进制的数字类型,0-9 A-F a-f的数字与字符

 

正则表达式:^  以....开头

 

^[[:space:]]*$ (有空格键的空行)

 

おすすめ

転載: www.cnblogs.com/cqyyyyy/p/11311097.html