[tesla@localhost ~]$
和[root@localhost ~]#
的說明格式爲:[用戶名@主機名 當前目錄名] #或$
其中:
①#表示當前爲root用戶,$表示當前爲普通用戶;
②~表示家目錄,root用戶的家目錄爲/root,普通用戶的家目錄爲/home/用戶名;node
[root@localhost ~]# pwd /root [tesla@localhost ~]$ pwd /home/tesla
命令 [選項] [參數]
注意:
個別命令不遵照此格式;
有多個選項時,能夠寫在一塊兒;
選項分完整選項(-- 完整選項名)和簡化選項(-簡化選項名),eg: --all
與-a
;linux
(1)幫助命令
(2)文件處理和搜索命令
(3)打包壓縮命令
(4)關機重啓命令
(5)其餘經常使用命令正則表達式
(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
目錄下的bin
和sbin
目錄,都是用來保存系統命令的;
②/proc
和/sys
保存的是內存的掛載點,不能直接操做;
③能夠在家目錄(/root
和/home/xxx
)和/tmp
任意存放內容;數據庫
(1)man [選項] 命令
:獲取指定命令的幫助man -k 字符串
:查看全部包含字符串的命令的全部級別的幫助,至關於"apropos 命令
";man -f 命令
:查看命令擁有哪些級別的幫助,至關於"whatis 命令
";
而後用相似man 8 ifconfig
的格式進一步查看特定級別的幫助。windows
(2)命令 --help
:獲取命令的幫助選項
eg:ls --help
緩存
(3)help shell內部命令
:獲取shell內部命令的幫助
eg:help cd
bash
(4)info 命令
:能夠利用該命令獲取幫助
·回車 進入子幫助頁面(帶有*標記)
·u 進入上層頁面
·n 進入下一個幫助小節
·p 進入上一個幫助小節
·q 退出函數
(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在文件中搜索複合條件的字符串,須要匹配時使用正則表達式進行包含匹配。
常見壓縮格式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格式文件
(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
:退出登陸
(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/sr0
或umount /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
⑥\
轉義符,以後的特殊符號將失去特殊意義
(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
複製光標所在行
(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 指定統計目標
(1)MBR
①主分區不超過4個
②單個分區容量不超過2TB
(2)GPT①主分區個數"幾乎"沒有限制(GPT的分區表最多能夠支持128個主分區)②單個分區容量"幾乎"沒有限制