Linuxの特殊記号と正規表現


第1章linuxの特殊記号
1.1ワイルドカード*{}
1.1.1意味
ファイルのワイルドカードを探しやすいのはファイル名を探すためです。
1.1.2  *
findコマンドで.shで終わるファイルを探して、*を使ってファイル名を変えます。

find /oldboy -type f -name "*.sh" -mtime +7 -size +100k -size -10M
ファイル名には、oldboyバイトのファイルが含まれています。

[root@znix 20170118]# find -type f -name "*oldboy*"
[root@znix 20170118]# ls -l *oldboy*
1.1.3  {}
{}シーケンスを生成するために使用します。

[root@znix 20170118]# echo oldboy{1..3}.txt
oldboy1.txt oldboy2.txt oldboy3.txt
[root@znix 20170118]# echo {a,c,d,f}
a c d f
echo{a.z}{A.Z}の間にスペースが必要で、二つの無関係なシーケンスを表します。

[root@znix 20170118]# echo {a..z} {A..Z}
a b c d e f g h_i j k l m_o p q_s t u_w_z_A_B_C_D_E_H_I J_L_M_O_P_T_U_V_X Z
ルール順のシーケンス{スタート.終了.間隔}を生成します。

[root@znix ~]# echo {1..10..3}
1 4 7 10
一つのファイルをバックアップするときに使う

[root@znix ~]# cp oldboy.txt{,.bak}
[root@znix ~]# ll oldboy*
-rw-r--r-- 3 root root 241 Aug 30 11:40 oldboy.txt
-rw-r--r-- 1 root root 241 Aug 31 09:38 oldboy.txt.bak
1.2特殊符号
1.2.1特殊記号
>  標準出力のリダイレクトは、まず内容をクリアしてからファイルに他のものを入れます。
>>標準的にリダイレクトを追加してファイルに内容を追加します。
<>  標準入力    xargs
<<追加入力    cat>/oldboy.txt<..。  現在のディレクトリ/linuxの下の隠しファイル
現在のユーザの上位ディレクトリ
~  現在のユーザのホームディレクトリ
を選択します。  ルートパスの分割記号
\  エイリアスを一時的にキャンセル
𞓜  パイプ

1)vimで強制
2)反find awkを取る
3)あなたが使った命令を使って履歴コマンドを使うことを示します。
       !履歴コマンドが見られます。   ヒットマンコマンド
       !ls   ===== history grep ls

[root@znix ~]# history
同前   コメント
$   変数の内容を取り出します。
前のコマンドが実行に成功して、後のコマンドを実行します。

  ifdown eth0 && ifup eth0
;   複数のコマンドを分けて同じ行に複数のコマンドを入れます。  

ls; pwd; hostname
1.2.2単引用符、二重引用符、引用符なし
''
何を食べて何を吐きますか

[root@znix ~]# echo '$LANG $(pwd) `hostname` {1..3}'
$LANG $(pwd) `hostname` {1..3}
「」
二重引用符の中の特殊な記号を解析します。

[root@znix ~]# echo "$LANG $(pwd) `hostname` {1..3}"
en_US.UTF-8 /root znix {1..3}
引用符をつけない

[root@znix ~]# echo $LANG $(pwd) `hostname` {1..3}
en_US.UTF-8 /root znix 1 2 3
`  `
アンチクォーテーションを先に実行して、結果を$()の役割と同じに残します。

[root@znix ~]# du -sh  `find -type d`
764 K    .
第2章正規表現
2.1何が正則ですか
特殊記号はテキストを表します。
^      冒頭
[0-9]  数字
2.2作用
能率を上げて手間を省く
2.3分類
2.3.1基礎正規表現

^ $  ^$ . * .* [0-9] [^0-9]
2.3.2拡張正規表現
𞓜  ()  +   {}  ? 
2.4正規表現とワイルドカードの違い
1、ワイルドカードはファイルを探すために使います。
2、正規表現で使うファイルの内容、テキストを探します。
2.5基礎正規表現
2.5.1環境準備
cat-Aは行ごとに最後に$印をつけます。

[root@znix ~]# oldboy.txt
I am oldboy teacher!$
I teach linux.$
$
I like badminton ball ,billiard ball and chinese chess!$
my blog is http://oldboy.blog.51cto.com$
$
our site is http://www.etiantian.org$
$
my qq num is 49000448.$
$
not 4900000448.$
my god ,i am not oldbey,but OLDBOY!$
2.5.2 mで始まる行を探します。
^mはmで始まることを表します。^は何で始まるかを表します。

[root@znix ~]# grep "^m" oldboy.txt
my blog is http://oldboy.blog.51cto.com
my qq num is 49000448.
my god ,i am not oldbey,but OLDBOY!
2.5.3 mで終わる行の終点にある行$
m$はmで終わることを表します。

[root@znix ~]# grep "m$" oldboy.txt
my blog is http://oldboy.blog.51cto.com
2.5.4空行を表示し、行番号を付けます。
-n行番号を表示する
^$は最初と終わりの間に何もないもの、つまり空行を表します。

[root@znix ~]# grep -n "^$" oldboy.txt
3:
6:
8:
10:
2.2.5は任意の文字を表します。(点)
点は任意の文字を表し、oldb.yは点の位置を表しています。何でもいいです。

[root@znix ~]# grep "oldb.y" oldboy.txt
I am oldboy teacher!
my blog is http://oldboy.blog.51cto.com
my god ,i am not oldbey,but OLDBOY!
grep-oは、grep/egrep実行のプロセス(毎回見つかったもの)を示します。

[root@znix ~]# grep -o "." oldboy.txt
[root@znix ~]# grep -o "oldb.y" oldboy.txt
oldboy
oldboy
oldbey
2.2.6.6点で終わる行を見つけました。
意味を変える記号は、特殊な意味のものを除外します。
は点で終わることを表します。

[root@znix ~]# grep '\.$' oldboy.txt
I teach linux.
my qq num is 49000448.
not 4900000448.
2.2.7.7*前のテキストは0回以上連続して現れました。
0回連続で現れましたが、現れませんでした。
-o grepが見つかったプロセスを表示します。

[root@znix ~]# grep "0*" oldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
[root@znix ~]# grep -o "0*" oldboy.txt
000
00000
2.2.8.8正規表現の欲張り
どれぐらいの量がありますか?できるだけ多くマッチします。
2.2.2.2.9.*はすべてを表します。
すべての内容を表示します。一回で見つけます。

[root@znix ~]# grep -o ".*" oldboy.txt 
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
すべてを表す  連続すると貪欲さを表現します。

[root@znix ~]# grep "^.*m" oldboy.txt
I am oldboy teacher!
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
my qq num is 49000448.
my god ,i am not oldbey,but OLDBOY!
2.5.10[abc]の中かっこは一つの全体を表します。
aまたはbまたはcを表す記号に相当します。

[root@znix ~]# grep "[0-9]" oldboy.txt
[root@znix ~]# grep "[A-Z]" oldboy.txt
[root@znix ~]# grep "[a-z]" oldboy.txt
       テキストの大文字と小文字が見つかりました。

[root@znix ~]# grep "[a-zA-Z]" oldboy.txt
2.5.11 mまたはnまたはoで始まるものを探しています。  mまたはgの最後の行
..。       時計は何でもいいです。
^[m n o]mまたはnまたはoの先頭の
[mg]$m  またはg末尾

[root@znix ~]# grep "^[mno].*[mg]$" oldboy.txt
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
2.5.12[^abc]  aを除外するか、bを排除するか、cを排除するか。

[^abc]       a   b   c       
[root@znix ~]# grep "[^abc]" oldboy.txt
I am oldboy teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not oldbey,but OLDBOY!
2.5.13 grep -v    [^abc]
grep -v    
[^abc]       
第3章昨日の回顧(ファイル削除、起動自動起動)
3.1 linuxはどのようにサービス/スクリプトを起動させますか?
1)chkconfig
2)/etc/rc.local
3.1.1 chkconfigに管理されるにはどのような条件が必要ですか?
1)必ず/etc/init.d/に置くこと。
2)このスクリプトは実行権限が必要です。
3)chkconfig要求を加えた内容
〹chkconfig:2345 99
4)chkconfig--addスクリプトをブートに追加してから起動する。
5)検査
3.2/etc/rc.local

[root@znix ~]# ls -l /etc/rc3.d/ |grep rc.local
lrwxrwxrwx. 1 root root 11 Aug 10 18:36 S99local -> ../rc.local
3.3ディスク空間不足のspace left on device
1)blockは500 G 3*200 Gのビデオでいっぱいです。

 df -h
 du -sh /*
 du -sh /* |grep G
2)ブロックがいっぱいになったファイルはハードリンクを完全に削除されていません。プロセスの呼び出し数はゼロではありません。
チェック:lsof grep delete
3.4ファイルの削除原理(条件)
1、ハードリンク数は0
2、プロセス呼び出し数は0
ログ

/var/log/messages
/var/log/secure
rsyslog
3、inodeがいっぱいです
ファイルを作成するにはinodeと少なくとも一つのブロックを占有します。
大量の小さい文書
締め括りをつける
以上は、Linuxの中の特殊な記号と正規表現をご紹介しました。皆様のために何かご質問がありましたら、メッセージをください。編集はすぐにご返事します。ここでも私たちのサイトを応援してくれてありがとうございます。