ホームページ  >  記事  >  運用・保守  >  コマンドラインのスキルを向上させる: Bash および Linux のシンボルとコマンドの完全ガイド

コマンドラインのスキルを向上させる: Bash および Linux のシンボルとコマンドの完全ガイド

王林
王林転載
2023-06-25 15:02:161717ブラウズ

このガイドでは、Linux と Bash のシンボルとコマンドの広大な世界を探索することができます。ファイル システムのナビゲーション、テキスト処理、ネットワーキング、システム管理などのさまざまなトピックを取り上げ、各コマンドの実践的な例を示します。経験豊富な Linux ユーザーであっても、初心者であっても、このガイドはコマンド ライン スキルを向上させ、日常業務の効率を高めるのに役立ちます。ターミナルを開いて始めましょう!

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

リダイレクト

Bash の最も基本的でありながら強力な機能の 1 つは、コマンドの入力と出力をリダイレクトする機能です。リダイレクトに使用できる記号をいくつか示します。

  • >: コマンドの出力をファイルにリダイレクトし、ファイルがすでに存在する場合はその内容を上書きします。たとえば、ls > linuxmi.txt は、コマンドの出力を linuxmi.txt という名前の ls に書き込みます。
  • >>: ファイルが既に存在する場合、コマンドの出力をファイルにリダイレクトします。ファイルの末尾に追加します。たとえば、 echo "Hello, world!www.linuxmi.com" >> linuxmi.txt と入力すると、文字列 "Hello, world!www.linuxmi.com" がファイルの末尾に追加されます。
  • <: コマンドの入力をキーボードからファイルに変更します。たとえば、sort < linuxmi.txt は linuxmi.txt の内容を並べ替えます。
  • 2>: コマンドのエラー出力をファイルにリダイレクトするために使用されます。
  • 2>>: コマンドのエラー出力をファイルに追加するために使用されます。
  • &>: コマンドの出力とエラー出力の両方をファイルにリダイレクトするために使用されます。
  • &>>: コマンドの出力とエラー出力をファイルに追加するために使用されます。

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

パイプライン

パイプを使用して複数のコマンドを接続し、1 つのコマンドの出力が別のコマンドの入力になるようにすることができます。パイプの記号は | です。次に例を示します。

ls -l | grep "linuxmi"

このコマンドは、現在のディレクトリの内容を長い形式 ( ls -l ) でリストし、その出力を grep コマンドに渡します。このコマンドは、出力内で文字列「linuxmi」を検索します。

  • tee: コマンドの出力を分割し、ファイルと標準出力に送信するために使用されます。

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

ワイルドカードとワイルドカード

Bash はワイルドカードと呼ばれる強力な機能をサポートしており、ワイルドカードを使用してファイル名パターンと一致させることができます。グロビングで最も一般的に使用される記号の一部を次に示します。

  • *: ファイル名の任意の数の文字と一致します。たとえば、ls *.txt は、現在のディレクトリ内の .txt.
  • ?: で始まり、名前の任意の 1 文字と一致するすべてのファイルを一覧表示します。たとえば、ls file?.txt は、file で始まり、その後に 1 文字だけが続き、その後に .txt.
  • [ ] が続く現在のディレクトリ内のすべてのファイルをリストします。文字セットのいずれか 1 つに一致します。 。たとえば、ls file[123].txt は、現在のディレクトリ内の、 or で始まり file で終わるすべてのファイルをリストし、その後に .123.txt

共通表現

    が続きます。
  • grep: ファイルまたはストリーム内のパターンを検索するために使用されます。
  • sed: ファイルまたはストリームでテキスト変換を実行するために使用されます。
  • awk: グラフィックのスキャンと処理に使用されます。
  • egrep: 展開用の正規表現。
  • fgrep: 固定文字列の正規表現に使用されます。
  • 正規表現: 特殊文字と演算子を使用して、テキスト パターンの記号を指定します。

#変数展開と環境変数

    $: 変数の値を参照するために使用されます。
  • export: Bash で環境変数を作成または変更するために使用されます。
  • ${}: 変数の展開に使用されます。
  • $(()): 算術展開に使用されます。
  • env: 現在の環境変数を表示するために使用されます。
  • echo: 環境変数のテキストまたは値を表示するために使用されます。

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

通配符和通配符

  • *: 匹配文件名中任意数量的字符。
  • ?: 匹配文件名中的任何单个字符。

否定

  • !:与其他命令结合使用,执行取反。

算术运算

  • +:算术表达式中的加法运算符。例如,echo $((2+3))将输出5.
  • -:算术表达式中的减法运算符。例如,echo $((16-5))将输出11.
  • *:算术表达式中的乘法运算符。例如,echo $((4*5))将输出20.
  • /: 算术表达式中的除法运算符。例如,echo $((20/2))将输出10.
  • $((expression)):用于在 Bash 中执行算术运算。例如,echo $((2 + 6))将打印值 8。
  • expr:用于执行算术运算。

提升你的命令行技能:Bash 和 Linux 符号与命令的完整指南

比较

  • ==:用于比较条件表达式中两个值是否相等。例如,if [ "$name" == "linuxmi" ]; then echo "Hello, linuxmi!"; fi将输出“Hello, linuxmi!” 如果变量的name值为“linuxmi”。
  • !=:用于比较条件表达式中的两个值是否不相等。例如,if [ "$name" != "linuxmi" ]; then echo "You're not linuxmi!"; fi将在变量name的值不为“John”输出“You’re not linuxmi!”。

条件执行

  • &&:用于仅在前一个命令成功执行时执行后续命令。例如,command1 && command2 会仅在 command1 成功执行后才执行command2。
  • ||:用于仅在前一个命令失败时执行后续命令。例如,command1 || command2会仅在 command1 失败后才执行 command2。

条件语句

  • if:用于检查条件是否为真并相应地执行命令。例如,if [[ $foo == "bar" ]]; then echo "foo is bar"; fi将检查变量是否foo等于“bar”,如果为真则打印“foo is bar”。
  • elifif:如果语句中的先前条件为假,则用于检查其他条件。例如,if [[ $foo == "bar" ]]; then echo "foo is bar"; elif [[ $foo == "baz" ]]; then echo "foo is baz"; else echo "foo is something else"; fi将检查是否foo等于“bar”并在为真时打印“foo is bar”,否则检查是否foo等于“baz”并在为真时打印“foo is baz”,最后打印“foo is something else”如果前面两个条件都为假。
  • [[ ]]:用于在 Bash 中执行条件测试。
  • case:用于将变量与模式列表进行匹配并相应地执行命令。例如:
case $fruit inapple)echo "It's an apple";;banana)echo "It's a banana";;*)echo "It's something else";;esac

将检查变量的值fruit,如果等于“apple”则打印“It’s an apple”,如果等于“banana”则打印“It’s a banana”,对于任何其他值则打印“It’s something else”。

Loop

  • for: 項目のリストを走査するループを作成するために使用されます。たとえば、リンゴ バナナ オレンジの果物の場合、 do echo $fruit; done は、「リンゴ」、「バナナ」、「オレンジ」を別々の行に出力します。
  • while: 条件が true である限りコマンドを実行し続けるループを作成するために使用されます。たとえば、 true; do echo "Hello"; sleep 1; done とすると、スクリプトが中断されるまで繰り返し "Hello" が出力されます。
  • until: 条件が true になるまでコマンドを実行するために使用されます。

Function

  • function: Bash で関数を定義するために使用されます。たとえば、 function hello { echo "Hello, $1!"; } は、1 つのパラメータを受け取り、「Hello」とその後にパラメータを出力する hello という名前の関数を定義します。
  • $1、$2 など: 関数に渡される 1 番目、2 番目、3 番目などのパラメータを参照するために使用されます。たとえば、上で定義した hello 関数では、$1 は関数に渡される最初のパラメータを指します。

Array

  • []: Bash で配列を定義するために使用されます。たとえば、my_array=(apple banana orange) は、my_array "apple"、"banana"、および "orange" という名前の配列を定義します。
  • ${array[@]}: Bash で配列内のすべての要素を参照するために使用されます。たとえば、 echo ${my_array[@]} は、「アップル バナナ オレンジ」を 1 行で出力します。

プロセス制御と管理

  • &: バックグラウンドでコマンドを実行するために使用されます。
  • ctrl-c: 実行中のコマンドを終了するために使用されます。
  • ctrl-z: 実行中のコマンドを一時停止するために使用されます。
  • ps: 実行中のプロセスに関する情報を表示するために使用されます。
  • kill: 実行中のプロセスを終了するために使用されます。
  • nohup: ターミナルが閉じている場合でも、バックグラウンドでコマンドを実行するために使用されます。
  • nice: プロセスの優先順位を設定するために使用されます。
  • renice: すでに実行中のプロセスの優先順位を変更するために使用されます。

ファイル システム操作

  • cp: ファイルのコピーに使用されます。
  • mv: ファイルの移動または名前変更に使用されます。
  • rm: ファイルの削除に使用されます。
  • mkdir: ディレクトリの作成に使用されます。
  • rmdir: ディレクトリの削除に使用されます。
  • ln: ファイルまたはディレクトリ間のリンクを作成するために使用されます。

ファイルとテキストの操作

  • head: ファイルの最初の数行を表示するために使用されます。
  • tail: ファイルの最後の数行を表示するために使用されます。
  • sort: テキスト行をアルファベット順または数値順に並べ替えるのに使用されます。
  • uniq: テキストの重複行を削除するために使用されます。
  • cut: テキスト行から特定の列またはフィールドを抽出するために使用されます。
  • paste: 複数のファイルの行を結合するために使用されます。

Permissions

  • chmod: ファイルとディレクトリのパーミッションを変更するために使用されます。
  • chown: ファイルまたはディレクトリの所有者を変更するために使用されます。
  • chgrp: ファイルまたはディレクトリの変更に使用されるグループ。
  • umask: 新しいファイルとディレクトリのデフォルトのアクセス許可を設定するために使用されます。

文字列操作、検索、比較

  • cut: ファイルまたはストリームから特定の列を抽出するために使用されます。
  • tr: 文字の翻訳または削除に使用されます。
  • sort: テキスト行を並べ替えるのに使用されます。
  • uniq: ファイルまたはストリームから重複行を削除するために使用されます。
  • grep: ファイルまたはストリーム内のパターンを検索するために使用されます。
  • sed: ファイルまたはストリームでテキスト変換を実行するために使用されます。
  • awk: グラフィックのスキャンと処理に使用されます。
  • diff: 2 つのファイルを行ごとに比較するために使用されます。
  • cmp: 2 つのファイルをバイトごとに比較するために使用されます。

Network

  • ping: ネットワーク ホストへの接続をテストするために使用されます。
  • curl: サーバーとの間でデータを転送するために使用されます。
  • wget: インターネットからファイルをダウンロードするために使用されます。
  • ssh: リモート コンピューターに安全に接続するために使用されます。
  • nslookup: DNS サーバーにクエリを実行して、ホスト名を IP アドレスに解決するために使用されます。
  • ifconfig: ネットワーク インターフェイスの表示と構成に使用されます。
  • netstat: ネットワーク統計とアクティブな接続の数を表示するために使用されます。

SSH と暗号化

  • ssh-keygen: 安全なリモート アクセスのための SSH キーの生成と管理に使用されます。
  • scp: SSH 接続経由でシステム間でファイルを安全に転送するために使用されます。
  • openssl: SSL/TLS 証明書の生成と管理、暗号化と復号化などの暗号化機能用。
  • gpg: 暗号化、復号化、デジタル署名の検証に使用されます。

システム情報、メンテナンスおよび管理

  • sudo: 昇格された特権でコマンドを実行するために使用されます。
  • su: 別のユーザー アカウントに切り替えるために使用されます。
  • systemctl: systemd ベースの Linux ディストリビューションでシステム サービスを管理するために使用されます。
  • uptime: システムの稼働時間を表示するために使用されます。
  • journalctl: システム ログを表示するために使用されます。
  • fdisk: ディスク パーティションの作成と操作に使用されます。
  • mount: ファイル システムをシステムにマウントするために使用されます。
  • top: システム リソースの使用状況を表示するために使用されます。
  • htoptop: リアルタイムのシステム監視とリソース使用状況の情報を提供する、より高度なバージョン。
  • ps: 実行中のプロセスに関する情報を表示するために使用されます。
  • df: ディスク容量の使用状況を表示するために使用されます。
  • du: ファイルまたはディレクトリのサイズを表示するために使用されます。
  • apt-get: ソフトウェア パッケージをインストール、削除、更新するためのパッケージ管理ツール。
  • dpkg: ソフトウェア パッケージをインストールおよび管理するためのパッケージ管理ツール。
  • shutdown: システムをシャットダウンまたは再起動するために使用されます。
  • free: システム メモリの使用量を表示するために使用されます。
  • uname: カーネルのバージョン、ホスト名などのシステム情報を表示するために使用されます。
  • lscpu: CPU 情報の表示に使用されます。
  • lsusb: システムに接続されている USB デバイスを表示するために使用されます。
  • nmon: CPU、メモリ、ディスク I/O、ネットワーク使用率などの詳細なシステム パフォーマンス情報を表示するために使用されます。
  • sar: 一定期間にわたるシステム パフォーマンス データを収集して報告するために使用されます。
  • lshw: システムのハードウェア情報を表示するために使用されます。
  • dmidecode: システムの BIOS およびハードウェア情報を表示するために使用されます。
  • lsblk: システム内のブロック デバイス (ハードディスクなど) に関する情報を表示するために使用されます。
  • lspci: システムに接続されている PCI デバイス情報を表示するために使用されます。
  • lsusb: システムに接続されている USB デバイス情報を表示するために使用されます。

ユーザー入力

  • read: コマンド ラインからユーザー入力を読み取るために使用されます。
  • select: ユーザーにオプションのメニューを表示するために使用されます。

コマンドライン編集

  • ctrl-a: カーソルを行の先頭に移動するために使用します。
  • ctrl-e: カーソルを行末に移動するために使用します。
  • ctrl-k: カーソル位置から行末までのテキストを削除するために使用します。
  • ctrl-u: カーソル位置から行頭までのテキストを削除するために使用します。

Text Edit

  • nano: シンプルなコマンド ライン テキスト エディター。
  • vi または vim: 多くの機能を備えた、より高度なテキスト エディター。
  • cat: 端末上にファイルの内容を表示するために使用されます。
  • head: ファイルの最初の数行を表示するために使用されます。
  • tail: ファイルの最後の数行を表示するために使用されます。

ジョブ制御

  • jobs: バックグラウンド ジョブのリストを表示するために使用されます。
  • fg: バックグラウンド ジョブをフォアグラウンドに移動するために使用されます。
  • bg: 一時停止または停止したジョブをバックグラウンドに移動するために使用されます。
  • kill: 実行中のプロセスを終了するために使用されます。

ユーザーとグループの管理

  • useradd: 新しいユーザー アカウントの作成に使用されます。
  • usermod: 既存のユーザー アカウントを変更するために使用されます。
  • userdel: ユーザー アカウントを削除するために使用されます。
  • groupadd: 新しいユーザー グループを作成するために使用されます。
  • groupmod: 既存のユーザー グループを変更するために使用されます。
  • groupdel: ユーザー グループを削除するために使用されます。
  • passwd: ユーザーのパスワードを変更するために使用されます。

デバッグとトラブルシューティング

  • strace: プロセスによって発行されたシステム コールとシグナルをトレースするために使用されます。
  • ltrace: プロセスによって行われたライブラリ呼び出しを追跡するために使用されます。
  • gdb: C および C プログラムをデバッグするための強力なデバッガー。
  • tcpdump: ネットワーク トラフィックをキャプチャして分析するために使用されます。
  • wireshark: ネットワーク トラフィックを分析するための GUI ベースのツール。 ellaneous
  • echo: 端末にメッセージを表示するために使用されます。
  • printf: データのフォーマットと表示に使用されます。
  • date: システムの日付と時刻を表示または設定するために使用されます。
  • tar: 圧縮アーカイブの作成または抽出に使用されます。

Various

  • cal: カレンダーを表示するために使用されます。
  • date: システムの日付と時刻を表示または変更するために使用されます。
  • sleep: スクリプトまたはコマンドの実行を指定した時間遅らせるために使用されます。
  • tee: 出力を画面とファイルにリダイレクトするために使用されます。
  • history: 現在のシェル セッションのコマンド履歴を表示するために使用されます。
  • echo: テキストを端末に出力したり、ファイルに出力したりするために使用されます。

このガイドで説明されているシンボルの分類は絶対的なものではなく、考えられる分類に基づいていることに注意してください。一部の記号は複数のカテゴリに適用される場合があり、重複または重複する場合があります。シンボルのリストは完全に網羅されているわけではなく、Linux ディストリビューションやバージョンによって異なる場合があります。詳細については、システムのマニュアルを参照することをお勧めします。このガイドは、Linux および Bash のフラグとコマンドの包括的な概要を提供することを目的としていますが、決定的なリソースを目的としたものではありません。

Linux と Bash のシンボルとコマンドに関する包括的なガイドをお読みいただきありがとうございます。このガイドがコマンドラインをマスターするのに役立つことを願っています。日常業務でこれらのコマンドを使用するための最新のヒント、テクニック、ベスト プラクティスを常に最新の状態に保つには、Linux Mito www.linuxmi.com の今後の記事に注目してください。より熟練した Linux ユーザーおよびコマンド ラインの専門家になるために役立つ詳細な例と実用的な例を提供します。

以上がコマンドラインのスキルを向上させる: Bash および Linux のシンボルとコマンドの完全ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。