シェルは、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 |
退出当前用户环境,相当于exit,logout |
Ctrl+l(小写的L) |
清屏(clear) |
Ctrl+c |
终止,强行结束当前命令 |
Ctrl+Shift+c(Ctrl insert) |
Ssh客户端里secureCRT里复制命令 |
Ctrl+Shift+v(Shifl 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:]]*$ (有空格键的空行)