linux常用命令(詳解)
一、日常使用命令/常用快捷鍵命令 開關機命令         1、shutdown –h now:立刻進行關機
        2、shutdown –r now:現(xiàn)在重新啟動計算機
        3、reboot:現(xiàn)在重新啟動計算機
        4、su -:切換用戶;passwd:修改用戶密碼
        5、logout:用戶注銷
常用快捷命令         1、tab = 補全
        2、ctrl + l -:清屏,類似clear命令
        3、ctrl + r -:查找歷史命令(history);ctrl+c = 終止
        4、ctrl+k = 刪除此處至末尾所有內容
        5、ctrl+u = 刪除此處至開始所有內容
常用工具命令 man:幫助命令     wc:文本統(tǒng)計統(tǒng)計         wordcount          3      5         29         a.txt          行數    單詞數    字符數    文件名         常見參數:             -l:只查看行數             -w: 只查看單詞數             -c:只查看字符數     du:文件大小統(tǒng)計         格式:du [選項參數] dir_path         常見參數:                 -s:只統(tǒng)計該文件目錄的大小,不遞歸                 -h:人性化的顯示單位     find:文件檢索命令 語法   find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \   參數說明 :   find 根據下列規(guī)則判斷 path 和 expression,在命令列上第一個 - ( ) , ! 之前的部份為 path,之后的是 expression。如果 path 是空字串則使用目前路徑,如果 expression 是空字串則使用 -print 為預設 expression。   expression 中可使用的選項有二三十個之多,在此只介紹最常用的部份。   -mount, -xdev : 只檢查和指定目錄在同一個文件系統(tǒng)下的文件,避免列出其它文件系統(tǒng)中的文件   -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 位元組的區(qū)塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。-type c : 文件類型是 c 的文件。   d: 目錄   c: 字型裝置文件   b: 區(qū)塊裝置文件   p: 具名貯列   f: 一般文件   l: 符號連結   s: socket   -pid n : process id 是 n 的文件   你可以使用 ( ) 將運算式分隔,并使用下列運算。   exp1 -and exp2   ! expr   -not expr   exp1 -or exp2   exp1, exp2 實例   將目前目錄及其子目錄下所有延伸檔名是 c 的文件列出來。   # find . -name "*.c"   將目前目錄其其下子目錄中所有一般文件列出   # find . -type f   將目前目錄及其子目錄下所有最近 20 天內更新過的文件列出   # find . -ctime -20   查找/var/log目錄中更改時間在7日以前的普通文件,并在刪除之前詢問它們:   # find /var/log -type f -mtime +7 -ok rm {} \   查找前目錄中文件屬主具有讀、寫權限,并且文件所屬組的用戶和其他用戶具有讀權限的文件:   # find . -type f -perm 644 -exec ls -l {} \   為了查找系統(tǒng)中所有文件長度為0的普通文件,并列出它們的完整路徑:   # find / -type f -size 0 -exec ls -l {} \
二、常用目錄/文件操作命令 1.展示目錄列表命令ls(list)   ls             展示當前目錄下的可見文件   ls -a         展示當前目錄下所有的文件(包括隱藏的文件)   ls -l(ll)      展示當前目錄下文件的詳細信息   ll -a          展示當前目錄下所有文件的詳細信息   ll -h          友好的顯示當前目錄下文件的詳細信息(其實就是文件的大小可讀性更強了)
  pwd:顯示目前的目錄
2.切換目錄命令cd(change directory)   cd test         切換到test目錄下   cd .. 切換到上一級目錄   cd / 切換到系統(tǒng)根目錄下   cd ~ 切換到當前用戶的根目錄下   cd - 切換到上一級所在的目錄
3.目錄的創(chuàng)建(mkdir)和刪除(rmdir)命令   mkdir test 在當前目錄下創(chuàng)建一個test目錄   mkdir -p test/a/b 在test目錄下的a目錄下創(chuàng)建一個b目錄,如果上一級目錄不存在,則連它的父目錄一起創(chuàng)建   rmdir test 刪除當前目錄下的test目錄(注意:該命令只能夠刪除空目錄)
4.文件的創(chuàng)建(touch)和刪除(rm)命令   touch test.txt         在當前目錄下創(chuàng)建一個test.txt的文件   rm test.txt 刪除test.txt的文件(帶詢問的刪除,需輸入y才能刪除)   rm -f test.txt 直接刪除text.txt文件   rm -r test 遞歸刪除,即刪除test目錄以及其目錄下的子目錄(帶詢問的刪除)   rm -rf test 直接刪除test目錄以及其目錄下的子目錄
5.文件打包或解壓命令tar 打包并壓縮文件 Linux中的打包文件一般是以.tar結尾的,壓縮的命令一般是以.gz結尾的。 而一般情況下打包和壓縮是一起進行的,打包并壓縮后的文件的后綴名一般.tar.gz。 命令:tar -zcvf 打包壓縮后的文件名 要打包壓縮的文件 其中:z:調用gzip壓縮命令進行壓縮   c:打包文件   v:顯示運行過程   f:指定文件名 示例:打包并壓縮/test下的所有文件 壓縮后的壓縮包指定名稱為xxx.tar.gz tar -zcvf xxx.tar.gz aaa.txt bbb.txt ccc.txt 或:tar -zcvf xxx.tar.gz /test/*
解壓壓縮包(重點) 命令:tar [-xvf] 壓縮文件 其中:x:代表解壓 示例:將/test下的xxx.tar.gz解壓到當前目錄下 tar -xvf xxx.tar.gz 示例:將/test下的xxx.tar.gz解壓到根目錄/usr下 tar -xvf xxx.tar.gz -C /usrC代表指定解壓的位置
Linux的權限命令 權限是Linux中的重要概念,每個文件/目錄等都具有權限,通過ls -l命令我們可以 查看某個目錄下的文件或目錄的權限
文件的類型: d:代表目錄 -:代表文件 l:代表鏈接(可以認為是window中的快捷方式) 后面的9位分為3組,每3位置一組,分別代表屬主的權限,與當前用戶同組的     用戶的權限,其他用戶的權限 r:代表權限是可讀,r也可以用數字4表示 w:代表權限是可寫,w也可以用數字2表示 x:代表權限是可執(zhí)行,x也可以用數字1表示
屬主(user) 屬組(group) 其他用戶 r w x r w x  r w x 4 2 1 4 2 1   4 2 1
linux中用戶的分類         小李     小李對象    老王         所有者u    同組用戶g    其他人o     linux中文件權限         讀r        寫w        執(zhí)行x    沒有權限-             文件詳情信息:         -rw-rr. 1 root root       5 Aug 28 02:27 a.txt            d rwx r-x r-x. 2 root root    4096 Aug 27 08:52 test         第一位:d:目錄,-:文件         rw-                r                r         所有者           同組用戶        其他人         只有讀寫          只有讀            只有讀             1:該文件的鏈接數     root:文件所屬者     root:文件所屬組      5 Aug 28 02:27:最后的修改時間
修改文件/目錄的權限的命令:chmod 示例:修改/test下的aaa.txt的權限為屬主有全部權限,屬主所在的組有讀寫權限, 其他用戶只有讀的權限 chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可以使用數字表示: chmod 764 aaa.txt
修改文件的所屬用戶和所屬組 chown         chown username:groupName aa.txt         chown username: aa.txt         chown :groupName aa.txt             -R:遞歸子目錄修改所屬者和所屬組
三、文件/文件夾的cp rm及文件的查看 cp (復制文件或目錄) cp 即拷貝文件和目錄。
語法:
[root@www ~]# cp [-adfilprsu] 來源檔(source) 目標檔(destination) [root@www ~]# cp [options] source1 source2 source3 .... directory 選項與參數:
-a:相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)
-d:若來源檔為連結檔的屬性(link file),則復制連結檔屬性而非文件本身;
-f:為強制(force)的意思,若目標文件已經存在且無法開啟,則移除后再嘗試一次;
-i:若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
-l:進行硬式連結(hard link)的連結檔創(chuàng)建,而非復制文件本身;
-p:連同文件的屬性一起復制過去,而非使用默認屬性(備份常用);
-r:遞歸持續(xù)復制,用於目錄的復制行為;(常用)
-s:復制成為符號連結檔 (symbolic link),亦即『捷徑』文件;
-u:若 destination 比 source 舊才升級 destination !
用 root 身份,將 root 目錄下的 .bashrc 復制到 /tmp 下,并命名為 bashrc
[root@www ~]# cp ~/.bashrc /tmp/bashrc [root@www ~]# cp -i ~/.bashrc /tmp/bashrc cp: overwrite `/tmp/bashrc''? n  <==n不覆蓋,y為覆蓋 rm (移除文件或目錄) 語法:
 rm [-fir] 文件或目錄 選項與參數:
-f :就是 force 的意思,忽略不存在的文件,不會出現(xiàn)警告信息; -i :互動模式,在刪除前會詢問使用者是否動作 -r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險的選項!!!   將剛剛在 cp 的實例中創(chuàng)建的 bashrc 刪除掉!
[root@www tmp]# rm -i bashrc rm: remove regular file `bashrc''? y 如果加上 -i 的選項就會主動詢問喔,避免你刪除到錯誤的檔名!
mv (移動文件與目錄,或修改名稱) 語法:
[root@www ~]# mv [-fiu] source destination [root@www ~]# mv [options] source1 source2 source3 .... directory 選項與參數:
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋; -i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋! -u :若目標文件已經存在,且 source 比較新,才會升級 (update) 復制一文件,創(chuàng)建一目錄,將文件移動到目錄中
[root@www ~]# cd /tmp [root@www tmp]# cp ~/.bashrc bashrc [root@www tmp]# mkdir mvtest [root@www tmp]# mv bashrc mvtest 將某個文件移動到某個目錄去,就是這樣做!
將剛剛的目錄名稱更名為 mvtest2
[root@www tmp]# mv mvtest mvtest2 Linux 文件內容查看 Linux系統(tǒng)中使用以下命令來查看文件的內容:
cat  由第一行開始顯示文件內容 tac  從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫! nl   顯示的時候,順道輸出行號! more 一頁一頁的顯示文件內容 less 與 more 類似,但是比 more 更好的是,他可以往前翻頁! head 只看頭幾行 tail 只看尾巴幾行 你可以使用 man [命令]來查看各個命令的使用文檔,如 :man cp。
cat 由第一行開始顯示文件內容
語法:
cat [-AbEnTv] 選項與參數:
-A :相當於 -vET 的整合選項,可列出一些特殊字符而不是空白而已; -b :列出行號,僅針對非空白行做行號顯示,空白行不標行號! -E :將結尾的斷行字節(jié) $ 顯示出來; -n :列印出行號,連同空白行也會有行號,與 -b 的選項不同; -T :將 [tab] 按鍵以 ^I 顯示出來; -v :列出一些看不出來的特殊字符 檢看 /etc/issue 這個文件的內容:
[root@www ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m tac tac與cat命令剛好相反,文件內容從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫!如:
[root@www ~]# tac /etc/issue
Kernel \r on an \m CentOS release 6.4 (Final) nl 顯示行號
語法:
nl [-bnw] 文件 選項與參數:
-b :指定行號指定的方式,主要有兩種: -b a :表示不論是否為空行,也同樣列出行號(類似 cat -n); -b t :如果有空行,空的那一行不要列出行號(默認值); -n :列出行號表示的方法,主要有三種: -n ln :行號在熒幕的最左方顯示; -n rn :行號在自己欄位的最右方顯示,且不加 0 ; -n rz :行號在自己欄位的最右方顯示,且加 0 ; -w :行號欄位的占用的位數。 實例一:用 nl 列出 /etc/issue 的內容
[root@www ~]# nl /etc/issue      1  CentOS release 6.4 (Final)      2  Kernel \r on an \m more 一頁一頁翻動
[root@www ~]# more /etc/man.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中間省略).... More(28%)  <== 重點在這一行喔!你的光標也會在這里等待你的命令 在 more 這個程序的運行過程中,你有幾個按鍵可以按的:
空白鍵 (space):代表向下翻一頁; Enter         :代表向下翻『一行』; /字串         :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字; :f            :立刻顯示出檔名以及目前顯示的行數; q             :代表立刻離開 more ,不再顯示該文件內容。 b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。 less 一頁一頁翻動,以下實例輸出/etc/man.config文件的內容:
[root@www ~]# less /etc/man.config # # Generated automatically from man.conf.in by the # configure script. # # man.conf from man-1.6d ....(中間省略).... :   <== 這里可以等待你輸入命令! less運行時可以輸入的命令有:
空白鍵    :向下翻動一頁; [pagedown]:向下翻動一頁; [pageup]  :向上翻動一頁; /字串     :向下搜尋『字串』的功能; ?字串     :向上搜尋『字串』的功能; n         :重復前一個搜尋 (與 / 或 ? 有關!) N         :反向的重復前一個搜尋 (與 / 或 ? 有關!) q         :離開 less 這個程序; head 取出文件前面幾行
語法:
head [-n number] 文件 選項與參數:
-n :后面接數字,代表顯示幾行的意思 [root@www ~]# head /etc/man.config 默認的情況中,顯示前面 10 行!若要顯示前 20 行,就得要這樣:
[root@www ~]# head -n 20 /etc/man.config tail 取出文件后面幾行
語法:
tail [-n number] 文件 選項與參數:
-n :后面接數字,代表顯示幾行的意思 -f :表示持續(xù)偵測后面所接的檔名,要等到按下[ctrl]-c才會結束tail的偵測 [root@www ~]# tail /etc/man.config # 默認的情況中,顯示最后的十行!若要顯示最后的 20 行,就得要這樣: [root@www ~]# tail -n 20 /etc/man.config 系統(tǒng)常用操作命令 visudo:編輯sudo命令的配置         編輯第98行         ## Allow root to run any commands anywhere             root    ALL=(ALL)                               ALL             用戶名  登錄的主機=(以什么樣的身份運行)  可以執(zhí)行什么命令         如果想讓huadian用戶也居于root相關權限。。             huadian  ALL=(root)  NOPASSWD:service iptables status             huadian  ALL=(root)  NOPASSWD:service iptables start         推薦用法                huadian  ALL=(root)  NOPASSWD:ALL                     使用權限:sudo     service iptables status  (檢查防火墻狀態(tài)) 網絡管理:ping、ifconfig     服務管理命令:         service:必須掌握             格式:                 service s_name start|stop|status|restart             linux系統(tǒng)所有自帶服務名稱:/etc/init.d/                 常用:                     關閉防火墻服務                     service iptables stop                     重啟網絡服務:                     service network restart                     mysql數據庫服務的名稱:                         mysql版本低于5.5  mysqld                         mysql版本高于5.5  mysql                     chkconfig:設置是否開機啟動           :必須掌握             判定是否開機啟動                 chkconfig iptables list                 2.3.4.5是on表示開機啟動             設置                 chkconfig iptables on|off                         進程管理:ps         ps:查當前進程             查看java的進程             ps -ef | grep java         jps:==(ps -ef | grep java) 只有在linux中安裝了JDK才能用         kill :殺死某個進程             kill -9 pid                 端口管理         nststat:查看端口開放情況             -a:表示列舉所有的連接、服務器監(jiān)聽             -t:列出所有tcp協(xié)議的服務             -u:列出所有udp協(xié)議的服務             -n:使用端口號來顯示             -l:列出所有的監(jiān)聽             -p:列出所有服務的進程id(pid)             常用:netstat -atunlp             redhat的selinux安全機制         關閉selinux安全機制             vim /etc/selinux/config                 SELINUX=disabled             重啟機器生效 |