目錄
重定向
管道
通配符和通配符
常用表達
否定
算术运算
比较
条件执行
条件语句
循環
函數
陣列
過程控制與管理
檔案系統操作
檔案與文字操作
權限
字串操作、搜尋和比較
網路
SSH 和加密
系統資訊、維護與管理
使用者輸入
命令列編輯
文字編輯
作業控制
使用者和群組管理
調試和故障排除
各種各樣的
首頁 運維 Nginx 提升你的命令列技能:Bash 和 Linux 符號與命令的完整指南

提升你的命令列技能:Bash 和 Linux 符號與命令的完整指南

Jun 25, 2023 pm 03:02 PM
linux 命令列 bash

本指南將帶領您去探索Linux和Bash符號與指令的廣闊世界。我們將涵蓋各種主題,例如檔案系統導航、文字處理、網路、系統管理等,並為每個命令提供實際範例。無論你是經驗豐富的Linux使用者還是剛入門,本指南都能幫助你提升命令列技能,在日常工作中變得更有效率。所以打開你的終端,讓我們開始吧!

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

重定向

Bash 最基本但最強大的功能之一是能夠重定向指令的輸入和輸出。以下是一些可用於重定向的符號:

  • >:將命令的輸出重定向到文件,如果文件已存在則覆寫其內容。例如,ls > linuxmi.txt將命令的輸出寫入ls名稱為linuxmi.txt.
  • #>>:將命令的輸出重定向到文件,如果文件已存在,則將其附加到文件末尾。例如,echo "Hello, world!www.linuxmi.com" >> linuxmi.txt將附加字串「Hello, world!www.linuxmi.com」 到檔案結尾。
  • <:將指令的輸入從鍵盤改為從檔案中取得。例如,sort < linuxmi.txt將對 linuxmi.txt 的內容排序。
  • 2>:用於將指令的錯誤輸出重定向到檔案。
  • 2>>:用於將指令的錯誤輸出附加到檔案。
  • &>:用於將指令的輸出和錯誤輸出都重定向到檔案。
  • &>>:用於將命令的輸出和錯誤輸出附加到檔案。

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

管道

可以使用管道將多個命令串聯在一起,使其中一個命令的輸出成為另一個命令的輸入。管道的符號是|。以下是一個範例:

ls -l | grep "linuxmi"
登入後複製

此指令以長格式 ( ) 列出目前目錄的內容ls -l,然後將輸出傳遞給grep指令,指令在輸出中搜尋字串「linuxmi」。

  • tee:用於拆分命令的輸出並將其傳送到檔案和標準輸出。

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

通配符和通配符

Bash 支援稱為通配符的強大功能,它允許您使用通配符來匹配檔案名稱模式。以下是 globbing 中最常用的一些符號:

  • *: 匹配檔案名稱中任意數量的字元。例如,ls *.txt將列出目前目錄中所有以.txt.
  • ?: 匹配檔案名稱中的任何單一字元。例如,ls file?.txt將列出目前目錄中所有以 開頭file且後面只有一個字元的文件,後面跟著.txt.
  • [ ]: 匹配一組字元中的任何一個。例如,ls file[123].txt將列出目前目錄中以、或開頭file和結尾的所有文件,後面接著.123.txt

常用表達

    # #grep:用於在檔案或流中搜尋模式。
  • sed:用於對檔案或流執行文字轉換。
  • awk:用於圖形掃描和處理。
  • egrep:用於擴充的正規表示式。
  • fgrep:用於固定字串正規表示式。
  • regex:使用特殊字元和運算子指定文字模式的符號。

變數擴充與環境變數

    $$:用於引用變數的值。
  • 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”。

循環

  • for: 用來建立一個遍歷項目清單的迴圈。例如,for fruit in apple banana orange; do echo $fruit; done將在不同的行中輸出“apple”、“banana”和“orange”。
  • while:用來建立一個循環,只要條件為真,循環就會繼續執行指令。例如,while true; do echo "Hello"; sleep 1; done會重複輸出“Hello”,直到腳本中斷。
  • until:用於執行指令,直到條件為真。

函數

  • function:用於在 Bash 中定義一個函數。例如,function hello { echo "Hello, $1!"; }定義一個名為hello的函數,它接受一個參數並列印“Hello,”後跟參數。
  • $1, $2, 等:用來指稱傳遞給函數的第一個、第二個、第三個等參數。例如,在上面定義的函數中hello,$1指的是傳遞給函數的第一個參數。

陣列

  • []:用於在 Bash 中定義一個陣列。例如,my_array=(apple banana orange)定義一個名為my_array「apple」、「banana」和「orange」的陣列。
  • ${array[@]}:用來引用 Bash 中陣列中的所有元素。例如,echo ${my_array[@]}將在一行中輸出「apple banana orange」。

過程控制與管理

  • &:用於在背景執行指令。
  • ctrl-c:用於終止正在執行的命令。
  • ctrl-z:用於暫停正在運行的命令。
  • ps:用於顯示有關正在運行的進程的資訊。
  • kill:用於終止正在執行的程序。
  • nohup:用於在背景執行命令,即使終端已關閉。
  • nice:用於設定進程的優先權。
  • renice:用於修改已經執行的進程的優先權。

檔案系統操作

  • cp:用於複製檔案。
  • mv:用於移動或重新命名檔案。
  • rm:用於刪除檔案。
  • mkdir:用於建立目錄。
  • rmdir:用於刪除目錄。
  • ln:用於建立檔案或目錄之間的連結。

檔案與文字操作

  • head: 用於顯示檔案的前幾行。
  • tail:用於顯示文件的最後幾行。
  • sort:用於按字母或數字對文字行進行排序。
  • uniq:用於刪除重複的文字行。
  • cut:用於從文字行中提取特定的列或欄位。
  • paste:用於合併來自多個檔案的行。

權限

  • chmod:用於更改檔案和目錄的權限。
  • chown:用於更改檔案或目錄的擁有者。
  • chgrp:用於更改檔案或目錄的群組。
  • umask:用於設定新檔案和目錄的預設權限。

字串操作、搜尋和比較

  • cut:用於從檔案或流中提取特定列。
  • tr:用於翻譯或刪除字元。
  • sort:用於對文字行進行排序。
  • uniq:用於從檔案或流中刪除重複行。
  • grep:用於在檔案或流中搜尋模式。
  • sed:用於對檔案或流執行文字轉換。
  • awk:用於圖形掃描和處理。
  • diff: 用來逐行比較兩個檔案。
  • cmp:用於逐字節比較兩個檔案。

網路

  • 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:用於刪除從遊標位置到行首的文字。

文字編輯

  • 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:用於建立或提取壓縮檔案。

各種各樣的

  • cal:用於顯示日曆。
  • date:用於顯示或修改系統日期和時間。
  • sleep:用於將腳本或指令的執行延遲指定的時間量。
  • tee:用於將輸出重定向到螢幕和檔案。
  • history:用來顯示目前shell會話的指令歷史。
  • echo:用於將文字列印到終端或輸出到檔案。

請注意,本指南中所述的符號分類並非絕對,而是基於一種可能的分類方式。某些符號可能適用於多個類別,並且可能存在一些重疊或重複。符號清單並非完全詳盡,可能會因Linux發行版和版本的差異而有所不同。我們鼓勵讀者參考其係統文件以獲取更多資訊。這份指南的目的是提供Linux和Bash標記和命令的綜合概述,但並非權威資源。

感謝閱讀我們關於Linux和Bash符號和命令的全面指南。希望您發現本指南對掌握命令列非常有幫助。為了隨時了解有關在日常工作中使用這些命令的最新技巧、技巧和最佳實踐,請務必長期關注Linux迷www.linuxmi.com以獲取未來的文章。我們將提供詳細的範例和實例,以協助您成為更精通的Linux使用者和命令列專員。

以上是提升你的命令列技能:Bash 和 Linux 符號與命令的完整指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

centos和ubuntu的區別 centos和ubuntu的區別 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos如何安裝 centos如何安裝 Apr 14, 2025 pm 09:03 PM

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

Centos停止維護2024 Centos停止維護2024 Apr 14, 2025 pm 08:39 PM

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

docker原理詳解 docker原理詳解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

Centos停止維護後的選擇 Centos停止維護後的選擇 Apr 14, 2025 pm 08:51 PM

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

centos停止維護後怎麼辦 centos停止維護後怎麼辦 Apr 14, 2025 pm 08:48 PM

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

docker desktop怎麼用 docker desktop怎麼用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

vscode 無法安裝擴展 vscode 無法安裝擴展 Apr 15, 2025 pm 07:18 PM

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

See all articles