Linux 經常使用命令總結

一.命令基礎

1.關於[tesla@localhost ~]$[root@localhost ~]#的說明

格式爲:[用戶名@主機名 當前目錄名] #或$
其中:
①#表示當前爲root用戶,$表示當前爲普通用戶;
②~表示家目錄,root用戶的家目錄爲/root,普通用戶的家目錄爲/home/用戶名;node

[root@localhost ~]# pwd
/root
[tesla@localhost ~]$ pwd
/home/tesla

2.命令的基本格式

命令 [選項] [參數]
注意:
個別命令不遵照此格式;
有多個選項時,能夠寫在一塊兒;
選項分完整選項(-- 完整選項名)和簡化選項(-簡化選項名),eg: --all-a;linux

3.命令分類

(1)幫助命令
(2)文件處理和搜索命令
(3)打包壓縮命令
(4)關機重啓命令
(5)其餘經常使用命令正則表達式

4.經常使用目錄的基本做用

(1)/ 根目錄
(2)/bin 命令保存目錄(全部用戶就能夠執行的命令)
(3)/sbin 命令保存目錄(超級用戶才能執行的命令)
(4)/boot 啓動目錄,含有啓動相關的文件
(5)/dev 設備文件保存目錄
(6)/etc 配置文件保存目錄
(7)/home 普通用戶家目錄的上級目錄
(8)/root 超級用戶的家目錄
(9)/lib 系統函數庫保存目錄
(10)/mnt 空目錄,用來掛載u盤等,linux經常使用空目錄來掛載設備
(11)/media 空目錄,用來掛載光盤
(12)/misc 空目錄,用來掛載雜項設備
(13)/proc 內存的掛載目錄
(14)/sys 內存的掛載目錄
(15)/usr 系統軟件資源目錄
/usr/bin 系統命令(普通用戶)
/usr/sbin 系統命令(超級用戶)
(16)/tmp 臨時目錄
(17)/var 系統相關文檔內容shell

說明:
//usr目錄下的binsbin目錄,都是用來保存系統命令的;
/proc/sys保存的是內存的掛載點,不能直接操做;
③能夠在家目錄(/root/home/xxx)和/tmp任意存放內容;數據庫

二.具體命令

1.幫助命令

(1)
man [選項] 命令:獲取指定命令的幫助
man -k 字符串:查看全部包含字符串的命令的全部級別的幫助,至關於"apropos 命令";
man -f 命令:查看命令擁有哪些級別的幫助,至關於"whatis 命令";
而後用相似man 8 ifconfig的格式進一步查看特定級別的幫助。windows

(2)
命令 --help:獲取命令的幫助選項
eg:ls --help緩存

(3)
help shell內部命令:獲取shell內部命令的幫助
eg:help cdbash

(4)
info 命令 :能夠利用該命令獲取幫助
·回車 進入子幫助頁面(帶有*標記)
·u 進入上層頁面
·n 進入下一個幫助小節
·p 進入上一個幫助小節
·q 退出函數

2.文件處理和搜索命令

·文件處理

(1)
ls [選項] [文件或目錄] :查詢目錄內容
選項:
-a 顯示全部文件,包括隱藏文件
-d 查看目錄屬性
-h 人性化顯示文件大小
-i 顯示inode
-l 查看詳細信息測試

(2)
cd [目錄] :change directory,切換目錄
簡化操做:
cd/cd - 進入上一次的目錄
cd . 進入當前目錄
cd .. 進入上一級目錄
cd ~進入當前用戶的家目錄

(3)
mkdir [選項] [目錄]:make directories,建立目錄
·選項:
-p 遞歸建立

(4)
pwd :print working directory,顯示當前所在目錄

(5)
rmdir [目錄名] :remove empty directories,刪除空目錄

(6)
rm [選項] [目錄或文件名] :remove
· [選項]
-r 刪除目錄
-f 強制

(7)
cp [選項] [源文件或目錄] [目標目錄] :copy,複製文件或目錄
·[選項]
-p 連帶文件屬性複製
-d 若源文件是連接文件,則複製連接屬性
-r 複製目錄
-a 至關於-pdr

(8)
mv [選項] [源文件或目錄] [目標目錄名或文件名] :move,移動文件或目錄,若在同一個目錄,可用來更名

(9)
ln [選項] [源文件] [目標文件] :link,生成連接文件,默認(不加-s)建立硬鏈接,文件的引用計數加一
·[選項]
-s 建立軟連接
·說明:
-軟連接特徵
①相似windows快捷方式;
②軟連接擁有本身的inode和block,但數據塊中只保存原文件的文件名和inode,並無實際的文件數據;
③lrwxrwxrwx,l表示軟連接,其文件權限都爲rwxrwxrwx;
④修改任一文件,另外一個都會改變;
⑤刪除原文件,軟連接不能使用;

-硬連接特徵
①擁有相同的inode和存儲block,能夠看做是同一個文件;(相似一個教室的先後門)
②能夠經過inode識別;
③不能跨分區(同一教室的先後門沒法存在於兩個教學樓上);
④不能針對目錄使用。

·文件搜索

(1)
locate 文件名:用於查找文件,它比find命令的搜索速度快,它須要一個數據庫,這個數據庫由天天的例行工做(crontab)程序來創建。

(2)
whereis [選項] 命令名:搜索命令或幫助文檔的路徑
·[選項]
-b 只查找可執行文件
-m 只查找可幫助文件
·相關命令

whoami
whatis

(3)
which 命令名:搜索命令的路徑和別名
·$PATH:定義系統搜索命令的路徑,可用echo $PATH輸出

(4)
find [搜索範圍] [搜索條件]:搜索文件
find /root -name install.log
在/root下搜索符合文件名的文件;
若是文件名不區分大小寫用-iname
若是要進行匹配搜索,能夠用通配符;
linux的經常使用通配符:
*匹配任意內容,?匹配任意一個字符,[]匹配其中任意一個字符
find /root -user root
按全部者搜索
find /root -nouser
查找沒有全部者的文件
find /var/log -mtime +10
查找10天前修改的文件,-10(10天內),10(10天當天);
atime文件訪問時間,ctime改變文件屬性,mtime修改文件內容
find . -size 25k
查找文件大小是25KB的文件
-25k 小於25KB
+25k 大於25KB
find . -inum 262422
查找i節點是262422的文件
find /etc -size +20k a -mtime +10 -exec ls -lh {}\;
查找/etc目錄下大於20KB且在10天以前最後修改的文件,並顯示詳細信息;
find是咱們很經常使用的一個Linux命令,可是咱們通常查找出來的並不只僅是看看而已,還會有進一步的操做,這個時候exec的做用就顯現出來了。-exec 參數後面跟的是command命令,它的終止是以;爲結束標誌的,因此這句命令後面的分號是不可缺乏的,考慮到各個系統中分號會有不一樣的意義,因此前面加反斜槓。{}表明前面find查找出來的文件名。

(5)
grep [選項] 字符串 文件名:在文件當中匹配符合條件的字符串
·[選項]
-i 忽略大小寫
-v 排除指定字符串
·find與grep的區別
find是在系統當中搜索複合條件的文件名,須要匹配時使用通配符進行徹底匹配;grep在文件中搜索複合條件的字符串,須要匹配時使用正則表達式進行包含匹配。

3.打包壓縮命令

常見壓縮格式1:.tar.gz,.tar.bz2
常見壓縮格式2:gz,.bz2,.zip
(1)
·zip 壓縮後文件名 原文件名:壓縮文件
·zip -r 壓縮後文件名 原目錄名:壓縮目錄
·unzip 壓縮文件:解壓縮文件

(2)
·gzip 源文件:壓縮爲.gz格式的文件,源文件會消失
·gzip -c 源文件 > 壓縮文件:壓縮爲.gz格式的文件,保留源文件
·gzip -r 目錄:壓縮目錄下的全部文件,但不能壓縮目錄(用tar先打包)
·gzip -d .gz格式壓縮文件:解壓縮.gz格式的文件
·gunzip .gz格式壓縮文件:解壓縮.gz格式的文件

(3)
·bzip2 源文件:壓縮爲.bz2格式的文件,源文件會消失,加-k保留源文件,不能壓縮目錄
·bzip2 -d .bz2格式壓縮文件:解壓縮.bz2格式的文件,加-k保留源文件
·bunzip2 .bz2格式壓縮文件:解壓縮.bz2格式的文件,加-k保留源文件

(4)
·tar -cvf 打包後文件名.tar 源文件:打包文件
-c打包
-t測試,顯示打包後文件名,並不真正打包
-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.關機重啓命令

(1)
shutdown [選項] 時間
·[選項]:
-c取消前一個關機命令
-h關機
-r重啓
eg:shutdown -r now
shutdown -h 05:30 &

(2)其餘關機命令:
halt
power off
init 0

(3)其餘重啓命令:
reboot
init 6

(4)系統運行級別
·0關機
·1單用戶
·2不徹底多用戶,不含NFS服務
·3徹底多用戶
·4未分配
·5圖形界面
·6重啓
·runlevel 顯示上一個運行級別和當前運行級別

(5)
logout:退出登陸

5.其餘經常使用命令

(1)掛載命令
mount:查看系統中已經掛載好的設備
mount -a:依據配置文件/etc/fstab的內容,自動掛載
mount [-t 文件系統] [-o 特殊選項] 設備文件名 掛載點
·選項:
-t 文件系統:指定掛載的文件系統(ext3/ext4/iso9660等)
-o 特殊選項:指定掛載的額外選項(如exex/noexec,是否容許該處執行可執行文件,默承認以)

④掛載光盤
·mkdir mnt/cdrom/ 創建掛載點
·mount [-t iso9660] /dev/sr0 /mnt/cdrom/ 掛載光盤
/dev/cdrom是/dev/sr0的軟連接,依賴系統,推薦使用/dev/sr0;
系統能自動識別光盤的文件系統,因此-t iso9660能夠省略。
⑤掛載U盤(忽略)

(2)卸載命令
umount 設備文件名或掛載點
eg:umount /dev/sr0umount /mnt/cdrom

(3)用戶登陸查看命令

w:查看當前用戶登陸的信息(詳細)
命令輸出:
·USER:登陸的用戶名
·TTY:登陸終端
·FROM:登陸IP
·LOGIN@:登陸時間
·IDLE:用戶閒置時間
·WHAT:當前正在運行的命令

who:查看當前用戶登陸的信息(簡單)
命令輸出:
·用戶名
·登陸終端
·登陸時間(登陸IP)

last:查看當前和過去用戶登陸的信息
默認讀取的是/var/log/wtmp文件數據
命令輸出:
·用戶名
·登陸終端
·登陸IP
·登陸時間
·退出時間(在線時間)

lastlog:查看全部用戶的最後一次登陸時間
默認讀取的是/var/log/lastlog文件數據
命令輸出:
·用戶名
·登陸終端
·登陸IP
·最後一次登陸時間

(4)命令別名
alias :查看系統中的全部命令別名
alias 別名 = '原命令':設定命令別名(註銷或重啓則失效)
unalias 別名 :刪除別名(註銷或重啓則失效)
要讓別名永久生效或失效能夠寫入環境變量配置文件,如~/.bashrc
·命令生效順序
①用相對或絕對路徑執行的命令
②別名
③Bash的內部命令
④按照$PATH環境變量定義的目錄的順序查找到的第一個命令
·bash經常使用快捷鍵
ctrl+c 強制終止當前命令
ctrl+l 清屏
ctrl+a 移動光標到命令行首
ctrl+e 移動光標到命令行尾
ctrl+u 從光標所在位置一直刪除到行首
ctrl+z 將命令放入後臺
ctrl+r 在歷史命令中搜索

(5)歷史命令
history [選項]
·[選項]
-c 清空歷史命令
-w 把緩存中的歷史命令寫入~/.bash_history中
·歷史命令默認保存1000條,可在/etc/profile中的HISTSIZE進行修改
·歷史命令的調用:
①上下箭頭
②"!!"重複執行上一條命令,
"!n"重複執行第n條命令,
"!字符串"重複執行最近一條以該字符串開頭的命令

(6)輸出重定向
①標準輸入輸出

設備 設備文件名 文件描述符 類型
鍵盤 /dev/stdin 0 標準輸入
顯示器 /dev/stdout 1 標準輸出
顯示器 /dev/stderr 2 標準錯誤輸出

②輸出重定向:改變輸出方向,從顯示器轉移到別的地方。

類型 符號 做用 備註
標準輸出重定向 命令 > 文件 覆蓋  
命令 >> 文件 追加  
標準錯誤輸出重定向 錯誤命令 2>文件 覆蓋 沒有空格
錯誤命令 2>>文件 追加
正確輸出錯誤輸出同時保存 命令 >  文件 2>&1 覆蓋  
命令 >> 文件 2>&1 追加(重要)  
命令 &>文件 覆蓋 ls &>null將執行命令結果丟到黑洞中
命令 &>>文件 追加(重要)  
命令 >>文件Right  2>>文件Error 追加(重要) 正確命令的結果寫入文件1,錯誤的寫入文件2

(7)輸入重定向(瞭解,不多用)
wc [選項] [文件名]
直接輸入wc,而後隨便輸入內容,ctrl+d統計行數+單詞數+字符數
·[選項]
-l 統計行數
-w 統計單詞數
-c 統計字符數
wc < access.log ,其實能夠直接用wc access.log;
wc <<deli
.............
deli
統計兩個分隔符deli之間的內容的行數+單詞數+字符數

(8)多命令順序執行
命令1;命令2 命令之間無邏輯關係
命令1||命令2 邏輯或
命令1&&命令2 邏輯與

(9)管道符
命令1|命令2
命令2把命令1的正確輸出看成操做對象,只有命令1正確,命令2纔會執行;

(10)特殊符號
·通配符
:任意一個字符
* :任意內容
[] [-] [^] :範圍
·Bash中其餘特殊符號
'' 單引號,其中全部的特殊符號都沒有特殊含義,如 $和`(反引號);
"" 雙引號,除$ ` \外,其中全部的特殊符號都沒有特殊含義,這三個符號的做用依次分別是"調用變量的值"、"引用命令"、"轉義符";
$()反引號 用來引用系統命令,在bash中會先執行,推薦使用$(),反引號容易看錯
# 在shell中表明註釋
$ 用於調用變量的值,如$var
\ 轉義符,以後的特殊符號將失去特殊意義

6.vi經常使用指令

(1)底行模式經常使用指令
:w
:q
:!
:ls
:n
:15
/xxx
?xxx

(2)命令模式經常使用指令
h光標向左移
j光標向下移
k光標向上移
l光標向右移
ctrl + f 向下翻頁(front)
ctrl + b 向上翻頁(back)
ctrl + d 向下翻半頁(down)
ctrl + u 向上翻半頁(up)
o 在光標所在行的下方插入一行,並切換到輸入模式
p 在光標所在行的下方粘貼,P在光標所在行的上方粘貼
dd刪除光標所在行
yy複製光標所在行

7.磁盤管理

(1)
df :查看磁盤分區使用狀況
[選項]
-l 僅顯示本地磁盤(默認)
-a 顯示全部文件系統的磁盤使用狀況,包含/proc/等
-h 以1024爲進制,按最合適單位顯示磁盤容量(-H 1000)
-t 顯示指定文件系統的磁盤分區(-x 不顯示)
-T 顯示磁盤分區類型

(2)
du :統計磁盤上文件的大小
[選項]
-b 以byte爲單位統計文件大小(-k Kb,-m Mb)
-h 以1024爲進制,按最合適單位統計大小(-H 1000)
-s 指定統計目標

8.分區模式

(1)MBR
①主分區不超過4個
②單個分區容量不超過2TB

(2)GPT①主分區個數"幾乎"沒有限制(GPT的分區表最多能夠支持128個主分區)②單個分區容量"幾乎"沒有限制

相關文章
相關標籤/搜索