2018.4.24週5回目(shell特殊記号、cut切り取りなどのコマンド)
5828 ワード
shell特殊記号_Cutコマンド
Cutコマンドの使い方は次の通りです.
[root@localhost do]# cat/etc/passwd |head -2root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin[root@localhost do]# cat/etc/passwd |head -2 |cut -d ':' -f 1rootbin[root@localhost do]# cat/etc/passwd |head -2 |cut -d ':' -f 1,2root:xbin:x[root@localhost do]# cat/etc/passwd |head -2 |cut -d ':' -f 1-3root:x:0bin:x:1
cat passwdこのファイルはheadが最初の2行だけを表示し、cut-dが分割記号「:」、-f 1が最初のセグメントを切り取り、1,2が前の2つのセグメントを表し、1-3が最初の3つのセグメントを表す.
sortソート_wc統計行数_Uniq重複行の削除
sortコマンドの紹介例:sortにオプションが追加されていない場合、彼はデフォルトの昇順出力であり、passwdプロファイルの最初の5行にどのような違いがあるかを仮定します.
[root@localhost//]#head-n 5/etc/passwd|sort#passwdの最初の5行を表示し、sort(ソート)に出力して実行し、デフォルトの昇順でソートします.adm:x:3:4:adm:/var/adm:/sbin/nologinbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinroot:x:0:0:root:/root:/bin/bash
例2:passwdプロファイルの最初の10行を3に書く.txtは、いくつかの特殊な記号の数字を加えてソートします.
図に示すように,sortを用いてソートを行い,数値ソート−n[root@localhost do]# sort -n 3.txt#-nは正の順序を表し、特殊記号およびアルファベットは0を表す最初の図に示すように、-rは逆の順序を見てみよう[root@localhost do]# sort -r 3.txt#-rは逆シーケンスを表す
wcコマンドの紹介、統計に使用の具体的な操作は以下の通りです.
[root@localhostdo]#wc/etc/passwd#このドキュメントの行数、語数および字数を表示する19 27 846/etc/passwd[root@localhostdo]#wc-l/etc/passwd#統計行数19/etc/passwd[root@localhostdo]#wc-m/etc/passwd#統計文字数846/etc/passwd[root@localhostdo]#wc-w/etc/passwd#統計行数27/etc/passwd
コマンドuniq重複行の削除ファイルを作成します.例は次のとおりです.
[root@localhost do]# touch 4.txt#テキストを作成[root@localhost do]# vi 4.txt#編集内容111222333111
uniqを使用する前に、ファイルのソートに捧げなければなりません.そうしないと、使用できません.例は次のとおりです.
[root@localhost do]# cat 4.txt#中身を見る111222333111[root@localhost do]# uniq 4.txt#テストしてみてソートしないで役に立ちますか、役に立たない111222333111[root@localhost do]# sort 4.txt|uniq#sortソート4.txtファイル、uniqに出力重複行111222333を削除[root@localhost do]# sort 4.txt|uniq-c#統計重複する行があり、どれだけ2 1111 2212 333あるか
コマンドtee、リダイレクトしてコンテンツを表示の具体的な操作は以下の通りです.
[root@localhost do]# touch 1.txt#テキストを作成[root@localhost do]# echo "1321asd123"| tee 1.txt#echoの内容をパイプシンボルを介してteeコマンドに出力.txtファイルで、結果が画面に表示されます.1321asd123
コマンドtr、文字の置換ファイルの小さいlを仮定して、大きいLに変えます
[root@localhost do]# echo "linux"> 1.txt [root@localhost do]# cat 1.txt linux[root@localhostdo]#echo"linux"|tr'[l]''[L]'#前の小さなlをLLinuxに変更
コマンドsplit、ドキュメントの切断まず1つの内容を検索して、しかもすべての内容catが出てきて、追加して1つのファイルにリダイレクトします
[root@localhost/]# find/etc/-type f -name "*conf"-exec cat {} >>/tmp/do/1.txt\;#find検索/etc/の下のファイル名はconfの最後のファイルに聞いて、cat{}は表示した内容を見て、1に追加します.txtファイルにあります.[root@localhost/]# du -sh/tmp/do/1.txt#このファイルのサイズ212 K/tmp/do/1を表示します.txt
例1:このファイルは212 Kあります.指定したサイズを100 Kにカットしてみます.例は次のとおりです.
ここで、-bは100 Kを帯下することを指定し、単位を加えないデフォルトはバイトで表示されます.
例2:宛先ファイル名123から始まるファイルを指定します.
#xの先頭のファイルは、例1の結果であり、彼を見る必要はなく、123の先頭のファイルを見て、対比を形成する.
shell特殊記号
特殊記号$記号$は、変数の前の識別子として使用することができ、および!組み合わせて使用する例は、 です.
[root@localhost do]# [root@localhost do]# ls/tmp/do/123aa 1.txt 2.txt 3.txt 4.txt a.txt xaa xab xac[root@localhost do]# !lsls/tmp/do/123aa 1.txt 2.txt 3.txt 4.txt a.txt xaa xab xac!$前のコマンドの最後のパラメータを表します.
特殊記号 1 1行で2つ以上のコマンドを実行するには、コマンド間に記号を付ける必要があります.例は次のとおりです.
[root@localhost dior1]# mkdir 123 ; touch 1.txt ; touch 2.txt ; ls123 1.txt 2.txtは上記の意味で、ディレクトリを作成し、2つのファイルを作成し、最後にlsが実行を表示します.
特殊記号~符号~はユーザのホームディレクトリを表し、rootユーザのホームディレクトリは/root、一般ユーザは/home/username である.
特殊記号&バックグラウンドにコマンドを配置して実行する場合は、シンボル&を付ける必要があります.通常、コマンドの実行時間が長い場合、sleep(スリープ)で使用できます.例は次のとおりです.
[root@localhost ~]# sleep 30 & [1] 40966[root@localhost~]#jobs[1]+運転中sleep 30&
リダイレクト記号>、>>、2>、&>の使い方
中かっこ[]の括弧内は文字の組合せであり、文字の組合せのいずれかを表す.範囲を指定します.(前章で述べた) 特殊記号&&とで使用する場合は、2つのコマンドを分割すると、1つ目の実行が成功すると、2つ目のコマンドは実行されず、1つ目のコマンドが間違っていると、実行に失敗して2つ目のコマンドが実行されることを意味します.
例1は、両方のコマンドが正しいとする[root@localhost do]# ls 1.txt || wc -l 2.txt 1.txt
例2:1番目のコマンドが間違っていて、2番目のコマンドが正しいと仮定すると、2番目のコマンドが実行されます[root@localhost do]# ls 111111.txt || wc -l 2.txt#ここには1のtxtファイルlsが1列もない:111111にアクセスできない.txt:そのファイルやディレクトリ0 2がない.txt使用&&は、前のコマンドが成功した後に、後のコマンドが実行されることを示し、前のコマンドが成功しなければ、後のコマンドは実行されません.&&分割で、判断に使います.
例1では、両方のコマンドが正しい場合[root@localhost do]# ls 1.txt && wc -l 2.txt#ok、ここで2つのコマンドが有効になります.txt0 2.txt
例2では、最初のコマンドが失敗した場合、後のコマンドは実行されません.[root@localhost do]# ls 111.txt && wc -l 2.txt ls:111にアクセスできません.txt:そのファイルやディレクトリがありません
一般的な特殊記号の紹介
転載先:https://blog.51cto.com/13646023/2105592
:cut
:cut -d ' ' [-cf] n, n , :
- d ,
- c
- f
Cutコマンドの使い方は次の通りです.
[root@localhost do]# cat/etc/passwd |head -2root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin[root@localhost do]# cat/etc/passwd |head -2 |cut -d ':' -f 1rootbin[root@localhost do]# cat/etc/passwd |head -2 |cut -d ':' -f 1,2root:xbin:x[root@localhost do]# cat/etc/passwd |head -2 |cut -d ':' -f 1-3root:x:0bin:x:1
cat passwdこのファイルはheadが最初の2行だけを表示し、cut-dが分割記号「:」、-f 1が最初のセグメントを切り取り、1,2が前の2つのセグメントを表し、1-3が最初の3つのセグメントを表す.
sortソート_wc統計行数_Uniq重複行の削除
sortコマンドの紹介
sort
:sort [-t ] [-kn1,n2] [-nru]
-n1 n2 , :
-t , cut -d , ;
-n , 0;
-r ;
-u ;
-kn1,n2 n1 n2 , -kn1, n1 。
[root@localhost//]#head-n 5/etc/passwd|sort#passwdの最初の5行を表示し、sort(ソート)に出力して実行し、デフォルトの昇順でソートします.adm:x:3:4:adm:/var/adm:/sbin/nologinbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinroot:x:0:0:root:/root:/bin/bash
例2:passwdプロファイルの最初の10行を3に書く.txtは、いくつかの特殊な記号の数字を加えてソートします.
図に示すように,sortを用いてソートを行い,数値ソート−n[root@localhost do]# sort -n 3.txt#-nは正の順序を表し、特殊記号およびアルファベットは0を表す最初の図に示すように、-rは逆の順序を見てみよう[root@localhost do]# sort -r 3.txt#-rは逆シーケンスを表す
wcコマンドの紹介、統計に使用
:wc , 。
:
-l
-m
-w ,
[root@localhostdo]#wc/etc/passwd#このドキュメントの行数、語数および字数を表示する19 27 846/etc/passwd[root@localhostdo]#wc-l/etc/passwd#統計行数19/etc/passwd[root@localhostdo]#wc-m/etc/passwd#統計文字数846/etc/passwd[root@localhostdo]#wc-w/etc/passwd#統計行数27/etc/passwd
コマンドuniq重複行の削除
:uniq , -c ;
, 。
[root@localhost do]# touch 4.txt#テキストを作成[root@localhost do]# vi 4.txt#編集内容111222333111
[root@localhost do]# cat 4.txt#中身を見る111222333111[root@localhost do]# uniq 4.txt#テストしてみてソートしないで役に立ちますか、役に立たない111222333111[root@localhost do]# sort 4.txt|uniq#sortソート4.txtファイル、uniqに出力重複行111222333を削除[root@localhost do]# sort 4.txt|uniq-c#統計重複する行があり、どれだけ2 1111 2212 333あるか
コマンドtee、リダイレクトしてコンテンツを表示
tee , >, ;
echo , “|” tee 。
[root@localhost do]# touch 1.txt#テキストを作成[root@localhost do]# echo "1321asd123"| tee 1.txt#echoの内容をパイプシンボルを介してteeコマンドに出力.txtファイルで、結果が画面に表示されます.1321asd123
コマンドtr、文字の置換
tr , ;
DOS ^M, :
-d , ;
-s 。
[root@localhost do]# echo "linux"> 1.txt [root@localhost do]# cat 1.txt linux[root@localhostdo]#echo"linux"|tr'[l]''[L]'#前の小さなlをLLinuxに変更
コマンドsplit、ドキュメントの切断
split , -b -l
-b , byte( )
-l
[root@localhost/]# find/etc/-type f -name "*conf"-exec cat {} >>/tmp/do/1.txt\;#find検索/etc/の下のファイル名はconfの最後のファイルに聞いて、cat{}は表示した内容を見て、1に追加します.txtファイルにあります.[root@localhost/]# du -sh/tmp/do/1.txt#このファイルのサイズ212 K/tmp/do/1を表示します.txt
ここで、-bは100 Kを帯下することを指定し、単位を加えないデフォルトはバイトで表示されます.
#xの先頭のファイルは、例1の結果であり、彼を見る必要はなく、123の先頭のファイルを見て、対比を形成する.
shell特殊記号
,
特殊記号$
[root@localhost do]# [root@localhost do]# ls/tmp/do/123aa 1.txt 2.txt 3.txt 4.txt a.txt xaa xab xac[root@localhost do]# !lsls/tmp/do/123aa 1.txt 2.txt 3.txt 4.txt a.txt xaa xab xac!$前のコマンドの最後のパラメータを表します.
特殊記号
[root@localhost dior1]# mkdir 123 ; touch 1.txt ; touch 2.txt ; ls123 1.txt 2.txtは上記の意味で、ディレクトリを作成し、2つのファイルを作成し、最後にlsが実行を表示します.
特殊記号~
特殊記号&
[root@localhost ~]# sleep 30 & [1] 40966[root@localhost~]#jobs[1]+運転中sleep 30&
リダイレクト記号>、>>、2>、&>の使い方
:>、>> (>) (>>) ;
, ;
, 2> 2>>;
。
&>
中かっこ[]
例1は、両方のコマンドが正しいとする[root@localhost do]# ls 1.txt || wc -l 2.txt 1.txt
例2:1番目のコマンドが間違っていて、2番目のコマンドが正しいと仮定すると、2番目のコマンドが実行されます[root@localhost do]# ls 111111.txt || wc -l 2.txt#ここには1のtxtファイルlsが1列もない:111111にアクセスできない.txt:そのファイルやディレクトリ0 2がない.txt
例1では、両方のコマンドが正しい場合[root@localhost do]# ls 1.txt && wc -l 2.txt#ok、ここで2つのコマンドが有効になります.txt0 2.txt
例2では、最初のコマンドが失敗した場合、後のコマンドは実行されません.[root@localhost do]# ls 111.txt && wc -l 2.txt ls:111にアクセスできません.txt:そのファイルやディレクトリがありません
一般的な特殊記号の紹介
*
?
#
\
|
転載先:https://blog.51cto.com/13646023/2105592