Linux終端命令快捷鍵匯總
創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括網(wǎng)站建設(shè)、做網(wǎng)站、電商網(wǎng)站制作開發(fā)、小程序定制開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
相信很多Linux桌面用戶都對使用Linux終端感到反感,其實它沒大家想的那么復(fù)雜,很多常見操作都可以直接在終端中進(jìn)行。特為大家匯總了提升終端命令執(zhí)行效率的快捷操作,希望能幫助你學(xué)習(xí)和提升效率。
移動定位光標(biāo)
在終端中移動光標(biāo)和定位似乎非常不便,其實不是你想的那樣,有很多種方式可以讓鍵盤成為你的好朋友,只是需要掌握正確的方法而已。
定位單詞
在長段的命令中,使用 Ctrl + ← 和 Ctrl + → 可快速將光標(biāo)定位到命令中單詞的首字母或末尾,實現(xiàn)在各單詞之間的快速跳動定位。
你可以試著在終端中輸入 apt-get install build-essential 命令后,按 Ctrl+ 左鍵或 Ctrl + 右鍵來試試效果。
定位行首和行尾
定位到命令行首可以使用 Ctrl + A,行尾則使用 Ctrl + E 快捷鍵。
清除部分、全部或整行
使用 Ctrl + K 快捷鍵可以將當(dāng)前光標(biāo)位置之后的所有部分快速清除,Ctrl + W 可以清除當(dāng)前光標(biāo)位置之前的一個單詞,而 Ctrl + U 則可以直接剛整行命令直接清除。
自動補(bǔ)全命令或路徑
tab 鍵可以直接補(bǔ)全命令和路徑,讓我們免去很多輸入錯誤的可能。當(dāng)然,在命令記不全時,只需輸入幾個首字母即可用 tab 鍵來補(bǔ),還是十分方便的'。
例如:要在 Ubuntu 安裝軟件,只需輸入 apt-get ins 按 tab 之后即可被補(bǔ)全成 apt-get install。
切換最近使用的命令
在Linux 的終端歷史記錄中會記下用戶執(zhí)行過的命令,用戶只需按鍵盤的 ↓、↑ 上下箭頭即可快速切換執(zhí)行過的命令。
復(fù)制前行
!! 雙驚嘆號直接表示上一行命令,例如要用 sudo 重復(fù)執(zhí)行上一條命令,無需再輸一遍,只需執(zhí)行如下命令即可:
1. sudo !!
執(zhí)行指定歷史命令
若你想重復(fù)執(zhí)行的命令不是「上一條」,則不能再使用 !! 了。此時使用 ! 跟上要重復(fù)執(zhí)行的前述命令開頭即可。
復(fù)制前一個參數(shù)
將文件夾復(fù)制并粘貼到新路徑后,你可能還要在目錄中進(jìn)行其它操作,此時可以這樣切換:
1. cd !$
其中的 !$ 表示上次使用的參數(shù),通常只用于目錄。
目錄導(dǎo)航
在Linux 終端中進(jìn)行目錄導(dǎo)航和切換還是使用 cd 命令,下面介紹一些 cd命令的常見操作。
導(dǎo)航到特殊文件夾
在Linux 中操作文件夾時輸入路徑就是一個苦差事,但若你是通過桌面登錄系統(tǒng)的話,可以直接將要指定的文件夾拖入終端窗口,而不必手動輸入路徑。
回到上級目錄
與Windows 一樣,使用 cd.. 即可。如果要在父目錄的各文件夾之間進(jìn)行切換,使用 ../文件夾名即可。
回到上個目錄
如果你操作到一半時,需要返回上個進(jìn)入過的目錄,可以使用 – 破折號:
1. cd -
其它目錄導(dǎo)航操作
cd 返回家目錄
pwd 查看當(dāng)前目錄
cd / 回到根目錄(需要有權(quán)限)
多任務(wù)
執(zhí)行多條命令
要在 Linux 終端中同時執(zhí)行多個任務(wù),只需用 符號將多條命令串連起來即可,例如:
1. apt-get update apt-get upgrade
命令失敗備用
只會在前面一條命令執(zhí)行成功時才會繼續(xù)執(zhí)行后續(xù)命令,如果你想在首條命令執(zhí)行失敗時提供備用命令,只需將 替換為 || 即可。
后臺執(zhí)行任務(wù)
在任意 Linux 命令最后加上 符號即可將此任務(wù)丟到后臺去執(zhí)行,比較適合運(yùn)行時間較長的任務(wù)。對于后臺執(zhí)行的任務(wù)可以使用jobs 命令進(jìn)行顯示查看,也可以用 kill 將其干掉或用fg 命令將其挪到前臺.
;
權(quán)限管理命令 chmod
英文愿意: change the permissions mode of a file
語法: chmod[{ugoa}{+-=}{rwx}] [文件或目錄]
[mide = 421] [文件或目錄]
-R 遞歸修改
權(quán)限的數(shù)字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
7 6 4
例子:mkdir /temp 創(chuàng)建了一個目錄
touch /temp/testfile 在該目錄下創(chuàng)建了一個test file文件
chmod 777 /temp 改變了一下該目錄的權(quán)限
名稱: chgrp
英文原意:change file group ownership
語法:chgrp [用戶][文件或目錄]
功能: 改變文件或目錄的所屬租
例子: useradd hl // 添加所有者
groupadd brother // 添加所有組
charp brother text // brother變成了text文件的所屬組
注意:
1、所屬組就是創(chuàng)建這的所屬者的缺省組
2、linux中創(chuàng)建的文件缺少x(可執(zhí)行)為了使系統(tǒng)更加安全
mask
0022
0特殊權(quán)限
022 ugo --- -w- -w-
1、文件搜索命令find
執(zhí)行權(quán)限:find
語法:find[搜索范圍][匹配條件]
功能描述:文件搜索
例子:
find /etc -name init (-iname 不區(qū)分大小寫)
find /home -user(-group) hl
在根目錄下查找所有者(所有組)為hl的文件
在目錄/etc中查找文件init
init init init // 通配符
?init (?匹配單個字符)
find / -size +204800
在跟目錄下查找大于100MB的文件 (100MB = 102400KB = 204800)
+n 大于 -n小于 n等于
find /etc -cmin -5
例子2:
find /etc -size + 163840 -a size -204800
在/etc下查找大于80MB小于100MB的文件
-a兩個條件同時滿足
-o兩個條件滿足任意一個即可
在/etc下查找5分鐘內(nèi)被修改的屬性的文件和目錄
-amin 訪問時間 access
-cmin 文件屬性 change
-mmin 文件內(nèi)容 modify
2、文件搜索指令 locate
命名名稱:locate
執(zhí)行權(quán)限:所有用戶
語法:locate 文件名
功能描述:在文件資料庫中查找文件
例子: $ locate inittab
輸出文件所在位置
locate和find的區(qū)別:
locate的查找速度很快,因為find是在分區(qū)和磁盤上查找,而locate是在資料庫中查找
注意:如果資料庫沒有實時更新,所以locate可能會查不到要查詢的文件。
即:
updatedb (升級文件的資料庫)
loocate -i 文件名 (-i 不區(qū)分大小寫)
3、文件搜索命令:which (更精確呦)
執(zhí)行權(quán)限:所有用戶
功能描述:搜索命令所在目錄及別名信息
例子: which ls
alias(別名)
4、whiereis
執(zhí)行權(quán)限:所有用戶
語法: whereis[命令名稱]
功能描述:搜索命令所在目錄及幫助文檔路徑
例子: whereis ls
5、grep
執(zhí)行權(quán)限:所有用戶
語法:grep -iv[指定字串][文件]
功能描述:在文件中搜索字符串匹配的行并輸出
-i 不區(qū)分大小寫
-v 排除指定字符串
例子 grep mysql /root/install.log
補(bǔ)充: linux中 # 表示注釋
命名名稱:man
英文原意:manual
執(zhí)行權(quán)限:所有用戶
語法:man[命令或配置文件]
功能描述:獲取幫助信息
例子: man ls # 查看ls命令的幫助信息
man services 查看配置文件sevices的幫助信息
補(bǔ)充:man 。。。。后
/-g :查詢與g有關(guān)的信息
空格進(jìn)行翻頁
回車進(jìn)行換行
按n繼續(xù)查找
命令名稱:useradd
執(zhí)行權(quán)限:root
語法:useradd 用戶名
功能描述: 添加新用戶
例子: useradd HF
命令名稱:passwd
執(zhí)行權(quán)限:所有用戶
語法:passwd 用戶名
功能描述: 設(shè)置用戶密碼
例子: passwd HF
命令名稱:who
執(zhí)行權(quán)限:所有用戶
語法:who
功能描述: 查看登錄用戶信息
例子: who
輸出內(nèi)容含義:
登錄用戶名 登錄終端(tty本地登錄、pds表述遠(yuǎn)程終端) 登錄時間 登錄主機(jī)ip地址
命令名稱:w
執(zhí)行權(quán)限:所有用戶
語法:w
功能描述: 查看登錄用戶詳細(xì)信息
例子: w
命令名稱:gzip
英文原意:GNU zip
執(zhí)行權(quán)限:所有用戶
語法:gzip[文件]
功能描述: 壓縮文件
壓縮后文件格式:.gz
解壓縮:gunzip 壓縮文件
注意:gizp只能壓縮文件,不能壓縮目錄
命令名稱:tar
執(zhí)行權(quán)限:所有用戶
語法:tar 選項 [-zcf] [壓縮文件名] [目錄]
-c 打包
-v 顯示詳細(xì)文件
-f 指定文件名
-z 打包同時壓縮
功能描述: 打包目錄
壓縮后文件格式:.tar.gz
命令名稱:zip
執(zhí)行權(quán)限:所有用戶
語法:zip 選項[-r][壓縮后文件名][文件或目錄]
-r 壓縮目錄
功能描述: 壓縮文件或目錄
壓縮后文件格式: zip
注意:zip是window和linux系統(tǒng)中通過用的壓縮格式
命令名稱:bzip2
執(zhí)行權(quán)限:所有用戶
語法:bzip2 選項 [-k] [文件]
-k 產(chǎn)生壓縮文件后保留有源文件
功能描述: 壓縮文件
壓縮后文件格式: .bz2
注意: bzip2的壓縮比例大,適用于壓縮較大的文件
bunzip2解壓縮
對目錄壓縮:tar.bz2
指令名稱:write
指令權(quán)限:所有用戶
語法:write 用戶名
功能描述:給用戶發(fā)消息 ,以ctrl + D保存
例子: write YX
命令名稱:wall
英文原意:write all
執(zhí)行權(quán)限:所有用戶
語法:wall [message]
功能描述: 發(fā)廣播信息
命令名稱:ping
執(zhí)行權(quán)限:所有用戶
語法:ping 選項IP地址
-c 指定發(fā)送次數(shù)
功能描述: 測試網(wǎng)絡(luò)連通性
例子: ping 192.168.1.156
命令名稱:ifcongig
英文原意:interface configure
執(zhí)行權(quán)限:root
語法:ifconfig 網(wǎng)卡名稱 IP地址
功能描述:查看和設(shè)置網(wǎng)卡信息(設(shè)立之臨時IP)
例子: ifconfig etho 192.168.1.156
etch0 本地真實網(wǎng)卡
lo 回環(huán)網(wǎng)卡 (用來本機(jī)通信個測試的)
cncap:。。網(wǎng)絡(luò)名稱是以太網(wǎng)
HWaddr: 16進(jìn)制表示的 48位的 網(wǎng)卡的物理地址
addr:當(dāng)前計算機(jī)IP地址
Bcast:當(dāng)前網(wǎng)絡(luò)地址
Mask:子網(wǎng)掩碼
inet6 addr: 表示的是IPv6的地址信息
RX packets:接受數(shù)據(jù)包的總數(shù)量
TX packets:發(fā)送數(shù)據(jù)包的總數(shù)量
Base addtess: 網(wǎng)卡當(dāng)中的物理位置
命令名稱:mail (郵件命令)
執(zhí)行權(quán)限:所有用戶
語法:mail [用戶名]
功能描述:查看發(fā)送電子郵件
發(fā)送:ctrl + D
查詢: mail
例子: mail root
[圖片上傳中...(-d00bb9-1591253201012-0)]
命令名稱:last
執(zhí)行權(quán)限:所有用戶
語法:last
功能描述:列出目前和過去登入系統(tǒng)的用戶信息
命令名稱:traceroute
執(zhí)行權(quán)限:所有用戶
語法:traceroute
功能描述:顯示數(shù)據(jù)包到主機(jī)的路徑
例子: traceroute
命令名稱:netstat
執(zhí)行權(quán)限:所有用戶
語法:netstat [選項]
功能描述:顯示網(wǎng)絡(luò)相關(guān)信息
選項:
-t : TCP協(xié)議
-u : UDP協(xié)議
-l : 監(jiān)聽
-r : 路由
-n : 顯示IP地址和端口號
例子:
netstat -tlun 查看本機(jī)監(jiān)聽的端口
netstat -an 查看本機(jī)所有網(wǎng)絡(luò)鏈接
netstat -rn 查看本屆路由表
命令名稱:setup
執(zhí)行權(quán)限:root
語法:setup
功能描述:配置網(wǎng)絡(luò)(永久生效)
例子: setup
注意:配置網(wǎng)絡(luò)結(jié)束后要重啟網(wǎng)絡(luò)服務(wù)
service network restart
掛在命令
命令名稱:mount
執(zhí)行權(quán)限:所有用戶
語法:mount[-t 文件系統(tǒng)] 設(shè)備文件
例子: mount -t iso9660/dev/sr0/mnt/cdrom
命令名稱:shutdown
[root@localhost~]#shutdown [選項] 時間
選項:- c : 取消前一個關(guān)機(jī)命令
- h:關(guān)機(jī)
- r :重啟
特點(diǎn):可以正確的關(guān)閉和保存服務(wù),建議實用
其他關(guān)機(jī)命令
halt
poweroff (直接斷電)
init 0
重啟命令
reboot
init6
補(bǔ)充:init _ 的數(shù)字含義
init0 關(guān)機(jī)
init1 單用戶(啟動最小最核心的服務(wù))
init2 不完全多用戶,不含NFS服務(wù)(network file system 網(wǎng)絡(luò)文件系統(tǒng))
init3 完全多用戶
init4 未分配
init5 圖形界面
init6 重啟
查詢系統(tǒng)運(yùn)行級別
runlevel
退出登錄命令
logout
linux 常用命令有:
pwd 命令
使用 pwd 命令找出您所在的當(dāng)前工作目錄(文件夾)的路徑。該命令將返回一個絕對(完整)路徑,該路徑基本上是所有以 / 開頭的目錄的路徑。絕對路徑的一個示例是 /home/username。
cd 命令
要瀏覽 Linux 文件和目錄,請使用 cd 命令。根據(jù)您所在的當(dāng)前工作目錄,它需要目錄的完整路徑或名稱。假設(shè)您位于 /home/username / Documents 中,并且想要轉(zhuǎn)到 Documents 的子目錄 Photos。為此,只需鍵入以下命令:cd Photos。另一種情況是,如果您想切換到一個全新的目錄,例如 /home/username / Movies。在這種情況下,您必須輸入 cd,然后輸入目錄的絕對路徑:cd /home/username / Movies。有一些快捷方式可幫助您快速導(dǎo)航:cd ..(帶有兩個點(diǎn))將一個目錄向上移動 cd 直接轉(zhuǎn)到主文件夾 cd-(帶連字符)移動到上一個目錄附帶說明一下,Linux 的 shell 是區(qū)分大小寫的。因此,您必須準(zhǔn)確輸入名稱的目錄。
ls 命令
LS 命令用于查看目錄的內(nèi)容。默認(rèn)情況下,此命令將顯示當(dāng)前工作目錄的內(nèi)容。如果要查看其他目錄的內(nèi)容,請鍵入 ls,然后鍵入目錄的路徑。例如,輸入 LS / 家 / 用戶名 / 文檔查看的內(nèi)容的文件。您可以使用 ls 命令使用以下變體:ls -R 還將列出子目錄中的所有文件 ls -a 將顯示隱藏的文件 ls -al 將列出文件和目錄以及詳細(xì)信息,例如權(quán)限,大小,所有者等。
cat 命令
cat(連接的縮寫)是 Linux 中最常用的命令之一。它用于在標(biāo)準(zhǔn)輸出(sdout)上列出文件的內(nèi)容。要運(yùn)行此命令,請鍵入 cat,然后輸入文件名及其擴(kuò)展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat filename 創(chuàng)建一個新文件 cat filename1 filename2 filename3 連接兩個文件(1 和 2),并將它們的輸出存儲在新文件中(3)將文件轉(zhuǎn)換為大寫或小寫使用,cat filename | tr a-z A-Z output.txt
cp 命令
使用 cp 命令將文件從當(dāng)前目錄復(fù)制到另一個目錄。例如,命令 cp scenery.jpg/home /username/ Pictures 將在您的 Pictures 目錄中創(chuàng)建一個 Scene.jpg 副本(來自當(dāng)前目錄)。
mv 命令
mv 命令的主要用途是移動文件,盡管它也可以用于重命名文件。mv 中的參數(shù)類似于 cp 命令。您需要輸入 mv,文件名和目標(biāo)目錄。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令創(chuàng)建一個新目錄 - 如果鍵入 mkdir Music,它將創(chuàng)建一個名為 Music 的目錄。還有一些額外的 mkdir 命令:要在另一個目錄中生成新目錄,請使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父級)選項在兩個現(xiàn)有目錄之間創(chuàng)建一個目錄。例如,mkdir -p Music / 2022 / Newfile 將創(chuàng)建新的 “2022” 文件。
rmdir 命令
如果需要刪除目錄,請使用 rmdir 命令。但是,rmdir 僅允許您刪除空目錄。
rm 命令
該 RM 命令用于刪除目錄以及其中的內(nèi)容。如果只想刪除目錄(作為 rmdir 的替代方法),請使用 rm -r。注意:使用此命令時要格外小心,并仔細(xì)檢查您所在的目錄。這將刪除所有內(nèi)容,并且沒有撤消操作。
touch 命令
該觸摸命令允許您創(chuàng)建通過 Linux 命令行新的空白文件。例如,輸入 touch /home/username/Documents/Web.html 在 Documents 目錄下創(chuàng)建一個名為 Web 的 HTML 文件。
locate 命令
您可以使用此命令來定位文件,就像 Windows 中的搜索命令一樣。此外,將 - i 參數(shù)與該命令一起使用將使其不區(qū)分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。要搜索包含兩個或多個單詞的文件,請使用星號(*)。例如,locate -i school * note 命令將搜索包含單詞 “school” 和 “ note” 的任何文件,無論它是大寫還是小寫。
find 命令
在類似定位命令,使用 查找也搜索文件和目錄。區(qū)別在于,您可以使用 find 命令在給定目錄中查找文件。例如,find /home/-name notes.txt 命令將在主目錄及其子目錄中搜索名為 notes.txt 的文件。使用查找時的其他變化 是:要查找當(dāng)前目錄中使用的文件,請使用 find . -name notes.txt 要查找目錄,請使用 /-type d -name notes. txt13. grep 命令無疑對日常使用很有幫助的另一個基本 Linux 命令是 grep。它使您可以搜索給定文件中的所有文本。為了說明這一點(diǎn),grep blue notepad.txt 將在記事本文件中搜索單詞 blue。包含搜索到的單詞的行將被完整顯示。
sudo 命令
該命令是 “SuperUser Do” 的縮寫,使您能夠執(zhí)行需要管理或超級用戶權(quán)限的任務(wù)。但是,建議不要將此命令用于日常使用,因為如果您做錯了一些事情,很容易發(fā)生錯誤。
df 命令
使用 df 命令可獲取有關(guān)系統(tǒng)磁盤空間使用情況的報告,以百分比和 KB 表示。如果要以兆字節(jié)為單位查看報告,請輸入 df -m。
du 命令
如果要檢查文件或目錄占用了多少空間,答案是 du(磁盤使用情況)命令。但是,磁盤使用情況摘要將顯示磁盤塊號,而不是通常的大小格式。如果要以字節(jié),千字節(jié)和兆字節(jié)為單位查看它,請在命令行中添加 - h 參數(shù)。
head 命令
所述頭命令用于查看任何文本文件的第一行。默認(rèn)情況下,它將顯示前十行,但是您可以根據(jù)自己的喜好更改此數(shù)字。例如,如果只想顯示前五行,則鍵入 head -n 5 filename.ext。
tail 命令
該命令與 head 命令具有相似的功能,但是 tail 命令將顯示文本文件的最后十行,而不是顯示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差異的縮寫,diff 命令逐行比較兩個文件的內(nèi)容。分析文件后,它將輸出不匹配的行。程序員在需要進(jìn)行程序更改時經(jīng)常使用此命令,而不是重寫整個源代碼。此命令最簡單的形式是 diff file1.ext file2.ext
tar 命令
該 tar 命令是最常用的命令歸檔多個文件到一個壓縮包。類似于 zip 格式常見的 Linux 文件格式,壓縮是可選的。該命令具有很長的功能列表,非常復(fù)雜,例如將新文件添加到現(xiàn)有檔案中,列出檔案內(nèi)容,從檔案中提取內(nèi)容等等。查看一些實際示例,以了解有關(guān)其他功能的更多信息。
chmod 命令
chmod 是另一個 Linux 命令,用于更改文件和目錄的讀取,寫入和執(zhí)行權(quán)限。由于此命令相當(dāng)復(fù)雜,因此您可以閱讀完整的教程以正確執(zhí)行它。
chown 命令
在 Linux 中,所有文件均歸特定用戶所有。該 CHOWN 命令使您可以更改或文件的所有權(quán)轉(zhuǎn)讓給指定的用戶名。例如,chown linuxuser2 file.ext 將使 linuxuser2 成為 file.ext 的所有者。
Jobs 命令
jobs 命令將顯示所有當(dāng)前作業(yè)及其狀態(tài)。作業(yè)基本上是由 Shell 啟動的進(jìn)程。
kill 命令
如果您的程序無響應(yīng),則可以使用 kill 命令手動終止它。它將向運(yùn)行異常的應(yīng)用發(fā)送特定信號,并指示該應(yīng)用自行終止。您總共可以使用 64 個信號,但是人們通常只使用兩個信號:SIGTERM(15) — 請求程序停止運(yùn)行,并給它一些時間來保存其所有進(jìn)度。如果在輸入 kill 命令時未指定信號,則將使用此信號。SIGKILL(9) - 強(qiáng)制程序立即停止。未保存的進(jìn)度將丟失。除了知道信號之外,您還需要知道要?dú)⑺赖某绦虻倪M(jìn)程標(biāo)識號(PID)。如果您不知道 PID,只需運(yùn)行命令 ps ux。在知道您要使用什么信號以及程序的 PID 之后,輸入以下語法:kill [signal option] PID.
ping 命令
使用 ping 命令檢查與服務(wù)器的連接狀態(tài)。例如,只需輸入 ping google.com,該命令將檢查您是否能夠連接到 Google 并測量響應(yīng)時間。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的幫助下從 Internet 下載文件。為此,只需鍵入 wget,然后輸入下載鏈接即可。
uname 命令
該 UNAME 命令,短期對于 Unix 名,將打印您的 Linux 系統(tǒng),如計算機(jī)名稱的詳細(xì)信息,操作系統(tǒng),內(nèi)核,等等。
top 命令
作為與 Windows 中的任務(wù)管理器等效的終端,top 命令將顯示正在運(yùn)行的進(jìn)程的列表以及每個進(jìn)程使用的 CPU 數(shù)量。監(jiān)視系統(tǒng)資源使用情況非常有用,尤其是知道哪個進(jìn)程由于消耗太多資源而需要終止時。
history 命令
當(dāng)您使用 Linux 一段時間后,您會很快注意到每天可以運(yùn)行數(shù)百個命令。因此,如果您想查看之前輸入的命令,運(yùn)行歷史記錄命令特別有用。
man 命令
對某些 Linux 命令的功能感到困惑嗎?不用擔(dān)心,您可以使用 man 命令從 Linux 的外殼程序中輕松地學(xué)習(xí)如何使用它們。例如,輸入 man tail 將顯示 tail 命令的手動指令。
echo 命令
此命令用于將一些數(shù)據(jù)移到文件中。例如,如果要將文本 “Hello,我的名字叫 John” 添加到名為 name.txt 的文件中,則可以鍵入 echo Hello, my name is John name.txt
zip,unzip 命令
使用 zip 命令將文件壓縮到 zip 歸檔文件中,然后使用 unzip 命令從 zip 歸檔文件中提取壓縮文件。
hostname 命令
如果您想知道主機(jī) / 網(wǎng)絡(luò)的名稱,只需鍵入 hostname。在末尾添加 - I 將顯示您的網(wǎng)絡(luò)的 IP 地址。
useradd,userdel 命令
職場中,大部分都是通過 SSH客戶端 遠(yuǎn)程操作,實現(xiàn)磁盤讀取,文件讀取,目錄操作,進(jìn)程管理等等
打開終端3種方式,收藏夾黑色屏幕圖標(biāo)點(diǎn)擊,右鍵打開終端,Ctrl+Alt+t組合鍵
command ?[-options] [parameters] ?
command即終端命令,options為選項一般前面有橫杠,后面是參數(shù),選項和參數(shù)有中括號表示可選項
man command (man表示手冊縮寫,查看命令幫助文檔)出現(xiàn)文檔,按回車下滾一行,按空格(或f)下翻一頁,按b上翻一頁,輸入橫杠加上對應(yīng)的option可實現(xiàn)對應(yīng)部分高亮
command --help也可以實現(xiàn)幫助文檔,頁面和上面不太一樣,部分還出現(xiàn)了中文
pwd 命令 顯示當(dāng)前路徑
tree [path] 命令(默認(rèn)沒有,需要安裝,sudo apt install tree)可以將你當(dāng)前(或指定)路徑下的文件以樹狀遍歷(所有文件,遞歸)顯示出來
ls 命令 以列表顯示當(dāng)前目錄文件,(不再深層挖掘)ls顯示出來白色是文件,藍(lán)色是文件夾,綠色是可執(zhí)行文件,紅色一般是壓縮包
ls -a 顯示所有的文件包括隱藏文件,顯示結(jié)果以. 點(diǎn)開頭的就是隱藏文件
ls -l 用較長方式顯示文件?
前面10個字母(分成第一個和后9個,第一個橫杠表示一個文件,d表示一個目錄,l表示是個鏈接(類似快捷方式),后九個,rwx表示跟讀寫等操作有關(guān),后面講),硬鏈接數(shù),文件所屬用戶(第一個demo),文件所屬組(第二個demo),文件大?。˙為單位),最后修改時間,文件
ls -h以人性化顯示文件(一般和-l一起),可看出加了-h后,文件顯示的單位方便閱讀
cd 可以跟相對路徑和絕對路徑,路徑大小寫敏感
當(dāng)前路徑用“.”表示,上級路徑“..”
cd 什么都不加或者cd ~可以直接回家目錄/home
cd /去根目錄
cd -返回上次的目錄
mkdir創(chuàng)建目錄?
mkdir 目錄名 ? 不可以一次創(chuàng)建多級目錄(文件夾不存在情況下如mkdir a/b/c,a,b都不存在情況下,創(chuàng)建不了)
如果我們就是想創(chuàng)建多級目錄呢,使用遞歸創(chuàng)建目錄,會把沒有的目錄創(chuàng)建出來
mkdir a/b/c -p
touch創(chuàng)建文件
touch +文件名(建議加后綴名),可以一次創(chuàng)建多個文件用空格隔開
touch a.txt
touch a.txt b.txt
gedit打開文件
gedit 文件相對路徑或絕對路徑,(如果未成功打開需要加上sudo gedit)
同上個命令可以同時打開多個,打開的編輯器編輯內(nèi)容點(diǎn)擊保存完成文件編輯
打開文件后終端進(jìn)入等待狀態(tài)
rm刪除文件和文件夾
文件刪除不能恢復(fù)
rm -i 文件 ? ? ? 這種會出現(xiàn)是否提示,給自己個提醒機(jī)會(centos沒有-i就有提示)
rm -f 文件 ? 強(qiáng)制刪除(不提示,和上個相反)
rm -r 目錄 ? 刪除目錄(多級遞歸刪除)
cp拷貝文件和文件夾
cp a.txt b.txt 當(dāng)前路徑下的a.txt拷貝一個b.txt到當(dāng)前路徑,如果已經(jīng)存在b.txt直接覆蓋掉
加上-i模式可以給與提示(不是同名文件不會出現(xiàn))
-f 強(qiáng)制復(fù)制不提示
-v 顯示一行拷貝的過程
如果是復(fù)制文件夾要加上 -r 遞歸拷貝
-a 把文件或文件夾(是遞歸拷貝)的權(quán)限也一起復(fù)制過去
mv移動文件文件夾,重命名
mv 原路徑 目標(biāo)路徑
如果存在同名文件,默認(rèn)會覆蓋,還是加-i提示,如果選擇n,不會移動成功
-f 強(qiáng)制移動不提示
-v 顯示移動過程
移動文件夾不用加-r(刪除和拷貝不一樣)
clear 清除終端顯示內(nèi)容(類似DOS cls)快捷鍵,Ctrl+L
實際效果只是往下滾動,當(dāng)前輸入為第一行,拖動滾動條還是能看見之前的內(nèi)容= =
tab 自動補(bǔ)全(有時多個可能要再按下tab出現(xiàn)候選提示)
which 查看命令位置
光標(biāo)↑↓ 查看翻查之前調(diào)用過的命令
Ctrl+C 終止程序運(yùn)行
終端字體大小調(diào)整Ctrl Shift +(放大)
Ctrl - (縮小,注意無shift)
cal顯示日歷,當(dāng)日高亮
cal -3顯示當(dāng)前月及上下月的日歷(沒有-別的數(shù)字)
cal -y 顯示一年的日歷
cal -j 日歷顯示是當(dāng)年第幾天
cal 年份4位數(shù)(獲得年份日歷)
date顯示日期
date 加雙引號字符串格式化顯示,注意對應(yīng)大小寫
%F,%T同樣實現(xiàn)類似效果,分別格式化日期和時間
history 獲得所有的歷史指令
history 數(shù)字 顯示最近的數(shù)字條指令
如果我看到對應(yīng)指令,然后根據(jù)指令編號,直接輸入
! 指令編號 ? ? 即可執(zhí)行對應(yīng)指令,這些歷史指令都存在于家目錄隱藏文件 .bash_history 中
cat 直接在命令行顯示文件內(nèi)容,和gedit不一樣
-n 查看文件同時顯示行號
-b 文件空行不編號,但是給空出位置,顯示非空行編號
-s 兩行以上的空行只顯示一行(可以和前面的組合 -sb ? )
同時打開多個文件效果
more
more 文件路徑 ?
分屏查看,會顯示已經(jīng)顯示部分的百分比,
按回車滾一行,
按空格 ?或 ?Ctrl+F或F向下翻一屏,
Ctrl+B或B回滾一屏
q退出
more +num 表示從第num行開始查看,文件默認(rèn)第一行為1
-p 選項 清屏 置頂顯示內(nèi)容
-s 連續(xù)2行以上的空行顯示一個空行
more 也可以加多個文件,顯示不同文件有專門的分割,這是與cat的區(qū)別
模式:
當(dāng)打開終端,第一行所見的就叫命令行提示符。我的是這樣的:
命令行提示符,顧名思義就是提示在其后面輸入命令。在你輸入新的一行命令前,這個命令提示符都會出現(xiàn)。分別解析一下上邊代表什么意思:
oscar 這是當(dāng)前用戶的名字。Linux是一個多用戶的操作系統(tǒng),Windows也可以。不過Linux的多用戶管理更方便。我們一般建議每個使用Linux系統(tǒng)的用戶都創(chuàng)建一個屬于自己的賬戶,便于隱私管理。
@ 這個符號我們應(yīng)該不陌生,我們的電子郵件一般都是 name@domain.com 這樣的不是嗎。這個@就表示英語里的at,是“在...里面,落戶在...的,在其中”的意思。@前面是用戶名,后面是所在的域。
oscar-laptop 這是當(dāng)前電腦/操作系統(tǒng)的名字。上面說了在@后面的是一個域,所以 oscar@oscar-laptop 就表示oscar-laptop這臺電腦的oscar這個用戶。oscar-laptop這個名稱在安裝此Linux系統(tǒng)時可以任意指定。
: 這是分隔符,沒有什么特別的涵義。
~ 這是當(dāng)前所在目錄的名字,會隨著用戶進(jìn)入不同目錄而改變。~表示當(dāng)前用戶的家目錄,有點(diǎn)類似Windows系統(tǒng)的“我的文檔”這個目錄。
$ 指示你所具有的權(quán)限的字符。在Linux系統(tǒng)中有兩種可能:
因此, oscar@oscar-laptop:~$ 的意思就是:
你目前是以oscar這個用戶登錄;你的電腦名稱為oscar-laptop;你目前位于 ~ 目錄下,就是你的用戶家目錄。你是普通用戶,擁有有限的權(quán)限。
參數(shù)里可以包含多個參數(shù),由空格隔開,也可以包含數(shù)字,字母,等等??梢哉f,參數(shù)沒有固定的格式,但是一般來說還是遵循一定的規(guī)范的。
如果我們要一次加好幾個短參數(shù),可以用空格隔開,例如:
多個短參數(shù)也可以合并在一起,例如上面的命令等價于:
請注意:參數(shù)的字母的大小寫是有區(qū)別的,大寫的T和小寫的t通常表示不同意思。
如果有多個長參數(shù),是不能像多個短參數(shù)那樣合并寫的。而是只能以空格隔開,例如:
當(dāng)然我們也可以組合使用短參數(shù)和長參數(shù),例如:
有時候,同一個意義的參數(shù)有短參數(shù)和長參數(shù)兩種形式,效果是一樣的,可以任選哪一種。
有一些參數(shù)你還需要給它賦一個值才行。而且短參數(shù)和長參數(shù)的賦值的方式不盡相同。
例如,短參數(shù)賦值,通常是這樣的:
表示把10賦值給p參數(shù)。
如果是長參數(shù),則一般是這樣賦值:
長參數(shù)的方式更加容易理解,但是不如短參數(shù)那么簡潔。
正如我們說過的,參數(shù)的形式?jīng)]有絕對的準(zhǔn)則。我們上面給出的規(guī)則是一般的,有些命令的參數(shù)格式可能是我們沒怎么見過的。
有些參數(shù)就不一樣,而且取決于命令。例如對于 ls 這個命令,假如后面帶了一個參數(shù),這個參數(shù)是一個目錄的路徑名的話,那么就會列出此目錄下的文件。
兩種類型的文件
簡單起見,我們把Linux下的文件分為兩大類:
在一個文件系統(tǒng)中,我們總有一個被稱為根目錄的東西,這個根目錄里包含了所有其他目錄和文件。Linux中有且只有一個根目錄,就是
是的,就是用一個斜杠表示。沒有比根目錄再高一階的目錄了,因為沒有目錄包含根目錄,根目錄就是Linux最頂層的目錄。
Linux系統(tǒng)安裝后,包含了很多的文件和目錄(雖然其實都是文件),我們很容易迷失在“茫茫文?!敝小?/p>
當(dāng)然我們不可能一下子列出Linux中的所有文件,那不現(xiàn)實。但是我們可以向你展示如何在Linux的目錄樹中來回穿梭,你可以知道此刻你位于哪個目錄下。就好比能看懂Linux這個很大的“地圖”。
pwd 是英語Print Working Directory的縮寫,表示“打印當(dāng)前工作目錄”。
which 命令:獲取命令的可執(zhí)行文件的位置,which命令用于顯示一個命令的對應(yīng)的可執(zhí)行程序的位置??赡苈犉饋碛悬c(diǎn)拗口。
在Linux下,每一條命令其實對應(yīng)了一個可執(zhí)行程序。我們在終端中輸入命令,再按回車的時候,其實就是執(zhí)行了對應(yīng)的那個程序。比如說,pwd命令對應(yīng)的pwd程序就是存在于Linux中的。
which命令接受一個參數(shù),也就是你想要知道其可執(zhí)行程序位于哪里的那個命令。
我們來測試一下,就拿pwd命令來測試好了:
得到:
因此,pwd命令對應(yīng)的pwd這個可執(zhí)行程序位于/bin目錄中。
我們也可以注意到Linux中的可執(zhí)行程序和Windows中不太一樣,在Windows中可執(zhí)行程序一般以.exe結(jié)尾,而Linux中一般是沒有后綴名的。
Linux中的可執(zhí)行程序也不是都位于相同目錄的。我們可以來測試一下which命令本身對應(yīng)的可執(zhí)行程序位于哪里:
我們可以看到,which命令對應(yīng)的可執(zhí)行程序which并不位于/bin中,而是在/usr/bin中。
Ubuntu的終端默認(rèn)是有顏色標(biāo)注的,一般來說:
如果在你的終端里沒有標(biāo)明顏色,那么你可以加上參數(shù) --color=auto 來開啟顏色標(biāo)注。如下:
如果你不需要顏色標(biāo)注,那么可以用 --color=none 來關(guān)閉顏色標(biāo)注。如下:
當(dāng)然,為了避免每次都輸入這么一串額外的參數(shù),其實我們可以在一個配置文件里修改,使得永久顯示顏色或不顯示顏色。
在Linux,以點(diǎn)( . )開頭的文件是隱藏文件,不過這里不包括開頭的兩個 . 和 .. ,這兩個的含義如下:
- . (一個點(diǎn))表示當(dāng)前目錄。在當(dāng)前情況下,就是 /home/oscar 。
- .. (兩個點(diǎn))表示上一級目錄。因為當(dāng)前目錄是/home/oscar,所以上一級目錄就是 /home 。
我們有一個大寫的參數(shù) -A,它的作用和小寫的-a幾乎一樣,唯一不同就是-A不列出 . 和 .. 這兩個文件。
-l 這個參數(shù)算是ls命令最常用的了。加上-l參數(shù)使得ls命令列出一個顯示文件和目錄的詳細(xì)信息的列表。
當(dāng)我們僅用ls -l時,列出的文件詳細(xì)信息中,文件的大小是以字節(jié)為單位的。有時這不是太直觀。我們可以再加一個參數(shù)-h,h是humain readable的縮寫,表示“適合人類閱讀的”。所以我們的命令變成了:
t是time的縮寫。
du命令也是很有用的,因為它可以讓我們知道文件和目錄所占的空間大小。
雖然ls -l命令也可以顯示文件和目錄的大小,但是du命令統(tǒng)計的才是真正的文件大小。du命令會深入遍歷每個目錄的子目錄,把所有文件的大小都做一個統(tǒng)計。
du是英語disk usage的縮寫,表示“磁盤使用/占用”。
我們的du命令也可以使用參數(shù)。
cat命令和less命令:顯示文件內(nèi)容,這兩個命令只能顯示文件內(nèi)容,并不能對文件內(nèi)容進(jìn)行修改。
一次性顯示文件的所有內(nèi)容,如果你想要在顯示的文件內(nèi)容上加上行號,那么你可以加上 -n 這個參數(shù)。
分頁顯示文件內(nèi)容
head命令和tail命令:顯示文件的開頭和結(jié)尾。
顯示文件開頭,默認(rèn)情況下,head會顯示文件的頭10行。我們也可以指定顯示的行數(shù),用 -n 這個參數(shù):
就會顯示文件的頭5行。
顯示文件結(jié)尾。默認(rèn)情況下,tail會顯示文件的尾10行。
我們也可以指定顯示的行數(shù),用 -n 這個參數(shù):
就會顯示文件的尾5行。
tail命令還可以配合 -f 參數(shù)來實時追蹤文件的更新:
這樣,就會檢查文件是否有追加內(nèi)容,如果有,就顯示新增內(nèi)容。
默認(rèn)地,tail -f會每過1秒檢查一下文件是否有新內(nèi)容。你也可以指定間隔檢查的秒數(shù),用 -s 參數(shù):
可以用快捷鍵 Ctrl + c 來終止tail -f 命令。
touch命令和mkdir命令:創(chuàng)建文件和目錄
創(chuàng)建一個空白文件。事實上,Linux沒有一個命令是專門用來創(chuàng)建一個空白文件的。touch命令其實一開始的設(shè)計初衷是修改文件的時間戳,就是可以修改文件的創(chuàng)建時間或修改時間,讓電腦以為文件是在那個時候被修改或創(chuàng)建的。但是touch命令如果后面跟著的文件名是不存在的,那么它就會新建一個。
事實上,我們可以用touch命令同時創(chuàng)建多個文件:
如果我所要創(chuàng)建的文件的名字里有空格怎么辦呢?
很簡單,加上雙引號:
創(chuàng)建一個目錄。
mkdir也可以同時創(chuàng)建好幾個目錄:
如果我所要創(chuàng)建的目錄的名字里有空格怎么辦呢?
很簡單,加上雙引號:
我們還可以用 -p 參數(shù)來遞歸創(chuàng)建目錄結(jié)構(gòu)。
比如:
cp命令和mv命令:拷貝文件和移動文件
拷貝文件或目錄
cp是英語copy的縮寫,表示“拷貝”。所以,顧名思義,此命令用于拷貝。cp命令不僅可以拷貝單個文件,還可以拷貝多個文件,也可以拷貝目錄。
復(fù)制文件到另一個目錄只需要把cp命令的第二個參數(shù)換成目錄名。
拷貝目錄
要拷貝目錄,只要在cp命令之后加上-R參數(shù)(注意是大寫的R)??截惖臅r候,目錄中的所有內(nèi)容(子目錄和文件)都會被拷貝。
使用通配符*
*號(星號)是很常用的正則表達(dá)式的符號,被稱為“通配符”,
所以如果我們用如下命令:
那么就會把當(dāng)前目錄下所有txt文件拷貝到folder這個子目錄當(dāng)中。
又如:
那么就會把當(dāng)前目錄下凡是以ha開頭的文件都拷貝到folder目錄中。
移動文件
mv是英語move的縮寫,表示“移動”。mv命令有兩個功能:
用mv命令來移動目錄很簡單,不需要額外的參數(shù),就跟移動文件一樣:
當(dāng)然,我們也可以使用通配符。
除了移動文件,mv命令還可以用于重命名文件。
事實上,Linux中沒有一個專門的命令用于重命名文件。之所以mv命令可以重命名文件,其實還是歸因于它的機(jī)制:移動文件。經(jīng)過mv移動之后,原始文件變成了新的名字的文件,文件內(nèi)容是不變的,這不就相當(dāng)于重命名了嗎?
以上命令會將new_file重命名為renamed_file。
刪除文件和目錄
rm命令可以刪除一個文件,多個文件,目錄,甚至你的整個Linux系統(tǒng)(如果你愿意的話)。
以上命令刪除當(dāng)前目錄下的new_file_copy這個文件。
我們也可以同時刪除多個文件,只要用空格隔開每個文件即可。例如:
保險起見,用rm命令刪除文件時,可以加上 -i 參數(shù),這樣對于每一個要刪除的文件,終端都會詢問我們是否確定刪除。i是英語inform的縮寫,表示“告知,通知”。
有兩種回答:
y:是英語yes的縮寫,表示“是”。那么回車確認(rèn)后,文件就刪除了。
n:是英語no的縮寫,表示“否”。那么回車確認(rèn)后,文件不會刪除。
如果在rm命令后加上-f參數(shù),那么終端不會詢問用戶是否確定刪除文件,不論如何,文件會立刻被強(qiáng)制刪除。
f是英語force的縮寫。
以上命令會強(qiáng)制刪除file文件。
r是英語recursive的縮寫,表示“遞歸的”。所以使用-r參數(shù),可以使rm命令刪除目錄,并且遞歸刪除其包含的子目錄和文件。
這個命令也挺危險的,用得不好可能你的子目錄和文件都沒了。
以上命令會刪除one這個目錄,包括其子目錄和文件。
其實,也存在一個命令
看著和 rm -r 挺像的。但是這個命令有個局限性:只能刪除空的目錄。
創(chuàng)建鏈接
事實上,Linux下有兩種鏈接類型:
為了區(qū)分這兩種鏈接類型的不同,我們首先來談一談如Linux這樣的操作系統(tǒng)中文件在硬盤上的存放。
文件在硬盤上存儲時,大致來說(請注意我用了“大致來說”),每個文件有兩部分:
文件名的列表是儲存在硬盤的其他地方的,和文件內(nèi)容分開存放,這樣方便Linux管理。
注意:為什么我上面要用“大致說來”呢?因為此處我們簡化了描述,其實每個文件有三部分:
我們這里簡化地將文件分為兩部分:文件名和文件內(nèi)容。因為我們不想把事情復(fù)雜化,我們想要理解兩種鏈接類型的區(qū)別,暫時只要知道這些就夠了。
每個文件的文件內(nèi)容被分配到一個標(biāo)示號碼,就是inode。因此每個文件名都綁定到它的文件內(nèi)容(用inode標(biāo)識)。原理如下圖:
下面我們學(xué)習(xí)如何創(chuàng)建硬鏈接和軟連接。
比之軟鏈接,硬鏈接的使用幾率小很多。但是我們還是要學(xué)習(xí)一下,畢竟可能會用到。
硬鏈接的原理:使鏈接的兩個文件共享同樣的文件內(nèi)容,也就是同樣的inode。
所以一旦文件1和文件2之間有了硬鏈接,那么你修改文件1或文件2,其實修改的是相同的一塊內(nèi)容。只不過我們可以用兩個文件名來取到文件內(nèi)容。
硬鏈接有一個缺陷:只能創(chuàng)建指向文件的硬鏈接,不能創(chuàng)建指向目錄的硬鏈接。但是軟鏈接可以指向文件或目錄。當(dāng)然了,事實上,通過一些參數(shù)的修改,也可以創(chuàng)建指向目錄的硬鏈接,但是比較復(fù)雜,這里不再詳述。所以對于目錄的鏈接,我們一般都是用軟鏈接。
硬鏈接原理圖:
要創(chuàng)建硬鏈接,直接用ln命令,不加任何參數(shù):
我們可以用ls -i命令查看一下(-i參數(shù)可以顯示文件的inode)。對于硬鏈接來說,刪除任意一方的文件,共同指向的文件內(nèi)容并不會從硬盤上被刪除。
我們用ls -l命令查看文件信息的時候,第二列的那個2,其實是表示擁有相同inode號的文件數(shù)。不難理解,因為它們指向相同的文件內(nèi)容,所以共享一個inode。
這個第二列的數(shù)字,一般來說對于普通文件,都是1,因為不同文件inode不同嘛。對于目錄來說,這第二列的數(shù)字標(biāo)明目錄內(nèi)所含文件數(shù)目。
其實,軟鏈接才是真正像我們在Windows下的快捷方式的,其原理很相似。
創(chuàng)建硬鏈接是ln不帶任何參數(shù),但是要創(chuàng)建軟鏈接需要加上-s參數(shù)。s是symbolic(符號的)的縮寫。
file2指向的不再是file1的文件內(nèi)容(和硬鏈接不同),而是指向file1的文件名。
軟鏈接原理圖:
用ls -l命令查看一下,會發(fā)現(xiàn)形式和之前的硬鏈接不一樣噢,file2的信息是這樣的: file2-file1,表示file2指向file1。
而且file2前面的權(quán)限那里的第一個字母變成了l,表示link(鏈接)。之前硬鏈接的時候是沒有l(wèi)的,硬鏈接外表看起來就和普通文件類似。
我們用ls -l命令查看文件信息的時候,第二列的那個1,表示擁有相同inode號的文件數(shù)。不難理解,因為file2指向file1,它們并沒有指向同一塊文件內(nèi)容,所以它們的inode號不相同。
軟鏈接的特點(diǎn):