擁有扎實的編程基礎(chǔ)顯然是一位優(yōu)秀軟件工程師的必備素質(zhì)。掌握至少一門編程語言是非常重要的,無論是解釋型語言如Python,還是編譯型語言如C++。然而,這只是成為一個真正全面發(fā)展的工程師的一個方面。如果你迷失在Shell環(huán)境中,那些基礎(chǔ)知識也就沒有任何用處。
Bash命令的靈活應(yīng)用可以使你進入傳統(tǒng)編程語言無法涉及的領(lǐng)域。有時候,你實際上并不需要使用更強大的編程語言。使用Shell,您可以更快速、更便捷地完成所需任務(wù),而且無需額外的依賴項。
在本文中,我們將探討一些非常實用的Bash命令。這些命令可以幫助你避免編寫比實際需要更多的代碼。下次遇到問題時,不妨試試這些命令。
1、循環(huán)命令
linuxmi@linuxmi:~/www.linuxmi.com$ while true; do echo "hello $(date)"; sleep 1; done
你不必為了循環(huán)一些東西而跳進一個龐大的編程語言中。在Bash中很容易實現(xiàn)定期獲得輸出或?qū)緮?shù)據(jù)進行迭代。
這行代碼演示了如何在Shell中構(gòu)建一個簡單的無限while循環(huán)。你只需用分號把所有內(nèi)容拼接在一起,就完成了。你可以隨意更改執(zhí)行的命令,并相應(yīng)地調(diào)整sleep的計時器。
當(dāng)你運行這個命令時,你應(yīng)該在終端上看到日期每秒變化一次。
2、輸出重定向
linuxmi@linuxmi:~/www.linuxmi.com$ echo "hello linux迷 www.linuxmi.com" | tee linuxmi.rs | less
tee命令可以做到在其他語言中需要多行代碼才能實現(xiàn)的功能。使用這個方便的小工具,你可以將某些輸入發(fā)送到文件或其他命令,隨后再將其傳遞給另一個命令。它實際上就像在水管中安裝一個“T”形閥門。你可以將一部分輸出引出,而它會繼續(xù)沿著管道流動。
上面的示例將從echo命令獲取的“hello linux迷 www.linuxmi.com”文本發(fā)送到linuxmi.rs文件,然后繼續(xù)將其發(fā)送到less。一種重寫方式是:你將獲得一個帶有輸出內(nèi)容的文件,同時可以在屏幕上使用less命令進行查看。
3、壓縮文件
linuxmi@linuxmi:~/www.linuxmi.com$ tar -czvf linuxmi.tar.gz linuxmi.sh
在命令行上移動文件和目錄是一項重要的技能。如果你正在處理某個東西并需要在主機之間移動它,或者只是想壓縮文件以進行離線存儲,tar命令是你的好幫手。
使用以上指令和選項,可以將一個目錄壓縮為一個全新的tar.gz壓縮包?,F(xiàn)在你可以快速地帶上你的文件了。
4、計數(shù)
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”(單詞計數(shù))是它實際上的含義,但是它也可以用來計算許多其他內(nèi)容,比如行數(shù)。
上面的片段將四行文本輸出到一個文件中,然后使用wc計算行數(shù)。如果你需要操作一定數(shù)量的行或確認進程是否向文件中寫入了新行,這個工具將非常實用。
5、生成數(shù)字
linuxmi@linuxmi:~/www.linuxmi.com$ seq 95 100
如此簡單,但非常有幫助。在Bash中生成數(shù)字非常容易,只需使用seq實用程序。這個巧妙的小命令可輸出數(shù)字序列,你可以在循環(huán)、文本文件或其他需要數(shù)字列表的地方使用。
你也可以根據(jù)需要更改分隔符:
seq -s " " 1 10
或者
echo {0..10}
這將以空格而不是默認的換行符分隔所有數(shù)字。你也可以使用echo命令和..操作符獲得相同類型的結(jié)果。
6、管理你的SSH密鑰
linuxmi@linuxmi:~/www.linuxmi.com$ eval $(ssh-agent) && ssh-add && ssh-add -l
對SSH密鑰的基本了解和如何管理它們是絕對必要的。你會發(fā)現(xiàn)了解ssh-add和ssh-agent實用程序可以比你想象的更加有益。
上述命令執(zhí)行了幾個重要的操作:
- eval命令將為你執(zhí)行ssh-agent,并確保它在后臺運行。
- ssh-add命令將添加你的默認SSH密鑰。如果你為默認密鑰設(shè)置了密碼,它將提示你輸入密碼。
- 最后,ssh-add -l命令顯示當(dāng)前在你的代理中添加的所有密鑰。
這個簡單的一行命令確保你的代理工作正常,并包含了正確的密鑰。當(dāng)你需要連接到某個服務(wù)或獲取一些代碼時,下一步就可以直接開始了。
7、查找過去的命令
linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"
或者按下CTRL + R,然后輸入top
還記得很久以前運行的那個命令嗎?我也不記得了。在歷史記錄中搜索它吧。
如果你像我一樣記憶力不太好,那么history命令非常有用。它會顯示當(dāng)前終端會話中所有已運行的命令列表。反向交互式搜索或grep工具的真正威力在于能夠找到之前執(zhí)行的命令。
如果你只是想查看命令歷史記錄而不是執(zhí)行它,你可以使用grep搜索。要統(tǒng)一搜索和執(zhí)行操作,你可以使用CTRL + R的反向交互式搜索歷史記錄組合鍵。一旦按下快捷鍵,一個交互提示符就會出現(xiàn),當(dāng)你開始輸入命令時,控制臺會顯示相應(yīng)的匹配命令。
8、將多個命令作為一個整體傳遞
linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"
有時Bash會變得有點奇怪。變量插值可能出錯,嵌套引號可能會混亂且難以跟蹤。情況將變得更加復(fù)雜,尤其是當(dāng)你需要在不同的二進制文件或服務(wù)中傳遞命令字符串時。在這種情況下,你可以使用bash命令將一組命令作為單個實體進行評估。
這個指令將接收純文本字符串,然后按照常規(guī)的Bash語法來進行解析。對于外部shell來說,你只是運行一個命令并傳遞一個參數(shù),但實際上你是在指示Bash解析多個命令的字符串并執(zhí)行它們。
以上是八個 Shell 命令,讓你瞬間成為 Linux 命令行大師的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Stock Market GPT
人工智能驅(qū)動投資研究,做出更明智的決策

熱門文章

熱工具

記事本++7.3.1
好用且免費的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)

通過sudo命令,用戶可以在提升權(quán)限模式下運行命令,而無需切換到超級用戶模式。本文將介紹如何在Windows系統(tǒng)中模擬類似于sudo命令的功能。什么是數(shù)道司令部?Sudo(“超級用戶do”的縮寫)是一種命令行工具,允許基于Unix的操作系統(tǒng)(如Linux和MacOS)的用戶以提升的權(quán)限執(zhí)行命令,這些權(quán)限通常是管理員所擁有的。在Windows11/10中運行SUDO命令然而,隨著最新發(fā)布的Windows11Insider預(yù)覽版推出,Windows用戶現(xiàn)在也可以體驗到這一項功能。這一新功能使用戶能夠

藍屏代碼0x0000001怎么辦藍屏錯誤是電腦系統(tǒng)或硬件出現(xiàn)問題時的一種警告機制,代碼0x0000001通常表示出現(xiàn)了硬件或驅(qū)動程序故障。當(dāng)用戶在使用電腦時突然遇到藍屏錯誤,可能會感到驚慌和無措。幸運的是,大多數(shù)藍屏錯誤都可以通過一些簡單的步驟進行排除和處理。本文將為讀者介紹一些解決藍屏錯誤代碼0x0000001的方法。首先,當(dāng)遇到藍屏錯誤時,我們可以嘗試重

本文將向讀者介紹在Win11系統(tǒng)中如何使用命令提示符(CommandPrompt)來查找網(wǎng)絡(luò)適配器的物理地址(MAC地址)。MAC地址是網(wǎng)絡(luò)接口卡(NIC)的唯一標(biāo)識符,它在網(wǎng)絡(luò)通信中扮演著重要角色。通過命令提示符,用戶可以輕松地獲取到當(dāng)前計算機上所有網(wǎng)絡(luò)適配器的MAC地址信息,這對于網(wǎng)絡(luò)故障排查、配置網(wǎng)絡(luò)設(shè)置等任務(wù)非常有幫助。方法一:使用「命令提示符」1、按【W(wǎng)in+X】組合鍵,或【右鍵】點擊任務(wù)欄上的【W(wǎng)indows徽標(biāo)】,在打開的菜單項中,選擇【運行】;2、運行窗口,輸入【cmd】命令,然

小組件是Win11系統(tǒng)的新增功能,默認是開啟狀態(tài),但是難免會出現(xiàn)有部分用戶不太使用到小組件,看著占位置,因此想要禁用小組件的情況,那么應(yīng)該如何操作呢?下面小編就教給大家操作方法,大家可以去嘗試看看。什么是小組件?小組件是小卡片,用于在Windows桌面上顯示你最喜愛的應(yīng)用和服務(wù)中的動態(tài)內(nèi)容。它們顯示在小組件板上,你可以在其中發(fā)現(xiàn)、固定、取消固定、排列、調(diào)整大小和自定義小組件以反映你的興趣。小組件板經(jīng)過優(yōu)化,可根據(jù)使用情況顯示相關(guān)小組件和個性化內(nèi)容。從任務(wù)欄的左角打開小組件板,可在其中看到實時天氣

Win11系統(tǒng)中,可以通過命令來啟用或禁用Hyper-V增強會話模式。本文將介紹如何使用命令來進行操作,幫助用戶更好地管理和控制系統(tǒng)中的Hyper-V功能。Hyper-V是Microsoft提供的一種虛擬化技術(shù),它內(nèi)置在WindowsServer和Windows10、11(家庭版除外)中,允許用戶在Windows系統(tǒng)中運行虛擬操作系統(tǒng)。雖然虛擬機與宿主機操作系統(tǒng)相隔離,但通過設(shè)置,它們依然能夠使用宿主機的資源,如聲卡和存儲設(shè)備等。其中一個關(guān)鍵設(shè)置就是啟用「增強會話模式」。增強會話模式是Hyper

如果您需要遠程編程任何設(shè)備,這篇文章會給您帶來幫助。我們將分享編程任何設(shè)備的頂級GE通用遠程代碼。通用電氣的遙控器是什么?GEUniversalRemote是一款遙控器,可用于控制多個設(shè)備,如智能電視、LG、Vizio、索尼、藍光、DVD、DVR、Roku、AppleTV、流媒體播放器等。GEUniversal遙控器有各種型號,具有不同的功能和功能。GEUniversalRemote最多可以控制四臺設(shè)備。頂級通用遙控器代碼,可在任何設(shè)備上編程GE遙控器配備一組代碼,使其能夠與不同設(shè)備相配合。您可

LSOF(ListOpenFiles)是一個命令行工具,主要用于監(jiān)控類似Linux/Unix操作系統(tǒng)的系統(tǒng)資源。通過LSOF命令,用戶可以獲取有關(guān)系統(tǒng)中活動文件以及正在訪問這些文件的進程的詳細信息。LSOF能夠幫助用戶識別當(dāng)前占用文件資源的進程,從而更好地管理系統(tǒng)資源和排除可能的問題。LSOF的功能強大且靈活,可以幫助系統(tǒng)管理員快速定位文件相關(guān)的問題,如文件泄漏、未關(guān)閉的文件描述符等。通過LSOF命令LSOF命令行工具允許系統(tǒng)管理員和開發(fā)人員:確定當(dāng)前正在使用特定文件或端口的進程,在端口沖突的情

作為一名程序員,對于能夠簡化編碼體驗的工具,我感到非常興奮。借助人工智能工具的幫助,我們可以生成演示代碼,并根據(jù)需求進行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創(chuàng)建具有自然語言聊天交互的AI生成代碼。通過解釋功能,我們可以更好地理解現(xiàn)有代碼的含義。如何使用Copilot生成代碼?要開始,我們首先需要獲得最新的PowerPlatformTools擴展。要實現(xiàn)這一點,你需要進入擴展頁面,搜索“PowerPlatformTool”,然后點擊Install按鈕
