1. 安裝程序
1.常用命令
- yum install yum-fastestmirror (自動搜索最快鏡像插件)
- yum install yumex (安裝yum圖形窗口插件)
- yum grouplist (查看可能批量安裝的列表)
2.安裝
- yum install (全部安裝)
- yum install xxx (安裝指定xxx)(它安裝單個軟件,以及這個軟件的依賴關系)
- yum groupinstall xxx (安裝指定程序xxx)(它安裝一個安裝包,這個安裝包包涵了很多單個軟件,以及單個軟件的依賴關系。)
3.更新和升級
- yum update (全部更新)
- yum update package1 (更新指定程序包package1)
- yum check-update (檢查可更新的程序)
- yum upgrade package1 (升級指定程序包package1)
- yum groupupdate group1 (升級程序組group1)
4.查找和顯示
- yum info package1 (顯示安裝包信息package1)
- yum list (顯示所有已經安裝和可以安裝的程序包)
- yum list package1 (顯示指定程序包安裝情況package1)
- yum groupinfo group1 (顯示程序組group1信息yum search string 根據關鍵字string查找安裝包)
5.刪除程序
- yum remove | erase package1 (刪除程序包package1)
- yum groupremove group1 (刪除程序組group1)
- yum deplist package1 (查看程序package1依賴情況)
6.清除緩存
- yum clean packages (清除緩存目錄下的軟件包)
- yum clean headers (清除緩存目錄下的 headers)
- yum clean oldheaders (清除緩存目錄下舊的 headers)
- yum clean, yum clean all (= yum clean packages; yum clean oldheaders) (清除緩存目錄下的軟件包及舊的headers)
7.命令格式
- yum -y install 包名(支持*) :自動選擇y,全自動
- yum install 包名(支持*) :手動選擇y or n
- yum remove 包名(不支持*)
- rpm -ivh 包名(支持*):安裝rpm包
- rpm -e 包名(不支持*):卸載rpm包
2. 基本命令
1.關機
- shutdown -h now (立即關機)
- shutdown -h 5 (5分鍾后關機)
- poweroff (立即關機)
2.重啟
- shutdown -r now (立即重啟)
- shutdown -r 5 (5分鍾后重啟)
- reboot (立即重啟)
3. 幫助命令
1.help
- shutdown --help
- ifconfig --help````
2.man
- man shutdown (按q退出)
4. 目錄操作命令
1. cd 切換目錄
- cd / (切換到根目錄)
- cd /xx (切換到根目錄下的xx)
- cd ../ (切換到上機目錄)
- cd ~ (切換到home目錄)
- cd - (切換到上次瀏覽目錄)
2. ls 查看目錄
- ls (查看當前目錄下的所有目錄和文件)
- ls -a (查看當前目錄下的所有目錄和文件,包括隱藏文件)
- ls -l 或 -ll (列表查看當前目錄下的所有目錄和文件,列表查看,顯示更多信息)
- ls /dir (查看指定目錄下的所有文件)
3. 操作目錄(增,刪,改,查)
1. mkdir 創建目錄
命令 : mkdir dir(目錄)
- mkdir xx (在當前目錄下創建一個名為xx的目錄)
- mkdir /xx/xx (在指定目錄下創建一個名為xx的目錄)
2. rm 刪除目錄/文件
命令 : rm [-rf] 目錄
刪除目錄 :
- rm -r xx (遞歸刪除當前文件下的xx目錄)
- rm -rf xxx (遞歸刪除當前目錄下的xx目錄,不作詢問)
刪除文件 :
- rm 文件 (刪除當前目錄下的文件)
- rm -f 文件 (刪除當前目錄的文件,不作詢問)
全部刪除 :
- rm -rf * (刪除當前目錄下的所有的目錄的文件,不作詢問)
- rm -rf /xxx/* (刪除指定目錄下的所有的目錄和文件,不作詢問)
3. mv/cp 修改目錄
重命名目錄 命令:mv 當前目錄 新目錄
- mv xx yy (將目錄xx修改為yy)
注:mv的語法不僅可以對目錄進行重命名而且也可以對各種文件,壓縮包等進行重命名的操作
剪切目錄 命令:mv 目錄名稱 新位置
- mv /usr/tmp/xx /usr (將/usr/tmp目錄下的xx目錄剪切到/usr目錄下面)
注:mv語法不僅可以對目錄進行剪切操作,對文件和壓縮包等都可執行剪切操作
拷貝目錄 命令:cp -r 目錄名稱 目標位置 -r (遞歸)
- cp /usr/tmp/xx /usr (將/usr/tmp目錄下的xx目錄復制到/usr目錄下面)
注:cp命令不僅可以拷貝目錄還可以拷貝文件,壓縮包等,拷貝文件和壓縮包時不用寫-r遞歸
4. find 搜索目錄
命令:find 目錄 參數 文件名稱
- find /usr/tmp -name 'x*' (查找/usr/tmp目錄下所有一=以x開頭的目錄和文件)
5. 文件操作命令
1. 文件操作
1. touch 新建文件
命令: touch 文件名
- touch xx.txt (當前目錄下創建一個xx.txt的文件)
2. rm 刪除文件
命令: rm -rf 文件名
- rm -rf xx.txt (當前目錄下刪除一個xx.txt的文件)
3. vi/vim 修改文件
【vi編輯器的3種模式】命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
- 命令行模式command mode)
控制屏幕光標的移動,字符、字或行的刪除,查找,移動復制某區段及進入Insert mode下,或者到 last line mode。
命令行模式下的常用命令:
1. 控制光標移動:↑,↓,j
2. 刪除當前行:dd
3. 查找:/字符
4. 進入編輯模式:i o a
5. 進入底行模式:: - 編輯模式(Insert mode)
只有在Insert mode下,才可以做文字輸入,按「ESC」鍵可回到命令行模式。
編輯模式下常用命令:
1. ESC 退出編輯模式到命令行模式; - 底行模式(last line mode)
將文件保存或退出vi,也可以設置編輯環境,如尋找字符串、列出行號……等。
底行模式下常用命令:
1. 退出編輯: :q
2. 強制退出: :q!
3. 保存並退出: :wq
1. 打開文件
命令:vi 文件名
- vi aa.txt 或者 vim aa.txt (打開當前目錄下的aa.txt文件)
注:使用vi編輯器打開文件后,並不能編輯,因為此時處於命令模式,點擊鍵盤i/a/o進入編輯模式。
2. 編輯文件
使用vi編輯器打開文件后點擊按鍵:i ,a或者o即可進入編輯模式。
- i:在光標所在字符前開始插入
- a:在光標所在字符后開始插入
- o:在光標所在行的下面另起一新行插入
保存或者取消編輯
3. 保存/取消文件:
- ESC 進入命令行模式
- : 進入底行模式
- wq/q! 保存並退出編輯/撤銷本次修改並退出編輯
4. cat/more/less/tail 查看文件
1. cat 看最后一屏
- cat t.txt (使用cat查看t.txt文件,只能顯示最后一屏內容)
2. more 百分比顯示
- more t.txt (使用more查看t.txt文件,可以顯示百分比,回車可以向下一行,空格可以向下一頁,q可以退出查看)
3. less 翻頁查看
- less t.txt (使用less查看t.txt文件,可以使用鍵盤上的PgUp和PgDn向上 和向下翻頁,q結束查看)
4. tail 指定行數或者動態查看
- tail -5 t.txt (使用tail -5 查看t.txt文件的后5行,Ctrl+C結束)
2. 修改權限
rwx:r代表可讀,w代表可寫,x代表該文件是一個可執行文件,如果rwx任意位置變為-則代表不可讀或不可寫或不可執行文件。
- r 讀權限read 4
- w 寫權限write 2
- x 操作權限execute 1
- 第一位:-就代表是文件,d代表是文件夾
- 第一段(3位):代表擁有者的權限
- 第二段(3位):代表擁有者所在的組,組員的權限
- 第三段(最后3位):代表的是其他用戶的權限
示例:給t.txt文件權限改為可執行文件權限,t.txt文件的權限是 - rw- --- ---
6. 壓縮文件操作
1. 打包/壓縮
- Windows的壓縮文件的擴展名 .zip/.rar
- linux中的打包文件:aa.tar
- linux中的壓縮文件:bb.gz
- linux中打包並壓縮的文件:.tar.gz
命令:tar -zcvf 打包壓縮后的文件名 要打包的文件 z:調用gzip壓縮命令進行壓縮 c:打包文件 v:顯示運行過程 f:指定文件名
- tar -zcvf xx.tar * (打包並壓縮當前目錄下的所有文件)
- tar -zcvf xx.tar aa.txt bb.txt (壓縮當前目錄下指定的aa.txt和bb.txt文件打包並壓縮)
2. 解壓
命令:tar [-zxvf] 壓縮文件 其中:x 代表解壓
- tar -xvf xx.tar -C /usr (將xx.tar解壓到根目錄下/usr中,C代表指定解壓的位置)
7. 查找命令
1. grep
命令:grep [-abcEFGhHilLnqrsvVwxy][-A<顯示行數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<范本樣式>][-f<范本文件>][--help][范本樣式][文件或目錄...]
- 作用:查找文件里符合條件的字符串
- -a :將 binary 文件以 text 文件的方式搜尋數據
- -c :計算找到 '搜尋字符串' 的次數
- -i :忽略大小寫的不同,所以大小寫視為相同
- -n :順便輸出行號
- -v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內容的那一行!
- --color=auto :可以將找到的關鍵詞部分加上顏色的顯示喔!
- 命令詳情:grep
####### 實例
- grep -i hello *.txt (搜索當前目錄下的文件內容包含hello不區分大小寫,后綴txt的文件內容)
2. find
find path -option [-print] [-exec ok command] } ;
- 作用:在目錄結構中搜索文件,並對搜索結果執行指定的操作 默認搜索當前目錄和子目錄
- . 表示當前目錄以及子目錄
- / 表示根目錄
- -mount, -xdev : 只檢查和指定目錄在同一個文件系統下的文件,避免列出其它文件系統中的文件
- -amin n : 在過去 n 分鍾內被讀取過
- -anewer file : 比文件 file 更晚被讀取過的文件
- -atime n : 在過去n天內被讀取過的文件
- -cmin n : 在過去 n 分鍾內被修改過
- -cnewer file :比文件 file 更新的文件
- -ctime n : 在過去n天內被修改過的文件
- -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱是 name
- -ipath p, -path p : 路徑名稱符合 p 的文件,ipath 會忽略大小寫
- -name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫
- -size n : 文件大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。
- -type c : 文件類型是 c 的文件。
- d: 目錄
- c: 字型裝置文件
- b: 區塊裝置文件
- p: 具名貯列
- f: 一般文件
- l: 符號連結
- s: socket
- -pid n : process id 是 n 的文件
- 命令詳情:find
實例
- find . -name "*.txt" (查找當前目錄及子目錄所有文件名后綴為.txt文件並列表出來)
- find -type f (查找當前目錄及子目錄所有一般文件並列表出來)
3. locate
locate [-d ][--help][--version][范本樣式...]
- 作用:用於查找符合條件的文檔,他會去保存文檔和目錄名稱的數據庫內,查找合乎范本樣式條件的文檔或目錄
- -b, --basename -- 僅匹配路徑名的基本名稱
- -c, --count -- 只輸出找到的數量
- -d, --database DBPATH -- 使用 DBPATH 指定的數據庫,而不是默認數據庫 /var/lib/mlocate/mlocate.db
- -e, --existing -- 僅打印當前現有文件的條目
- -1 -- 如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權限無法看到 的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的 權限資料。
- -0, --null -- 在輸出上帶有NUL的單獨條目
- -S, --statistics -- 不搜索條目,打印有關每個數據庫的統計信息
- -q -- 安靜模式,不會顯示任何錯誤訊息。
- -P, --nofollow, -H -- 檢查文件存在時不要遵循尾隨的符號鏈接
- -l, --limit, -n LIMIT -- 將輸出(或計數)限制為LIMIT個條目
- -n -- 至多顯示 n個輸出。
- -m, --mmap -- 被忽略,為了向后兼容
- -r, --regexp REGEXP -- 使用基本正則表達式
- --regex -- 使用擴展正則表達式
- -q, --quiet -- 安靜模式,不會顯示任何錯誤訊息
- -s, --stdio -- 被忽略,為了向后兼容
- -o -- 指定資料庫存的名稱。
- -h, --help -- 顯示幫助
- -i, --ignore-case -- 忽略大小寫
- -V, --version -- 顯示版本信息
- 命令詳解:locate
實例
- locate passwd (查找passwd文件夾)
- locate /usr/a (查找usr目錄下所有以開頭的文件)
- locate -i ~/r (搜索當前用戶下所有以r開頭的問價)
4. whereis
whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]
- 作用:用於查找文件,在特定目錄中查找符合條件的文件。這些文件應屬於原始代碼、二進制文件,或是幫助文件
- -b 只查找二進制文件。
- -B<目錄> 只在設置的目錄下查找二進制文件。
- -f 不顯示文件名前的路徑名稱。
- -m 只查找說明文件。
- -M<目錄> 只在設置的目錄下查找說明文件。
- -s 只查找原始代碼文件。
- -S<目錄> 只在設置的目錄下查找原始代碼文件。
- -u 查找不包含指定類型的文件。
- 命令詳解:whereis
實例
- whereis bash (使用指令"whereis"查看指令"bash"的位置)
- where -b bash (單獨查詢二進制文件或幫助文件)
5. which
which [文件...]
- 作用:命令用於查找文件,which指令會在環境變量$PATH設置的目錄里查找符合條件的文件。
- -n<文件名長度> 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
- -p<文件名長度> 與-n參數相同,但此處的<文件名長度>包括了文件的路徑。
- -w 指定輸出時欄位的寬度。
- -V 顯示版本信息。
- 命令詳解:which
實例
- which bash (查看指令"bash"的絕對路徑)
6. su
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
- 作用:用於變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼
- -f 或 --fast 不必讀啟動檔(如 csh.cshrc 等),僅用於 csh 或 tcsh
- -m -p 或 --preserve-environment 執行 su 時不改變環境變數
- -c command 或 --command=command 變更為帳號為 USER 的使用者並執行指令(command)后再變回原來使用者
- -s shell 或 --shell=shell 指定要執行的 shell (bash csh tcsh 等),預設值為 /etc/passwd 內的該使用者(USER) shell
- --help 顯示說明文件
- --version 顯示版本資訊
-
- -l 或 --login 這個參數加了之后,就好像是重新 login 為該使用者一樣,大部份環境變數(HOME SHELL USER等等)都是以該使用者(USER)為主,並且工作目錄也會改變,如果沒有指定 USER ,內定是 root
- USER 欲變更的使用者帳號
- ARG 傳入新的 shell 參數
- 命令詳解:su
實例
- su -c ls root (變更帳號為 root 並在執行 ls 指令后退出變回原使用者)
- su root -f (變更帳號為 root 並傳入 -f 參數給新執行的 shell)
- su - clsung (變更帳號為 clsung 並改變工作目錄至 clsung 的家目錄(home dir))
7. sudo
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
- 作用:以系統管理者的身份執行指令,也就是說,經由 sudo 所執行的指令就好像是 root 親自執行。
- -V 顯示版本編號
- -h 會顯示版本編號及指令的使用方式說明
- -l 顯示出自己(執行 sudo 的使用者)的權限
- -v 因為 sudo 在第一次執行時或是在 N 分鍾內沒有執行(N 預設為五)會問密碼,這個參數是重新做一次確認,如果超過 N 分鍾,也會問密碼
- -k 將會強迫使用者在下一次執行 sudo 時問密碼(不論有沒有超過 N 分鍾)
- -b 將要執行的指令放在背景執行
- -p prompt 可以更改問密碼的提示語,其中 %u 會代換為使用者的帳號名稱, %h 會顯示主機名稱
- -u username/#uid 不加此參數,代表要以 root 的身份執行指令,而加了此參數,可以以 username 的身份執行指令(#uid 為該 username 的使用者號碼)
- -s 執行環境變數中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
- -H 將環境變數中的 HOME (家目錄)指定為要變更身份的使用者家目錄(如不加 -u 參數就是系統管理者 root )
- 命令詳解:sudo
8. 系統服務
- service iptables status (查看iptables服務的狀態)
- service iptables start (開啟iptables服務)
- service iptables stop (停止iptables服務)
- service iptables restart (重啟iptables服務)
- chkconfig iptables off (關閉iptables服務的開機自啟動)
- chkconfig iptables on (開啟iptables服務的開機自啟動)
9. 其他
- chkconfig iptables off (關閉防火牆)
- service network restart (重置網絡)
- ps -ef (查看所有正在運行的進程)
10. 快捷鍵
1. 基本快捷
- Tab (只需要輸入一個命令,文件名,目錄名甚至是命令選項的開頭,並敲擊 tab 鍵。它將自動完成你輸入的內容,或為你顯示全部可能的結果)
- Ctrl + C (終端上中斷命令或進程該按的鍵。它將立刻終止運行的程序)
- Ctrl + Z (將正在運行的程序送到后台。 通常,你可以在使用 & 選項運行程序前之完成該操作)
- Ctrl + D (將使你退出當前終端。如果你使用 SSH 連接,它將會關閉。 如果你直接使用一個終端,該應用將會立刻關閉)
- Ctrl + L (清空終端,代替輸入 C-L-E-A-R。得心應手)
- Ctrl + A (將移動光標到所在行首)
- Ctrl + E (與 Ctrl+A 相反。 Ctrl+A 送光標到行首,反之 Ctrl+E 移動光標到行尾)
- Ctrl + U (擦除從當前光標位置到行首的全部內容)
- Ctrl + K (擦除的是從當前光標位置到行尾的全部內容)
- Ctrl + W (光標在一個單詞本身上,它將擦除從光標位置到詞首的全部字母。最好的方法是用它移動光標到要刪除單詞后的一個空格上)
- Ctrl + Y (將粘貼使用 Ctrl+W,Ctrl+U 和 Ctrl+K 快捷鍵擦除的文本。 如果你刪除了錯誤的文本或需要在某處使用已擦除的文本,這將派上用場)
- Ctrl + P (查看上一個命令。 你可以反復按該鍵來返回到歷史命令。 在很多終端里,使用 PgUp 鍵來實現相同的功能)
- Ctrl + N (Ctrl+N 顯示下一個命令。 如果使用 Ctrl+P 查看上一條命令,你可以使用 Ctrl+N 來回導航。 許多終端都把此快捷鍵映射到 PgDn 鍵)
- Ctrl + R (使用該快捷鍵來搜索歷史命令)
快捷講明
- Ctrl – k (先按住 Ctrl 鍵,然后再按 k 鍵)
- Alt – k (先按住 Alt 鍵,然后再按 k 鍵)
- M – k (先單擊 Esc 鍵,然后再按 k 鍵)
2. 移動光標快捷
- Ctrl – a (移到行首)
- Ctrl – e (移到行尾)
- Ctrl – b (往回(左)移動一個字符)
- Ctrl – f (往后(右)移動一個字符)
- Alt – b (往回(左)移動一個單詞)
- Alt – f (往后(右)移動一個單詞)
- Ctrl – xx (在命令行尾和光標之間移動)
- M-b (往回(左)移動一個單詞)
- M-f (往后(右)移動一個單詞)
3. 編輯快捷命令
- Ctrl – h (刪除光標左方位置的字符)
- Ctrl – d (刪除光標右方位置的字符(注意:當前命令行沒有任何字符時,會銷系統或結束終端))
- Ctrl – w (由光標位置開始,往左刪除單詞。往行首刪)
- Alt – d (由光標位置開始,往右刪除單詞。往行尾刪)
- M – d (由光標位置開始,刪除單詞,直到該單詞結束)
- Ctrl – k (由光標所在位置開始,刪除右方所有的字符,直到該行結束)
- Ctrl – u (由光標所在位置開始,刪除左方所有的字符,直到該行開始)
- Ctrl – y (粘貼之前刪除的內容到光標后)
- ctrl – t (交換光標處和之前兩個字符的位置)
- Alt + . (使用上一條命令的最后一個參數)
- Ctrl – _ (回復之前的狀態。撤銷操作)
- Ctrl -a + Ctrl -k 或 Ctrl -e + Ctrl -u 或 Ctrl -k + Ctrl -u (組合可刪除整行)
4. Bang(!)快捷命令
- !! (執行上一條命令)
- foobar (把上一條命令里的foo替換為bar,並執行)
- !wget (執行最近的以wget開頭的命令)
- !wget:p (僅打印最近的以wget開頭的命令,不執行)
- !$ (上一條命令的最后一個參數, 與 Alt - . 和 $_ 相同)
- !* (上一條命令的所有參數)
- !:p (打印上一條命令是所有參數,也即 !的內容)
- ^abc (刪除上一條命令中的abc)
- foobar (將上一條命令中的 foo 替換為 bar)
- foobar^ (將上一條命令中的 foo 替換為 bar)
- !-n (執行前n條命令,執行上一條命令: !-1, 執行前5條命令的格式是: !-5)
5. 查找歷史快捷命令
- Ctrl – p (顯示當前命令的上一條歷史命令)
- Ctrl – n (顯示當前命令的下一條歷史命令)
- Ctrl – r (搜索歷史命令,隨着輸入會顯示歷史命令中的一條匹配命令,Enter鍵執行匹配命令;ESC鍵在命令行顯示而不執行匹配命令)
- Ctrl – g (從歷史搜索模式(Ctrl – r)退出)
6. 控制快捷命令
- Ctrl – l (清除屏幕,然后,在最上面重新顯示目前光標所在的這一行的內容)
- Ctrl – o (執行當前命令,並選擇上一條命令)
- Ctrl – s (阻止屏幕輸出)
- Ctrl – q (允許屏幕輸出)
- Ctrl – c (終止命令)
- Ctrl – z (掛起命令)