;分号
連続してコマンドを実行する
# ifdown eth0;ifup eth0
| 管道
正規表現において「または」を表す
# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
前のコマンドの標準出力が後のコマンドの標準入力として扱われる
# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
&
コマンドをバックグラウンドで実行する
# mysqld_safe --user=mysql & 将MySQL放到后台启动
標準出力と標準エラー出力を表す
# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
&&
前のコマンドの戻り値が0の場合のみ、後のコマンドを実行する
# ls && echo "ok"
||
前のコマンドの戻り値が0以外の場合のみ、後のコマンドを実行する
# lls || echo "ok"
# 井号
#表示注释
$#位置パラメータの数を表す
# echo $# 0
${#变量名}変数の長さを表す
# a='hello'
# echo ${#a}
5
${#变量名[@]}配列の数を表す
# a=(1 2 3)
# echo ${#a[@]}
3
!惊叹号
コマンドまたは条件式の戻り値を反転させる
# if ! [ 1 -lt 2 ]; then echo 'ok'; else echo 'no'; fi ok
履歴コマンドを実行する
# history 1 ls 2 tail test1.txt 3 mysql -uroot -p123 4 ls /tmp/ 5 cd /tmp/ [root@localhost ~]# !994 ls /tmp/ account.sql data.sql mysql.sock t1.txt t2.txt
viまたはftp内で外部シェルコマンドを実行する
例:vimでコマンドを実行したい場合、末行モードで「!」の後に実行したいコマンドを入力する
変数を間接的に参照する
例:${!a} ---- bの値を間接的に取得する
$ ドル記号
変数の値を取得する
# a=10 # echo $a 10
正規表現で行末を表す
egrep ':$' /etc/inittab egrep ‘^hello$' file
> 大于号
输出重定向
echo '123' >test.txt 表示将123 输入到文件test.txt中条件テストにおける大なり記号
< 小于号
输入重定向
条件テストにおける小なり記号
= 等号
变量赋值- 例:変数a=10を設定する
条件テストにおける等号- 例:[ a=b ] は変数aがbに等しいかどうかを判定する
数値比較 ==- 例:(( a==20 )) は変数aが20に等しいかどうかを判定する
+ 加号
算術演算におけるプラス記号 - 例:1+3
正規表現で直前の文字が1個以上 - 例:ab+c はabとcの間に1個以上の文字がある場合に一致することを表す
>>
出力リダイレクトの追記- 例如:echo "123" >> test.txt 将123追加到文件test.txt中
<<
here document
例如:
# passwd <<end > 123 > 123 > end
ユーザーrootのパスワードを変更する。
- 减号
算術演算におけるマイナス記号 - 例:10-2
コマンドのオプション - 例:ls -l
前の作業ディレクトリ - 例:cd -
ワイルドカードと正規表現で範囲を表す - 例:[a-z]
tar -cvf - /home | tar -xvf -
出力ストリームまたは入力ストリームを表す
前の出力をパイプで後のコマンドに渡し、前で圧縮し、後で解凍する
'' 単一引用符(シングルクォート)
変数代入時のスペースの問題を解決する
例如:a='1 2'
シェルの置換を防ぐ
"" 二重引用符(ダブルクォート)
変数代入時のスペースの問題を解決する
例如:a="1 2"
シェルの一部の文字置換を防ぐが、$、!などには無効である
`` バッククォート $() に相当
命令行替换
例:変数a=`ls` と設定できる
% 百分号
算術演算における剰余演算
例:echo $((100%10)) は100を10で割った余りが0
viの置換操作で全行を表す(末行モードでは、全置換の前に%を付ける)
例:末行モードで :% s/D/d を入力すると、テキスト内のすべてのDをdに置換する
() 単一の丸括弧
子シェルでコマンドを実行すると、親シェルの変数を継承する
配列要素を囲む
例:配列を定義するa=(1 2 3 4)
(()) 二重丸括弧
算术运算
例如:echo $((10/2))結果は5
整数比較テスト
例如:(( 10>2 ))10が2より大きいかを判定する
[] 単一の角括弧
ワイルドカードと正規表現で、括弧内の任意の1文字に一致することを表す
例如:[abc]abcのうち任意の1文字に一致することを表す
条件テスト式
例如:[ -f /etc/passwd ]// ファイルかどうかをテストする
配列の添字括弧
例如:echo ${a[0]}配列の添字0の値を取得することを表す
[[]] 二重角括弧
文字列比較テスト
例:[[a=b]] は文字列の比較に使用する
. 英文のピリオド
正規表現において任意の1文字を表す
例:a...b はaとbの間に3文字挟まれた文字列に一致することを表す
現在のシェルでスクリプトコマンドを実行する
例:./test.sh 現在のパスにあるシェルスクリプトtest.shを実行する
現在のディレクトリを表す
例:cd ./bgk 現在のディレクトリのbgkディレクトリに入る
{} 波括弧(ブレース)
ワイルドカード展開 abc{1,2,3}
正規表現において範囲を表す
例:a{3} は3つのaにマッチする
for i in {1...10} で指定範囲をループする
匿名函数{ cmd1;cmd2;cmd3;} &> /dev/null
{ } 内のコマンドは、現在のシェルで実行される
注意:{ } 内では、最初のコマンドの前にスペースを入れ、後のコマンドにはセミコロンを付ける必要がある
括起变量名${abc}a
/ 正斜杠
算術演算における除算
例如:echo $((10/2))結果は5
ルートディレクトリまたはパス区切り記号
例如:cd /usr/local/表示路径
^
ワイルドカードにおいて否定を表す
例如:[^abc] abc以外の任意の1文字に一致することを表す
正規表現において何で始まるかを表す
例如:
egrep ‘^hello$' file