Linuxシェルスクリプト基礎講座 前回の講座では基本的な文法、コメント、変数、環境変数について紹介しましたが、ここではシェルコマンドと制御処理の前半部分を紹介します。スクリプトと制御プロセスについては次の講義に譲りましょう。
1.1.5 シェルコマンドとプロセス制御
シェルスクリプトでは 3 種類のコマンドを使用できます:
1) Unix コマンド:
どの Unix コマンドもシェルスクリプトで使用できますが、比較的よく使用されるコマンドがいくつかあります。これらのコマンドは通常、ファイルおよびテキストの操作に使用されます。
一般的なコマンド構文と関数
echo "some text": 画面上にテキストコンテンツを印刷します
ls: ファイルリスト
wc –l filewc -w filewc -c file: ファイル内の行数を数え、単語数を数えますファイル内で、ファイル内の単語の数を数えます。 文字数
cp sourcefile destfile: ファイルのコピー
mv oldname newname: ファイルの名前を変更するか、ファイルを移動します
rm ファイル: ファイルを削除します
grep 'パターン' ファイル: 検索ファイル内の文字列の場合 例: grep 'searchstring' file.txt
Cut -bcolnum file: ファイルの内容を表示範囲を指定して標準出力装置に出力 例: 5文字目から9文字目までを出力します。各行のcut -b5-9 file.txt。catコマンドと混同しないでください。これらは2つの完全に異なるコマンドです。
cat file.txt: ファイルの内容を標準出力デバイス(画面)に出力します。
file somefile:ファイルの種類を取得します
read var: ユーザーに入力を求め、入力を変数に割り当てます
sort file .txt: file.txt ファイル内の行を並べ替えます
uniq: テキスト ファイルに表示される行と列を削除します。例: sort file.txt | uniq
expr: 算術演算を実行します。 例: add 2 および 3expr 2 "+" 3
find : ファイル名に基づいて検索します。 tee: データを標準出力デバイス (画面) およびファイルに出力します。次のようになります。 somecommand | tee outfile
basename file: パスなしでファイル名を返します。たとえば、basename /bin/tux は tux
dirname ファイルを返します。ファイルへのパス 例: dirname /bin/tux は /bin を返します
head file: テキスト ファイルの最初の数行を出力します
tail file: テキスト ファイルの最後の数行を出力します
sed: Sed は基本的な検索と置換プログラム。標準入力 (コマンド パイプなど) からテキストを読み取り、結果を標準出力 (画面) に出力できます。このコマンドは、正規表現 (「リファレンス」を参照) を使用して検索します。シェル内のワイルドカードと混同しないでください。例: linuxfocus を LinuxFocus に置き換えます: cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.fileawk: awk はテキスト ファイルからフィールドを抽出するために使用されます。デフォルトでは、フィールド区切り文字はスペースです。-F を使用して他の区切り文字を指定できます。
cat file.txt | awk -F, '{print $1 "," $3 }' ここでは、最初と 3 番目のフィールドを同時に出力するフィールド区切り文字として使用します。ファイルの内容が次の場合: Adam Bor、34 歳、インドKerry Miller、22 歳、米国、コマンド出力は次のようになります: Adam Bor、インドKerry Miller、米国
2) コンセプト: パイプライン、リダイレクト、バックティック
これらはシステム コマンドではありません、しかし、それらは本当に非常に重要です。
パイプ (|) は、あるコマンドの出力を別のコマンドの入力として受け取ります。
grep "hello" file.txt | wc -l
file.txt 内で "hello" を含む行を検索し、行数を数えます。
ここでは、 grep コマンドの出力が wc コマンドの入力として使用されます。もちろん複数のコマンドを使用することもできます。
リダイレクト: コマンドの結果を標準出力 (画面) ではなくファイルに出力します。
> ファイルに書き込み、古いファイルを上書きします
>> 古いファイルの内容を維持します。
バックスラッシュ
あるコマンドの出力を別のコマンドのコマンド ライン パラメーターとして使用するには、バックスラッシュを使用します。
コマンド:
find . -mtime -1 -type f -print
は、過去 24 時間以内に変更されたファイルを検索するために使用されます (-mtime –2 は過去 48 時間を意味します)。見つかったすべてのファイルを 1 つのパッケージにパッケージ化したい場合は、次のスクリプトを使用できます:
#!/bin/sh
# 目盛りは通常の引用符 (') ではなくバックティック (`) です:
tar -zcvf lastmod.tar。 gz `find . -mtime -1 -type f -print`
第2回目はここまでです。次回はLinuxシェルスクリプトの基礎について、引き続き制御処理についてお話します。
上記は、Linux シェル スクリプトの基礎学習の詳細な紹介です (2)。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。