ホームページ  >  記事  >  運用・保守  >  Linux の運用とメンテナンスに関する基本的な知識を共有する

Linux の運用とメンテナンスに関する基本的な知識を共有する

零下一度
零下一度オリジナル
2017-06-27 10:10:322293ブラウズ
1. 基本的なコマンドを確認します
3. 変数
5. 条件判定
6.
1. 基本的なコマンドを確認します
shutdown --シャットダウン/再起動
exit --現在のシェルを終了します
rmdir --空のディレクトリを削除します
du --ディレクトリが占有しているストレージスペースを確認します
df - -何がマウントされているかを確認します ファイルシステムのスペース使用量を確認します
ln -- リンクを作成します
cat -- ファイルの内容をすべて表示します
head -- ファイルの先頭を表示します
tail -- 表示しますファイルの末尾
less -- 画面分割 / ページングでファイル内容を表示
dirname -- ディレクトリを取り出します
Basename -- ファイル名を取り出します
history -- 履歴コマンド
1, ln
# ln -s [target] [source-- ソフトリンク(シンボリックリンク)を作成します
# ln [target] [source] -- ハードリンクを作成します
2, cat
concatinate, の内容を連結しますファイルを順番に出力し、標準出力に出力します。現時点では、単純にファイルの内容を表示すると理解すれば十分です
# cat f1 -- ファイル f1 の内容を画面に表示します
# cat -n f1 -- ファイルの内容を表示し、追加します行番号
# cat -A f1 -- 目に見えない文字と位置マークを出力します
3, head
ファイルの先頭を読み取ります
# head -n 3 /etc/passwd -- を読み取りますファイルの最初の 3 行
# head -n -3 /etc/passwd -- ファイルを読み取るとき、ファイルの最後の 3 行を破棄します。
# head -c 3 /etc/passwd -- ファイルの最初の 3 バイトを読み取ります
# head -c 10m /dev/zero > f1 -- 10M ファイルを作成します
4, tail
ファイルの末尾を読み取ります
# tail -n 3 /etc/passwd -- の後ろを読み取りますファイル 3 行
# tail -c 3 /etc/passwd -- ファイルの最後の 3 バイトを読み取ります
# tail -n +28 /etc/passwd -- ファイルの 28 行目から最後まで読み取ります すべて行
# tail -f /etc/passwd -- ファイルの末尾の内容の変更を追跡します。一般的に、ログ ファイルの変更を観察するために使用されます
5、history
# set -o History -- コマンド履歴を有効にします。デフォルトで記録される関数 ~/.bash_history ファイル内
# set +o History -- コマンド履歴関数をオフにする
# History -- 最新 n 個の履歴コマンドを表示
注: 次の 3 つの変数が使用されますコマンド履歴の数を制御し、タイムスタンプを記録するかどうか
# vim /etc/bashrc --通常はこのファイルで構成されますが、ユーザーレベルは ~/.bashrc で構成できます
HISTSIZE=1000000 --レコードの数最大で保存できます
HISTFILESIZE=2000000 -- コマンド履歴ファイルの最大サイズ
HISTTIMEFORMAT='[%Y-%m-%d %H:%M:%S] ' --コマンド履歴ファイルのタイムスタンプ形式コマンドhistory
export HISTSIZE HISTFILESIZE HISTTIMEFORMAT --環境変数として定義します
2. スクリプトの実行方法
# vim test.sh #! /bin/bash
echo 'hello world'
#bash test.sh
# bash -x test.sh --スクリプト実行プロセスに関する情報を表示します
# sh test.sh
# ソース test.sh
# . test.sh
--上記も非標準の実行スクリプトであり、スクリプト ファイルには実行権限は必要ありません。以下は標準の実行です:
# head -n 1 test.sh
#!/bin/bash
# chmod a+x test .sh
# ./test.sh
スクリプトをPATHパスに直接配置し、コマンドとして直接実行できます
注: シェルは#で始まる必要があります!、シャバンと発音されます。この 2 つの文字は、ファイルの種類を識別するために使用されます。#! は、このファイルの内容が指定された インタープリターによって解釈されることをシステムに伝えるために使用されます。現在のファイルを解釈するために使用されるプログラムに解釈されます。 sha-bang 行が指定されていない場合、現在のシェルは sha-bang 行を推測しますが、結果が期待と一致するかどうかは保証されないため、明示的に指定することをお勧めします。 ./test.sh の実行プロセス:
1. カーネルはスクリプトを読み取り、ファイル タイプ マークを確認し、解釈パスを取得します。
3.インタープリターの実行 その後、スクリプト ファイルを開いてその実行について説明します。 #!/bin/bash; #!/bin/perl; /sed ;#!/bin/awk
2. 四則演算子
+ - * /
$(()) $[] expr let
# echo $((38% 5) ) --余りを取る
# echo $[38/5] --商を求める# echo $((10**2)) --10の2乗
2.1, expr
# expr 14 % 9 --余りを求めます
# expr 34 / 9 --商を求めます# expr 30 * 3 --乗算記号を使用する場合、その特定の意味はバックスラッシュでマスクする必要があります
# expr Index "sarasara" a -- 最初の文字列が出現する位置を取得します
# expr substr "this is a test" 3 5 -- 文字列を取得します
# expr length "this is a test" -- を計算します文字列の長さ
2.2. let
let 計算ツールは、変数計算で変数を表すために $ を追加する必要はありません。式にスペースやその他の特殊文字が含まれる場合は、引用符で囲む必要があります
# no=20
# let no++ --increase
# let no-- --decrease
# let no+=10 --increase 10
# let no=no+10 -- 上記と同じ
# let no-=15 --decrement by 15
# let a=5+4 -- a を変更するときに $ 記号を追加する必要はありません
# echo $a
3. シェル設定ファイル
/ etc/ profile -- グローバル設定ファイル
/etc/bashrc -- グローバル設定ファイル、一般に環境の変更を定義するために使用されます
~/.bash_profile -- ユーザー設定ファイル
~/.bashrc -- ユーザー設定ファイル
~/.bash_logout -- ユーザー設定ファイル。ログインシェルの終了時に読み込まれます
4. シェルの種類
シェルの起動方法の違いにより、シェルは大きく以下に分けられます。タイプ:
ログインシェル -- su - などのテキストインターフェースでログインします。シェル設定ファイルを読み取る順序は次のとおりです:
/etc/profile——~/.bash_profile——~/ .bashrc——/etc/bashrc
対話型シェル -- gnome-terminal のデフォルトのシェルは、シェル設定ファイルを読み取る順序は次のとおりです:
~/.bashrc ——/etc/bashrc
非対話型シェル -- スクリプトの実行に使用されるシェル
4.1. ~/.bashrc に変数 v を設定します。変数は対話型シェルにのみ表示される必要があります
# vim ~/.bash_profile --シェルがシェルにログインしているかどうかを識別します
LOGINSHELL=1
# vim ~/ .bashrc --変数はシェルにログインしていない場合にのみ設定されます
if [ "$LOGINSHELL" != 1 ]; then
v="対話型シェルのみ"
fi
5. コマンドの優先順位
エイリアス > 外部コマンド
6. シェルの特殊文字
シェルの場合、一部の文字は独自の意味に加えて特別な意味を持ちます。特殊な文字を文字列に含める場合は、メソッドを使用して特殊な意味を削除する必要があります。特殊文字。以下にいくつかの特殊文字を示します:
~ -- 引用符で囲まれていない場合、シェルによってホーム ディレクトリに置き換えられます
& -- プログラムをバックグラウンドで実行します
$ - -ドル文字、パラメータ展開に使用可能
${} --変数の内容に対する置換、削除、抽出などの操作が可能な変数処理
* --アスタリスク、ワイルドカード、すべてに一致文字
? - - 疑問符、ワイルドカード、任意の文字と一致
() -- コマンド グループ
{} -- コマンド グループ
"" -- 二重引用符、引用符。ほとんどの特殊文字を削除できます $;`;!;
'' を除く特別な意味 -- 一重引用符、引用符自体を除くすべての特殊文字の特別な意味を削除できます。
--source コマンドと同等。ディレクトリ名に使用する場合は、現在のディレクトリを表します
- -バックスラッシュを使用できます。単一文字の特別な意味を削除します。いわゆる「エスケープ」です。改行文字 (n)
`` -- などの特殊文字を表すためにも使用できます。バッククォート、コマンド実行優先順位、および $() の意味 入れ子がある場合は、` 記号
$(()) と $[] --operator
: -- は使用できません。空のコマンド
; --コマンド分割; 前のコマンドの実行結果を考慮しません
;; --case オプションの終了文字
&& -- 論理 AND はコマンドを分割できますが、前のコマンドの結果を考慮する必要があります
|| -- 論理和。前のコマンドの実行結果を考慮する必要はありません。 ----------------------------------------------------
#エコー ' hello world; ' "hello world;" -- スペースを削除するという特別な意味を満たすために 3 種類の参照を使用します
3. 変数
現在のユーザー; 現在のプロセスに対して有効ですが、現在のプロセスの他のプロセスまたはサブプロセスは無効です
# a=123
# echo $a
# unset a --変更された定義をキャンセルします
2.変数
現在のプロセスは有効であり、子プロセス呼び出しにすることができます
# env -- 現在のシステムのすべての環境変数を表示します
# set -- 現在のシステムのすべての環境変数と一時変数を表示します
# echo $PATH -- PATH 変数の内容を表示します
# export hi=hello -- 環境変数を定義します。作業中は、すぐに使用できる環境の変更を ~/.bash_profile に書き込むのが一般的です
共通の環境変数:
PATH -- コマンドの検索に影響します
PS1 -- コマンドプロンプト
TMOUT --タイムアウト時間、単位は S、時間が経過すると、対話型シェルは自動的に終了します。読み取り専用変数として設定するのが最善です# destroy -r TMOUT=60
HISTSIZE, HISTFILESIZE, HISTTIMEFORMAT --コマンド履歴
3. システム変数
は bash に組み込まれた変数とも呼ばれます。シェル自体によって修正されたいくつかの変数
$# -- スクリプトの後のパラメータの数
$* -- スクリプトの後のすべての変数 パラメータ (二重引用符で囲まれている場合、文字列として出力されます) )
$@ -- スクリプトの末尾のすべてのパラメータ (二重引用符で囲まれている場合、各パラメータの境界は保持されます)
$? -- 前のコマンドの実行後に返されます Status
$$ - - 現在のプロセスのプロセス番号
$! -- バックグラウンドで実行されている最後のプロセス番号
!$ -- 最後のコマンドまたはパラメータ
!! -- 最後のコマンドの履歴
$0 -- 現在のプログラムのプログラム名またはプロセス
$1 ~$n -- 位置パラメータ変数
#!/bin/bash
echo "$0 = $0"
echo "$# = $#"
echo "$* = $*"
echo "$1 = $2"
echo "$7 = $7"
echo "$11 = ${11}"
# chmod a+x test.sh
# ./test.sh a b c
4.
a. デフォルトでは、変数タイプの要件はありません。変数には任意の値を割り当てることができますが、等号の両側にスペースを入れることはできません
b. 変数名は大文字と小文字が区別されます
c. 変数名は数字や特殊記号で始めることはできません
d.コマンドの実行結果を変数
に渡す5. 変数
# a=$(hostname)
# A=123456789
# echo $A
# echo ${A:2:3}
6. 配列
配列の定義: 配列を定義するには括弧を使用し、括弧内の要素はスペースで区切ります
# array[0]=var1
# array[1]=var2
# array [2]=var3
# array=(var1 var2 var3) -- 上記の 3 行と同じで、配列を定義します
# echo ${array[0]} -- 配列の最初の値を取得します
# echo ${array[*]} -- 配列の値をすべて取得します
# echo ${array[@]} -- 上記と同じ
7. 宣言は型付き変数を定義します
-i -- 変数を整数として扱います
-r -- 読み取り専用変数を定義します
-x -- 変数を環境変数にエクスポートします
-a -- 変数を整数として扱います配列
8. 変数を対話的に読み取ります
-p --プロンプトメッセージ
-n --文字数
-t --timeout
-s --表示されません
4.エイリアス
コマンドのエイリアスは、名前が示すように、コマンドを別の名前で実行できることを意味します。これは通常、コマンド入力を簡素化するため、コマンドにいくつかのパラメータを追加するため、または単にコマンドに複数のアクセス名を追加するために使用されます。
# alias cp mv rm -- 3 つのコマンド cp、mv、rm がエイリアスであるかどうかを確認します
# unalias rm -- エイリアス rm を削除します
# alias cdyum='cd /data/yum' -- 入力を簡略化します
# alias rm='rm -i' -- コマンドにパラメータを追加します
-- 通常、エイリアスは設定ファイル ~/.bashrc に設定されます
1 エイリアス、関数、内部コマンドの優先順位を確認します。 、および外部コマンド レベル
# alias pwd='echo it is an alias' -- pwd エイリアスを作成します
# function pwd() { echo "this is a function" } -- pwd 関数を作成します
; # pwd -- pwd を実行すると、出力がエイリアスであることがわかります
# unalias pwd -- エイリアスを削除し、pwd を再度実行すると、出力が関数 content であることがわかります
# unset pwd -- 関数を削除して、pwd を実行しますもう一度現在のパスを出力します
ので、:Alias>Function>Internal command> external command
5. 条件判定
# vim test
--------------- -------------------- ---
if [条件];then
コマンド...
fi
----------------------
if [条件];then
コマンド...
else
コマンド...
fi
---------------------
if [条件1];then
command1...
elif [条件2];then
command2...
else
command3...
fi
----------------------
if [条件1]; then
command1...
if [条件2];then
command2...
fi
else
if [条件3];then
command3...
elif[条件4] ; then
command4 ...
else
command5 ...
Fi
fi
テスト == [審査員]
🎜🎜 🎜1、ファイルの有無の判定🎜🎜🎜# vim test.sh🎜🎜#!/bin/bash🎜
if テスト -e $1;then -- 存在するかどうか また -p;-c;-b;-L
if [ -f $1 ];then -- 置き換えるには [判定] を使用します
if test -f $1;then -- 存在し、通常のファイルであるかどうか
if test -d $1;then -- 存在し、ディレクトリであるかどうか
if test -S $1;then -- ソケットファイルが存在するかどうかと
echo 'YES'
fi
# chmod a+x test.sh
# ./test.sh [path]
2に関する判定。ファイル権限
-r;-w;-x -- 読み取り、書き込み、実行権限の有無
-u -- suid の有無
-g -- sgid の有無
-k - -t ビットがあるかどうか
-s --それが空のファイルであるかどうか、-s は空ではないことを意味します。 -s 空のファイル
3. 文字列判定
= --等号の両側にスペースがなければなりません: ==
!= --If等しくなく、trueです
- z String - 文字列の長さがゼロの場合はtrue
-n String - 文字列の長さがゼロでない場合はtrue
if test $num1 = $num2; then
if [ $num1 = $num2 ];then
if [ -n $num1 ];then
4. 数値判定
-eq --等しい場合は真です
-ne -- 等しくない場合、true
-gt -- より大きい場合、true
-ge -- 以上の場合、true
-lt --以下の場合は true
-le --以下の場合は true
if test $[num1] -eq $[num2];then
if [ $[num1] -eq $[num2] ];then
5、論理判断
-aと&& --論理 AND
-o および || --論理 OR
! --Not
優先順位: AND>or>Not
if test -e $1 -o -e $2;then -- 決定ファイルが存在するかどうか
if [ -e $1 -o -e $2 ];then -- 上記と同じ
if test ! -e $1 -o ! 2;then -- 同時に 2 つのファイルが存在しないと判断します
if [ ! -e
$1 -o ! -e $2 ];then -- 上記と同じです

以上がLinux の運用とメンテナンスに関する基本的な知識を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。