你絕對不全知道的Linux命令行基礎(chǔ)技巧
以下均以Linux默認(rèn)bash
進(jìn)行說明,相信我,每一個都很能打,肥腸有用
1. !!
輸入并運(yùn)行一個長命令后,經(jīng)常發(fā)現(xiàn)忘記在開頭添加sudo
,這有問題嗎,這沒問題
可以輸入sudo !!
命令行將!!
替換為運(yùn)行的最后一個命令:

2. 回退
都知道可以使用cd
進(jìn)入目錄
但是很少人知道使用cd -
可以回到上一個目錄:

3. 回到/Home
大家可能知道~是主文件夾的快捷方式
但是有一個鮮為人知的技巧:如果輸入cd
之后沒有緊跟其他內(nèi)容,仍然會進(jìn)入主目錄:

4.搜索
很多時候?yàn)榱苏业角皫状屋斎脒^的命令,需要按向上箭頭N次才能找到
但是使用反向搜索功能可以更容易地實(shí)現(xiàn)這一點(diǎn)
按Ctrl+R
并開始輸入命令,反向搜索填充會找到最近歷史記錄中最接近的匹配項(xiàng)(不得不提zsh真是方便):

5. 重復(fù)使用一個參數(shù)
另一個方便的技巧是!$
,將前一個命令的參數(shù)替換
例如,經(jīng)常遇到的創(chuàng)建一個文件夾并想要cd
進(jìn)入時:

6.復(fù)制粘貼
有人可能注意到Ctrl+C
和Ctrl+V
在Linux終端中無法正常工作
大多數(shù)情況下,這些被替換為Ctrl+Shift+C
和Ctrl+Shit+V
這是因?yàn)?code>Ctrl+C已被保留用于終止當(dāng)前正在運(yùn)行的程序,別以為都知道這個技巧
7. 無需密碼通過 SSH 進(jìn)行身份驗(yàn)證
經(jīng)常登錄某個SSH服務(wù)器,每次輸入密碼會很煩
如果主機(jī)和服務(wù)器交換證書,可以跳過它
首先,運(yùn)行命令ssh-keygen
創(chuàng)建一個私鑰/公鑰對并將其保存到~/.ssh/id_rsa
緊接著使用命令將公鑰復(fù)制到服務(wù)器:ssh-copy-id [email protected]_host
系統(tǒng)將提示輸入服務(wù)器密碼,并復(fù)制公鑰
如此,無需密碼即可從該特定系統(tǒng)登錄該服務(wù)器
注意:此方法的安全性絕不低于常規(guī)身份驗(yàn)證。 如果本地系統(tǒng)是安全的,它甚至可能更安全。 除非泄露私鑰,否則將無法登錄 SSH
8. 讓程序在后臺運(yùn)行
如果在終端運(yùn)行一個程序,正常情況下會在結(jié)束這個終端會話后立即被殺死
為了防止這種情況并保持程序運(yùn)行,使用nohup
命令——代表“不掛斷”
例如,要使用scp
在服務(wù)器之間傳輸文件,同時確保即使不小心關(guān)閉了終端窗口,傳輸也會繼續(xù),使用以下命令:
nohup
還會創(chuàng)建一個名為nohup.out
的文件來保存命令的輸出
9. 回答Yes
如果編寫bash腳本來自動執(zhí)行某些任務(wù),可能會因?yàn)閷\(yùn)行的每個命令都輸入yes
而感到煩惱
要跳過這個步驟并對任何命令回答yes
,可以在前面加上yes |
如果想回答no
,在前面加上yes no |
10. 以root身份登錄
使用sudo su
su
命令以root身份登錄,sudo
將以root身份執(zhí)行,不需要root密碼
此外,某些發(fā)行版禁用root密碼,因此這是唯一的選擇:

11. 注銷
從SSH、SFTP、root或從終端會話注銷的最快方法是Ctrl+D
快捷方式
當(dāng)處理大量 SSH 連接或無法進(jìn)入exit
時,會派上用場,這個真的很常用啊親
12. 粉碎文件
rm
命令被廣泛用于刪除文件,但并不能完全刪除文件
即使刪除后,也可以使用特殊軟件提取數(shù)據(jù)
要完全刪除文件并用零填充它使用的空間,使用shred
命令
像這樣使用shred -zvu <filename>
13. VIM中的密碼保護(hù)文件
可以使用vim +X filename
命令或直接在Vim中使用:X
命令在Vim中使用密碼保護(hù)文件
14. 列出用戶
如果有隱私方面的顧慮,希望隨時檢查誰登錄了系統(tǒng)
可以使用w
命令列出系統(tǒng)中當(dāng)前的所有用戶
我是啥都生,下期再見~