擁有紮實的程式設計基礎顯然是一位優秀軟體工程師的必備素質。掌握至少一門程式語言是非常重要的,無論是解釋型語言如Python,或是編譯型語言如C 。然而,這只是成為一個真正全面發展的工程師的一個面向。如果你迷失在Shell環境中,那些基礎知識就沒有任何用處。
Bash指令的靈活應用可以讓你進入傳統程式語言無法涉及的領域。有時候,你其實並不需要使用更強大的程式語言。使用Shell,您可以更快速、更方便地完成所需任務,而且無需額外的依賴項。
在本文中,我們將探討一些非常實用的Bash指令。這些命令可以幫助你避免編寫比實際上需要更多的程式碼。下次遇到問題時,不妨試試這些指令。
1、循環指令
linuxmi@linuxmi:~/www.linuxmi.com$ while true; do echo "hello $(date)"; sleep 1; done
你不必為了循環一些東西而跳進一個龐大的程式語言中。在Bash中很容易實現定期獲得輸出或對基本資料進行迭代。
這行程式碼示範如何在Shell中建立一個簡單的無限while循環。你只要用分號把所有內容拼接在一起,就完成了。你可以隨意更改執行的命令,並相應地調整sleep的計時器。
當你執行這個指令時,你應該在終端機上看到日期每秒變化一次。
2、輸出重定向
linuxmi@linuxmi:~/www.linuxmi.com$ echo "hello linux迷 www.linuxmi.com" | tee linuxmi.rs | less
tee指令可以做到在其他語言中需要多行程式碼才能實現的功能。使用這個方便的小工具,你可以將某些輸入發送到檔案或其他命令,然後再將其傳遞給另一個命令。它實際上就像在水管中安裝一個“T”形閥門。你可以將一部分輸出引出,而它會繼續沿著管道流動。
上面的範例將從echo命令獲取的「hello linux迷 www.linuxmi.com」文字發送到linuxmi.rs文件,然後繼續將其發送到less。一種重寫方式是:你將獲得一個帶有輸出內容的文件,同時可以在螢幕上使用less命令進行查看。
3、壓縮檔案
linuxmi@linuxmi:~/www.linuxmi.com$ tar -czvf linuxmi.tar.gz linuxmi.sh
在命令列上移動檔案和目錄是一項重要的技能。如果你正在處理某個東西並需要在主機之間移動它,或者只是想壓縮檔案以進行離線存儲,tar命令是你的好幫手。
使用以上指令和選項,可以將目錄壓縮為全新的tar.gz壓縮包。現在你可以快速地帶上你的文件了。
4、計數
linuxmi@linuxmi:~/www.linuxmi.com$ echo -e "linuxmi\n linuxmi.com\n www.linuxmi.com\n www.93139.com" > linuxmi.txt | wc -l
想知道檔案中有多少行?很簡單。使用wc實用程式。 「word count」(單字計數)是它實際上的含義,但是它也可以用來計算許多其他內容,例如行數。
上面的片段將四行文字輸出到一個檔案中,然後使用wc計算行數。如果你需要操作一定數量的行或確認進程是否寫入了新行,這個工具將非常實用。
5、產生數字
linuxmi@linuxmi:~/www.linuxmi.com$ seq 95 100
如此簡單,但非常有幫助。在Bash中產生數字非常容易,只需使用seq實用程式。這個巧妙的小指令可輸出數字序列,你可以在循環、文字檔或其他需要數字列表的地方使用。
你也可以根據需要更改分隔符號:
seq -s " " 1 10
或
echo {0..10}
這將以空格而不是預設的換行符分隔所有數字。你也可以使用echo命令和..操作符來獲得相同類型的結果。
6、管理你的SSH金鑰
linuxmi@linuxmi:~/www.linuxmi.com$ eval $(ssh-agent) && ssh-add && ssh-add -l
#對SSH金鑰的基本了解和如何管理它們是絕對必要的。你會發現了解ssh-add和ssh-agent實用程式可以比你想像的更有益。
上述指令執行了幾個重要的動作:
- eval命令将为你执行ssh-agent,并确保它在后台运行。
- ssh-add命令将添加你的默认SSH密钥。如果你为默认密钥设置了密码,它将提示你输入密码。
- 最后,ssh-add -l命令显示当前在你的代理中添加的所有密钥。
这个简单的一行命令确保你的代理工作正常,并包含了正确的密钥。当你需要连接到某个服务或获取一些代码时,下一步就可以直接开始了。
7、查找过去的命令
linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"
或者按下CTRL + R,然后输入top
还记得很久以前运行的那个命令吗?我也不记得了。在历史记录中搜索它吧。
如果你像我一样记忆力不太好,那么history命令非常有用。它会显示当前终端会话中所有已运行的命令列表。反向交互式搜索或grep工具的真正威力在于能够找到之前执行的命令。
如果你只是想查看命令历史记录而不是执行它,你可以使用grep搜索。要统一搜索和执行操作,你可以使用CTRL + R的反向交互式搜索历史记录组合键。一旦按下快捷键,一个交互提示符就会出现,当你开始输入命令时,控制台会显示相应的匹配命令。
8、将多个命令作为一个整体传递
linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"
有时Bash会变得有点奇怪。变量插值可能出错,嵌套引号可能会混乱且难以跟踪。情况将变得更加复杂,尤其是当你需要在不同的二进制文件或服务中传递命令字符串时。在这种情况下,你可以使用bash命令将一组命令作为单个实体进行评估。
这个指令将接收纯文本字符串,然后按照常规的Bash语法来进行解析。对于外部shell来说,你只是运行一个命令并传递一个参数,但实际上你是在指示Bash解析多个命令的字符串并执行它们。
以上是八個 Shell 指令,讓你瞬間成為 Linux 命令列大師的詳細內容。更多資訊請關注PHP中文網其他相關文章!

NGINXUnit支持多種編程語言,通過模塊化設計實現。 1.加載語言模塊:根據配置文件加載相應模塊。 2.應用啟動:調用語言運行時執行應用代碼。 3.請求處理:將請求轉發給應用實例。 4.響應返回:將處理後的響應返回給客戶端。

NGINX和Apache各有優劣,適合不同場景。 1.NGINX適合高並發和低資源消耗場景。 2.Apache適合需要復雜配置和豐富模塊的場景。通過比較它們的核心特性、性能差異和最佳實踐,可以幫助你選擇最適合需求的服務器軟件。

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

要關閉 Nginx 服務,請按以下步驟操作:確定安裝類型:Red Hat/CentOS(systemctl status nginx)或 Debian/Ubuntu(service nginx status)停止服務:Red Hat/CentOS(systemctl stop nginx)或 Debian/Ubuntu(service nginx stop)禁用自動啟動(可選):Red Hat/CentOS(systemctl disable nginx)或 Debian/Ubuntu(syst

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

服務器無權訪問所請求的資源,導致 nginx 403 錯誤。解決方法包括:檢查文件權限。檢查 .htaccess 配置。檢查 nginx 配置。配置 SELinux 權限。檢查防火牆規則。排除其他原因,如瀏覽器問題、服務器故障或其他可能的錯誤。

在 Linux 中啟動 Nginx 的步驟:檢查 Nginx 是否已安裝。使用 systemctl start nginx 啟動 Nginx 服務。使用 systemctl enable nginx 啟用在系統啟動時自動啟動 Nginx。使用 systemctl status nginx 驗證啟動是否成功。在 Web 瀏覽器中訪問 http://localhost 查看默認歡迎頁面。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器