Linux 常用命令总结
一.命令基礎(chǔ)
1.關(guān)于[tesla@localhost ~]$和[root@localhost ~]#的說明
格式為:[用戶名@主機(jī)名 當(dāng)前目錄名] #或$
其中:
①#表示當(dāng)前為root用戶,$表示當(dāng)前為普通用戶;
②~表示家目錄,root用戶的家目錄為/root,普通用戶的家目錄為/home/用戶名;
2.命令的基本格式
命令 [選項(xiàng)] [參數(shù)]
注意:
個(gè)別命令不遵守此格式;
有多個(gè)選項(xiàng)時(shí),可以寫在一起;
選項(xiàng)分完整選項(xiàng)(-- 完整選項(xiàng)名)和簡(jiǎn)化選項(xiàng)(-簡(jiǎn)化選項(xiàng)名),eg: --all與-a;
3.命令分類
(1)幫助命令
(2)文件處理和搜索命令
(3)打包壓縮命令
(4)關(guān)機(jī)重啟命令
(5)其他常用命令
4.常用目錄的基本作用
(1)/ 根目錄
(2)/bin 命令保存目錄(所有用戶就可以執(zhí)行的命令)
(3)/sbin 命令保存目錄(超級(jí)用戶才能執(zhí)行的命令)
(4)/boot 啟動(dòng)目錄,含有啟動(dòng)相關(guān)的文件
(5)/dev 設(shè)備文件保存目錄
(6)/etc 配置文件保存目錄
(7)/home 普通用戶家目錄的上級(jí)目錄
(8)/root 超級(jí)用戶的家目錄
(9)/lib 系統(tǒng)函數(shù)庫(kù)保存目錄
(10)/mnt 空目錄,用來(lái)掛載u盤等,linux常用空目錄來(lái)掛載設(shè)備
(11)/media 空目錄,用來(lái)掛載光盤
(12)/misc 空目錄,用來(lái)掛載雜項(xiàng)設(shè)備
(13)/proc 內(nèi)存的掛載目錄
(14)/sys 內(nèi)存的掛載目錄
(15)/usr 系統(tǒng)軟件資源目錄
/usr/bin 系統(tǒng)命令(普通用戶)
/usr/sbin 系統(tǒng)命令(超級(jí)用戶)
(16)/tmp 臨時(shí)目錄
(17)/var 系統(tǒng)相關(guān)文檔內(nèi)容
說明:
①/ 和 /usr目錄下的bin和sbin目錄,都是用來(lái)保存系統(tǒng)命令的;
②/proc和/sys保存的是內(nèi)存的掛載點(diǎn),不能直接操作;
③可以在家目錄(/root和/home/xxx)和/tmp任意存放內(nèi)容;
二.具體命令
1.幫助命令
(1)
man [選項(xiàng)] 命令:獲取指定命令的幫助
man -k 字符串:查看所有包含字符串的命令的所有級(jí)別的幫助,相當(dāng)于"apropos 命令";
man -f 命令:查看命令擁有哪些級(jí)別的幫助,相當(dāng)于"whatis 命令";
然后用類似man 8 ifconfig的格式進(jìn)一步查看特定級(jí)別的幫助。
(2)
命令 --help:獲取命令的幫助選項(xiàng)
eg:ls --help
(3)
help shell內(nèi)部命令:獲取shell內(nèi)部命令的幫助
eg:help cd
(4)
info 命令 :可以利用該命令獲取幫助
·回車 進(jìn)入子幫助頁(yè)面(帶有*標(biāo)記)
·u 進(jìn)入上層頁(yè)面
·n 進(jìn)入下一個(gè)幫助小節(jié)
·p 進(jìn)入上一個(gè)幫助小節(jié)
·q 退出
2.文件處理和搜索命令
·文件處理
(1)
ls [選項(xiàng)] [文件或目錄] :查詢目錄內(nèi)容
選項(xiàng):
-a 顯示所有文件,包括隱藏文件
-d 查看目錄屬性
-h 人性化顯示文件大小
-i 顯示inode
-l 查看詳細(xì)信息
(2)
cd [目錄] :change directory,切換目錄
簡(jiǎn)化操作:
cd/cd - 進(jìn)入上一次的目錄
cd . 進(jìn)入當(dāng)前目錄
cd .. 進(jìn)入上一級(jí)目錄
cd ~進(jìn)入當(dāng)前用戶的家目錄
(3)
mkdir [選項(xiàng)] [目錄]:make directories,創(chuàng)建目錄
·選項(xiàng):
-p 遞歸創(chuàng)建
(4)
pwd :print working directory,顯示當(dāng)前所在目錄
(5)
rmdir [目錄名] :remove empty directories,刪除空目錄
(6)
rm [選項(xiàng)] [目錄或文件名] :remove
· [選項(xiàng)]
-r 刪除目錄
-f 強(qiáng)制
(7)
cp [選項(xiàng)] [源文件或目錄] [目標(biāo)目錄] :copy,復(fù)制文件或目錄
·[選項(xiàng)]
-p 連帶文件屬性復(fù)制
-d 若源文件是鏈接文件,則復(fù)制鏈接屬性
-r 復(fù)制目錄
-a 相當(dāng)于-pdr
(8)
mv [選項(xiàng)] [源文件或目錄] [目標(biāo)目錄名或文件名] :move,移動(dòng)文件或目錄,若在同一個(gè)目錄,可用來(lái)改名
(9)
ln [選項(xiàng)] [源文件] [目標(biāo)文件] :link,生成鏈接文件,默認(rèn)(不加-s)創(chuàng)建硬連接,文件的引用計(jì)數(shù)加一
·[選項(xiàng)]
-s 創(chuàng)建軟鏈接
·說明:
-軟鏈接特征
①類似windows快捷方式;
②軟鏈接擁有自己的inode和block,但數(shù)據(jù)塊中只保存原文件的文件名和inode,并沒有實(shí)際的文件數(shù)據(jù);
③lrwxrwxrwx,l表示軟鏈接,其文件權(quán)限都為rwxrwxrwx;
④修改任一文件,另一個(gè)都會(huì)改變;
⑤刪除原文件,軟鏈接不能使用;
-硬鏈接特征
①擁有相同的inode和存儲(chǔ)block,可以看作是同一個(gè)文件;(類似一個(gè)教室的前后門)
②可以通過inode識(shí)別;
③不能跨分區(qū)(同一教室的前后門無(wú)法存在于兩個(gè)教學(xué)樓上);
④不能針對(duì)目錄使用。
·文件搜索
(1)
locate 文件名:用于查找文件,它比f(wàn)ind命令的搜索速度快,它需要一個(gè)數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)由每天的例行工作(crontab)程序來(lái)建立。
(2)
whereis [選項(xiàng)] 命令名:搜索命令或幫助文檔的路徑
·[選項(xiàng)]
-b 只查找可執(zhí)行文件
-m 只查找可幫助文件
·相關(guān)命令
whoami
whatis
(3)
which 命令名:搜索命令的路徑和別名
·$PATH:定義系統(tǒng)搜索命令的路徑,可用echo $PATH輸出
(4)
find [搜索范圍] [搜索條件]:搜索文件
①find /root -name install.log
在/root下搜索符合文件名的文件;
如果文件名不區(qū)分大小寫用-iname
如果要進(jìn)行匹配搜索,可以用通配符;
linux的常用通配符:
*匹配任意內(nèi)容,?匹配任意一個(gè)字符,[]匹配其中任意一個(gè)字符
②find /root -user root
按所有者搜索
③find /root -nouser
查找沒有所有者的文件
④find /var/log -mtime +10
查找10天前修改的文件,-10(10天內(nèi)),10(10天當(dāng)天);
atime文件訪問時(shí)間,ctime改變文件屬性,mtime修改文件內(nèi)容
⑤find . -size 25k
查找文件大小是25KB的文件
-25k 小于25KB
+25k 大于25KB
⑥find . -inum 262422
查找i節(jié)點(diǎn)是262422的文件
⑦find /etc -size +20k a -mtime +10 -exec ls -lh {}\;
查找/etc目錄下大于20KB且在10天之前最后修改的文件,并顯示詳細(xì)信息;
find是我們很常用的一個(gè)Linux命令,但是我們一般查找出來(lái)的并不僅僅是看看而已,還會(huì)有進(jìn)一步的操作,這個(gè)時(shí)候exec的作用就顯現(xiàn)出來(lái)了。-exec 參數(shù)后面跟的是command命令,它的終止是以;為結(jié)束標(biāo)志的,所以這句命令后面的分號(hào)是不可缺少的,考慮到各個(gè)系統(tǒng)中分號(hào)會(huì)有不同的意義,所以前面加反斜杠。{}代表前面find查找出來(lái)的文件名。
(5)
grep [選項(xiàng)] 字符串 文件名:在文件當(dāng)中匹配符合條件的字符串
·[選項(xiàng)]
-i 忽略大小寫
-v 排除指定字符串
·find與grep的區(qū)別
find是在系統(tǒng)當(dāng)中搜索復(fù)合條件的文件名,需要匹配時(shí)使用通配符進(jìn)行完全匹配;grep在文件中搜索復(fù)合條件的字符串,需要匹配時(shí)使用正則表達(dá)式進(jìn)行包含匹配。
3.打包壓縮命令
常見壓縮格式1:.tar.gz,.tar.bz2
常見壓縮格式2:gz,.bz2,.zip
(1)
·zip 壓縮后文件名 原文件名:壓縮文件
·zip -r 壓縮后文件名 原目錄名:壓縮目錄
·unzip 壓縮文件:解壓縮文件
(2)
·gzip 源文件:壓縮為.gz格式的文件,源文件會(huì)消失
·gzip -c 源文件 > 壓縮文件:壓縮為.gz格式的文件,保留源文件
·gzip -r 目錄:壓縮目錄下的所有文件,但不能壓縮目錄(用tar先打包)
·gzip -d .gz格式壓縮文件:解壓縮.gz格式的文件
·gunzip .gz格式壓縮文件:解壓縮.gz格式的文件
(3)
·bzip2 源文件:壓縮為.bz2格式的文件,源文件會(huì)消失,加-k保留源文件,不能壓縮目錄
·bzip2 -d .bz2格式壓縮文件:解壓縮.bz2格式的文件,加-k保留源文件
·bunzip2 .bz2格式壓縮文件:解壓縮.bz2格式的文件,加-k保留源文件
(4)
·tar -cvf 打包后文件名.tar 源文件:打包文件
-c打包
-t測(cè)試,顯示打包后文件名,并不真正打包
-v顯示過程
-f指定打包后的文件名
eg:tar -cvf mytar.tar mytar
·tar -xvf 打包文件名.tar [-C 解壓縮位置]:解打包文件
-x解打包
·tar -zcvf 打包后文件名.tar.gz 源文件:打包壓縮文件為.tar.gz格式
·tar -zxvf 打包文件名.tar.gz :解打包解壓縮.tar.gz格式文件
·tar -jcvf 打包后文件名.tar.bz2 源文件:打包壓縮文件為.tar.bz2格式
·tar -jxvf 打包文件名.tar.bz2:解打包解壓縮.tar.bz2格式文件
4.關(guān)機(jī)重啟命令
(1)
shutdown [選項(xiàng)] 時(shí)間
·[選項(xiàng)]:
-c取消前一個(gè)關(guān)機(jī)命令
-h關(guān)機(jī)
-r重啟
eg:shutdown -r now
shutdown -h 05:30 &
(2)其他關(guān)機(jī)命令:
halt
power off
init 0
(3)其他重啟命令:
reboot
init 6
(4)系統(tǒng)運(yùn)行級(jí)別
·0關(guān)機(jī)
·1單用戶
·2不完全多用戶,不含NFS服務(wù)
·3完全多用戶
·4未分配
·5圖形界面
·6重啟
·runlevel 顯示上一個(gè)運(yùn)行級(jí)別和當(dāng)前運(yùn)行級(jí)別
(5)
logout:退出登錄
5.其他常用命令
(1)掛載命令
①mount:查看系統(tǒng)中已經(jīng)掛載好的設(shè)備
②mount -a:依據(jù)配置文件/etc/fstab的內(nèi)容,自動(dòng)掛載
③mount [-t 文件系統(tǒng)] [-o 特殊選項(xiàng)] 設(shè)備文件名 掛載點(diǎn)
·選項(xiàng):
-t 文件系統(tǒng):指定掛載的文件系統(tǒng)(ext3/ext4/iso9660等)
-o 特殊選項(xiàng):指定掛載的額外選項(xiàng)(如exex/noexec,是否允許該處執(zhí)行可執(zhí)行文件,默認(rèn)可以)
④掛載光盤
·mkdir mnt/cdrom/ 建立掛載點(diǎn)
·mount [-t iso9660] /dev/sr0 /mnt/cdrom/ 掛載光盤
/dev/cdrom是/dev/sr0的軟鏈接,依賴系統(tǒng),推薦使用/dev/sr0;
系統(tǒng)能自動(dòng)識(shí)別光盤的文件系統(tǒng),所以-t iso9660可以省略。
⑤掛載U盤(忽略)
(2)卸載命令
umount 設(shè)備文件名或掛載點(diǎn)
eg:umount /dev/sr0或umount /mnt/cdrom
(3)用戶登錄查看命令
①
w:查看當(dāng)前用戶登錄的信息(詳細(xì))
命令輸出:
·USER:登錄的用戶名
·TTY:登錄終端
·FROM:登錄IP
·LOGIN@:登錄時(shí)間
·IDLE:用戶閑置時(shí)間
·WHAT:當(dāng)前正在運(yùn)行的命令
②
who:查看當(dāng)前用戶登錄的信息(簡(jiǎn)單)
命令輸出:
·用戶名
·登錄終端
·登錄時(shí)間(登錄IP)
③
last:查看當(dāng)前和過去用戶登錄的信息
默認(rèn)讀取的是/var/log/wtmp文件數(shù)據(jù)
命令輸出:
·用戶名
·登錄終端
·登錄IP
·登錄時(shí)間
·退出時(shí)間(在線時(shí)間)
④
lastlog:查看所有用戶的最后一次登錄時(shí)間
默認(rèn)讀取的是/var/log/lastlog文件數(shù)據(jù)
命令輸出:
·用戶名
·登錄終端
·登錄IP
·最后一次登錄時(shí)間
(4)命令別名
①alias :查看系統(tǒng)中的所有命令別名
②alias 別名 = '原命令':設(shè)定命令別名(注銷或重啟則失效)
③unalias 別名 :刪除別名(注銷或重啟則失效)
要讓別名永久生效或失效可以寫入環(huán)境變量配置文件,如~/.bashrc
·命令生效順序
①用相對(duì)或絕對(duì)路徑執(zhí)行的命令
②別名
③Bash的內(nèi)部命令
④按照$PATH環(huán)境變量定義的目錄的順序查找到的第一個(gè)命令
·bash常用快捷鍵
①ctrl+c 強(qiáng)制終止當(dāng)前命令
②ctrl+l 清屏
③ctrl+a 移動(dòng)光標(biāo)到命令行首
④ctrl+e 移動(dòng)光標(biāo)到命令行尾
⑤ctrl+u 從光標(biāo)所在位置一直刪除到行首
⑥ctrl+z 將命令放入后臺(tái)
⑦ctrl+r 在歷史命令中搜索
(5)歷史命令
history [選項(xiàng)]
·[選項(xiàng)]
-c 清空歷史命令
-w 把緩存中的歷史命令寫入~/.bash_history中
·歷史命令默認(rèn)保存1000條,可在/etc/profile中的HISTSIZE進(jìn)行修改
·歷史命令的調(diào)用:
①上下箭頭
②"!!"重復(fù)執(zhí)行上一條命令,
"!n"重復(fù)執(zhí)行第n條命令,
"!字符串"重復(fù)執(zhí)行最近一條以該字符串開頭的命令
(6)輸出重定向
①標(biāo)準(zhǔn)輸入輸出
| 鍵盤 | /dev/stdin | 0 | 標(biāo)準(zhǔn)輸入 |
| 顯示器 | /dev/stdout | 1 | 標(biāo)準(zhǔn)輸出 |
| 顯示器 | /dev/stderr | 2 | 標(biāo)準(zhǔn)錯(cuò)誤輸出 |
②輸出重定向:改變輸出方向,從顯示器轉(zhuǎn)移到別的地方。
| 標(biāo)準(zhǔn)輸出重定向 | 命令 > 文件 | 覆蓋 | ? |
| 命令 >> 文件 | 追加 | ? | |
| 標(biāo)準(zhǔn)錯(cuò)誤輸出重定向 | 錯(cuò)誤命令 2>文件 | 覆蓋 | 沒有空格 |
| 錯(cuò)誤命令 2>>文件 | 追加 | ||
| 正確輸出錯(cuò)誤輸出同時(shí)保存 | 命令 > ?文件 2>&1 | 覆蓋 | ? |
| 命令 >> 文件 2>&1 | 追加(重要) | ? | |
| 命令 &>文件 | 覆蓋 | ls &>null將執(zhí)行命令結(jié)果丟到黑洞中 | |
| 命令 &>>文件 | 追加(重要) | ? | |
| 命令 >>文件Right ?2>>文件Error | 追加(重要) | 正確命令的結(jié)果寫入文件1,錯(cuò)誤的寫入文件2 |
(7)輸入重定向(了解,很少用)
wc [選項(xiàng)] [文件名]
直接輸入wc,然后隨便輸入內(nèi)容,ctrl+d統(tǒng)計(jì)行數(shù)+單詞數(shù)+字符數(shù)
·[選項(xiàng)]
-l 統(tǒng)計(jì)行數(shù)
-w 統(tǒng)計(jì)單詞數(shù)
-c 統(tǒng)計(jì)字符數(shù)
①wc < access.log ,其實(shí)可以直接用wc access.log;
②wc <<deli
.............
deli
統(tǒng)計(jì)兩個(gè)分隔符deli之間的內(nèi)容的行數(shù)+單詞數(shù)+字符數(shù)
(8)多命令順序執(zhí)行
①命令1;命令2 命令之間無(wú)邏輯關(guān)系
②命令1||命令2 邏輯或
③命令1&&命令2 邏輯與
(9)管道符
命令1|命令2
命令2把命令1的正確輸出當(dāng)作操作對(duì)象,只有命令1正確,命令2才會(huì)執(zhí)行;
(10)特殊符號(hào)
·通配符
①? :任意一個(gè)字符
②* :任意內(nèi)容
③[] [-] [^] :范圍
·Bash中其他特殊符號(hào)
①'' 單引號(hào),其中所有的特殊符號(hào)都沒有特殊含義,如 $和`(反引號(hào));
②"" 雙引號(hào),除$ ` \外,其中所有的特殊符號(hào)都沒有特殊含義,這三個(gè)符號(hào)的作用依次分別是"調(diào)用變量的值"、"引用命令"、"轉(zhuǎn)義符";
③$()和反引號(hào) 用來(lái)引用系統(tǒng)命令,在bash中會(huì)先執(zhí)行,推薦使用$(),反引號(hào)容易看錯(cuò)
④# 在shell中代表注釋
⑤$ 用于調(diào)用變量的值,如$var
⑥\ 轉(zhuǎn)義符,之后的特殊符號(hào)將失去特殊意義
6.vi常用指令
(1)底行模式常用指令
①:w
②:q
③:!
④:ls
⑤:n
⑥:15
⑦/xxx
⑧?xxx
(2)命令模式常用指令
①h光標(biāo)向左移
②j光標(biāo)向下移
③k光標(biāo)向上移
④l光標(biāo)向右移
⑤ctrl + f 向下翻頁(yè)(front)
⑥ctrl + b 向上翻頁(yè)(back)
⑦ctrl + d 向下翻半頁(yè)(down)
⑧ctrl + u 向上翻半頁(yè)(up)
⑨o 在光標(biāo)所在行的下方插入一行,并切換到輸入模式
⑩p 在光標(biāo)所在行的下方粘貼,P在光標(biāo)所在行的上方粘貼
①dd刪除光標(biāo)所在行
②yy復(fù)制光標(biāo)所在行
7.磁盤管理
(1)
df :查看磁盤分區(qū)使用情況
[選項(xiàng)]
-l 僅顯示本地磁盤(默認(rèn))
-a 顯示所有文件系統(tǒng)的磁盤使用情況,包含/proc/等
-h 以1024為進(jìn)制,按最合適單位顯示磁盤容量(-H 1000)
-t 顯示指定文件系統(tǒng)的磁盤分區(qū)(-x 不顯示)
-T 顯示磁盤分區(qū)類型
(2)
du :統(tǒng)計(jì)磁盤上文件的大小
[選項(xiàng)]
-b 以byte為單位統(tǒng)計(jì)文件大小(-k Kb,-m Mb)
-h 以1024為進(jìn)制,按最合適單位統(tǒng)計(jì)大小(-H 1000)
-s 指定統(tǒng)計(jì)目標(biāo)
8.分區(qū)模式
(1)MBR
①主分區(qū)不超過4個(gè)
②單個(gè)分區(qū)容量不超過2TB
(2)GPT
①主分區(qū)個(gè)數(shù)"幾乎"沒有限制(GPT的分區(qū)表最多可以支持128個(gè)主分區(qū))
②單個(gè)分區(qū)容量"幾乎"沒有限制
總結(jié)
以上是生活随笔為你收集整理的Linux 常用命令总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创建故障转移群集,LiveMigrati
- 下一篇: 2007-3-31第五天CCNA课