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

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

Jun 27, 2017 am 10:10 AM
basic shell

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 11 にクラシック シェルをインストールするにはどうすればよいですか? Windows 11 にクラシック シェルをインストールするにはどうすればよいですか? Apr 21, 2023 pm 09:13 PM

<p>オペレーティング システムをカスタマイズすることは、日常生活をより楽しくするための素晴らしい方法です。ユーザー インターフェイスの変更、カスタム テーマの適用、ウィジェットの追加などを行うことができます。そこで今日は、Windows 11にClassicShellをインストールする方法を説明します。 </p><p>このプログラムは長い間存在しており、オペレーティング システムを変更することができます。 2017年に解散したこの組織は現在、ボランティアによって運営され始めている。新しいプロジェクトは OpenShell と呼ばれ、興味のある人は現在 Github で入手できます。 </p>&a

HRESULT 0x80073D02 問題が修正され、PowerShell のデプロイメントが失敗する HRESULT 0x80073D02 問題が修正され、PowerShell のデプロイメントが失敗する May 10, 2023 am 11:02 AM

スクリプトを実行すると、PowerShell で「Add-AppxPackage: Deployment failed with HRESULT: 0x80073D02, The package can be install because the resource itmodifying is currently in use. Error 0x80073D02...」というエラー メッセージが PowerShell に表示されますか?エラー メッセージに記載されているように、これは、前のプロセスの実行中にユーザーが 1 つまたはすべての WindowsShellExperienceHost アプリケーションを再登録しようとすると発生します。この問題を迅速に解決するための簡単な解決策がいくつかあります。解決策 1 – powershell コマンドを実行する前に終了する必要があるエクスペリエンス ホスト プロセスを終了します。

システム起動時に Explorer.exe が起動しない [修正] システム起動時に Explorer.exe が起動しない [修正] Jun 03, 2023 am 08:31 AM

最近、多くの Windows ユーザーが Windows システムの重大な問題に遭遇し始めています。問題は、システムのロード後に Explorer.exe が起動できず、ユーザーがファイルやフォルダーを開けないことです。ただし、Windows ユーザーは場合によってはコマンド プロンプトを使用して Windows エクスプローラーを手動で開くことができますが、これはシステムを再起動するたびに、またはシステム起動後に実行する必要があります。これは問題となる可能性があり、以下に説明する要因が原因です。システムファイルが破損しています。高速スタートアップ設定を有効にします。ディスプレイドライバーが古いか問題があります。システム内の一部のサービスに変更が加えられました。変更されたレジストリ ファイル。上記のすべての要素を念頭に置いて、ユーザーに確実に役立ついくつかの要素を考え出しました。

Linux でファイルの末尾の行をすばやく削除する方法 Linux でファイルの末尾の行をすばやく削除する方法 Mar 01, 2024 pm 09:36 PM

Linux システムでファイルを処理する場合、ファイルの末尾の行を削除する必要がある場合があります。この操作は実際のアプリケーションでは非常に一般的で、いくつかの簡単なコマンドで実行できます。この記事では、Linux システムでファイルの末尾の行をすばやく削除する手順と、具体的なコード例を紹介します。ステップ 1: ファイルの最終行を確認する 削除操作を実行する前に、最初にファイルの最終行がどの行であるかを確認する必要があります。ファイルの最後の行を表示するには、tail コマンドを使用できます。具体的なコマンドは次のとおりです: tail-n1filena

Open Shell Windows 11が動作しない問題の修正は次のとおりです。 Open Shell Windows 11が動作しない問題の修正は次のとおりです。 Apr 14, 2023 pm 02:07 PM

Windows 11 でオープン シェルが実行されないことは新しい問題ではなく、この新しいオペレーティング システムの登場以来ユーザーを悩ませています。 Open-Shell Windows 11 が動作しない問題の原因は特定されていません。プログラム内の予期しないエラー、ウイルスやマルウェアの存在、システム ファイルの破損などが原因で発生する可能性があります。知らない人のために説明すると、Open-Shell は 2017 年に廃止された Classic Shell の後継です。 Windows 11 に Classic Shell をインストールする方法に関するチュートリアルをご覧ください。 Windows 11のスタートメニューを置き換える方法

Windows でシェル スクリプト ファイルを実行するさまざまな方法 Windows でシェル スクリプト ファイルを実行するさまざまな方法 Apr 13, 2023 am 11:58 AM

Linux 用 Windows サブシステム 最初のオプションは、Linux バイナリ実行可能ファイルを Windows システム上でネイティブに実行するための互換性レイヤーである Windows サブシステム for Linux または WSL を使用することです。ほとんどのシナリオで機能し、Windows 11/10 でシェル スクリプトを実行できるようになります。 WSL は自動的には利用できないため、Windows デバイスの開発者設定を通じて有効にする必要があります。これを行うには、[設定] > [更新とセキュリティ] > [開発者向け] に移動します。開発者モードに切り替え、プロンプトを確認して [はい] を選択します。次にWを探します

超ハードコア!非常に実用的な Python とシェル スクリプトの例 11 個! 超ハードコア!非常に実用的な Python とシェル スクリプトの例 11 個! Apr 12, 2023 pm 01:52 PM

Python スクリプトの例: エンタープライズ WeChat アラーム、FTP クライアント、SSH クライアント、Saltstack クライアント、vCenter クライアント、ドメイン名 SSL 証明書の有効期限の取得、今日の天気予報と将来の天気傾向グラフの送信、シェル スクリプトの例: SVN フル バックアップ、 Zabbixによるユーザーパスワードの有効期限の監視、ローカルYUMの構築、前回の記事の読者ニーズ(負荷が高い場合、占有率の高い処理スクリプトを見つけて通知を保存またはプッシュ通知する)については、少し長いので読んでください。記事の最後には、やはりイースターエッグがあります。エンタープライズ WeChat アラームの Python スクリプト部分 このスクリプトはエンタープライズ WeChat アプリケーションを使用して WeChat アラームを実行し、使用できます

Open Shell をインストールして Windows 11 で従来のスタート メニューを復元する方法 Open Shell をインストールして Windows 11 で従来のスタート メニューを復元する方法 Apr 18, 2023 pm 10:10 PM

OpenShell は、Windows 11 の [スタート] メニューをカスタマイズして、クラシック スタイルのメニューまたは Windows 7 スタイルのメニューに似せるために使用できる無料ソフトウェア ユーティリティです。以前のバージョンの Windows の [スタート] メニューは、システムのコンテンツを参照する簡単な方法をユーザーに提供しました。基本的に、OpenShell は ClassicShell の代替品であり、以前の Windows バージョンから後者のバージョンの機能を取得するのに役立つさまざまなユーザー インターフェイス要素を提供します。 ClassicShell は 2017 年に開発が中止されると、GitHub ボランティアによって OpenShell という名前で維持および開発されました。ウィン関連です

See all articles