好啦,從這里開始我們就開始學(xué)習(xí)linux的一些常用命令。首先進(jìn)入centos-》應(yīng)用程序-》附件-》終端,開始命令行之旅。
一、文件處理命令
1.網(wǎng)絡(luò)信息查看命令:ifconfig 英文原型:intface config(附加的。。??梢詿o視)
2.文件處理命令:ls 英文原型:list 命令所在路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶
功能表述:顯示文件目錄 常用可選項(xiàng):-a -l -i(a表示all即顯示所有文件目錄,l表示long即顯示詳細(xì)文件屬性,i顯示文件的inode)
注:當(dāng)鍵入ls -l時(shí)候,會輸出類似如下圖所示信息

第1個(gè)字母表示的文件類型(d表示目錄,-表示2進(jìn)制文件,l表示軟鏈接文件)
第2-4字母表示的是文件擁有者的權(quán)限(r表示read,w表示write,x表示execute)
第5-7和第8-10字符分別表示文件所屬組的權(quán)限與其他用戶的權(quán)限
第11個(gè)數(shù)字表示此文件的硬鏈接數(shù)
第12個(gè)單詞表示文件擁有者是誰?
第13個(gè)單詞表示文件所屬組是誰?
接下來的數(shù)字是文件的大?。ㄗ止?jié)單位)和文件最后修改的時(shí)間
3.文件處理命令:cd 英文原型:change directory 命令所在路徑:shell內(nèi)置命令 執(zhí)行權(quán)限:所有用戶
功能表述:切換目錄
注:.表示當(dāng)前目錄,..表示上級目錄,/表示根目錄
4.文件處理命令:pwd 英文原型:print working directory 命令所在路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶
功能表述:顯示當(dāng)前所在的工作目錄
5.文件處理命令:mkdir 英文原型:make directory 命令所在路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶
功能表述:創(chuàng)建目錄
6.文件處理命令:touch 命令所在路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶
功能表述:創(chuàng)建文件
7.文件處理命令:cp 英文原型:copy 命令所在路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶
功能表述:復(fù)制文件或目錄 常用可選項(xiàng):-R -p(-R表示復(fù)制目錄,p表示復(fù)制時(shí)不改變時(shí)間)
注:cp 源文件 目的文件
8.文件處理命令:mv 英文原型:move 命令所在路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶
功能表述:剪切文件或改名
9.文件處理命令:rm 英文原型:remove 命令所在路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶
功能表述:刪除文件或目錄 常用可選項(xiàng):-r -f(r表示刪除目錄,f表示force即強(qiáng)制刪除無須任何詢問)
10.文件處理命令:cat 英文原型:concatenate and display file 命令所在路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶
功能表述:顯示文件內(nèi)容(適合較短文件)
11.文件處理命令:more 命令所在路徑:/bin/more 執(zhí)行權(quán)限:所有用戶
功能表述:分頁顯示文件內(nèi)容
注:進(jìn)入分頁顯示狀態(tài)后,空格表示下一頁,回車表示下一行,q表示退出分頁顯示模式
12.文件處理命令:head 命令所在路徑:/bin/head 執(zhí)行權(quán)限:所有用戶
功能表述:顯示文件頭幾行 常用可選項(xiàng):-number(此處數(shù)字表示需要顯示的文件頭幾行的數(shù)字)
13.文件處理命令:tail 命令所在路徑:/bin/tail 執(zhí)行權(quán)限:所有用戶
功能表述:顯示文件后幾行 常用可選項(xiàng):-number -f(此處數(shù)字表示需要顯示的文件后幾行的數(shù)字,f表示動(dòng)態(tài)顯示)
注:對于一些日志,實(shí)時(shí)在更新,那么通常使用-f選項(xiàng)來關(guān)注日志不斷更新的末尾.
14.文件處理命令:ln 英文原型:link 命令所在路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶
功能表述:創(chuàng)建鏈接 常用可選項(xiàng):-s(s表示soft即創(chuàng)建的鏈接是軟鏈接)
現(xiàn)在看下圖,來演示創(chuàng)建軟鏈接
上圖中首先用ln -s創(chuàng)建一個(gè)軟鏈接host.soft,而這個(gè)軟件鏈接指向了/etc/host.conf文件。其實(shí)所謂的軟鏈接在windows里面就當(dāng)于快捷方式而已??梢钥匆娷涙溄拥念愋褪莑類型,而軟鏈接的權(quán)限基本上全是滿的,后面還用箭頭表示了軟鏈接指向那個(gè)文件。
如果沒有用-s則創(chuàng)建硬鏈接,應(yīng)注意硬鏈接是windows里面沒有的功能,硬鏈接相當(dāng)于一個(gè)可以可以動(dòng)態(tài)更新的副本。而且當(dāng)原文件刪除后,軟連接就無用了,硬鏈接卻還有用??慈缦轮噶?

首先我試圖創(chuàng)建一個(gè)硬鏈接由/study/host.hard指向/etc/host.conf,但是失敗了。原因是/study和/根分區(qū)不是一個(gè)物理分區(qū),在我裝系統(tǒng)的時(shí)候,把根分區(qū)和/study分成了sda0和sda1兩個(gè)物理分區(qū)。所以結(jié)論是硬鏈接只能在同一個(gè)物理分區(qū)上進(jìn)行。然后我建立了一個(gè)test文件,并創(chuàng)建了一個(gè)硬鏈接指向它,可以看見權(quán)限和內(nèi)容是完全一樣的。
那以上是為什么呢?鏈接的底層到底是怎么實(shí)現(xiàn)的呢?
由于linux下的文件是通過索引節(jié)點(diǎn)號(Inode)來唯一標(biāo)示文件,硬鏈接可以認(rèn)為并不是一個(gè)新文件而只是一個(gè)指針,指向原文件索引節(jié)點(diǎn)的指針,系統(tǒng)并不為它重新分配inode。每添加一個(gè)一個(gè)硬鏈接,原文件的鏈接數(shù)就加1。而軟鏈接卻是一個(gè)新的文件,所以有不同的inode,只不過它的文件內(nèi)容是原文件的路徑。
二、權(quán)限管理命令:
1.權(quán)限管理命令:chmod 英文原型:change the permission mode 命令所在路徑:/bin/chmod 執(zhí)行權(quán)限:所有用戶
功能表述:更改文件或目錄權(quán)限
注:chmod有兩種格式,第一種是字母格式,chmod u/g/o +/-/= r/w/x 文件名/目錄名(u代表user即文件所有者,g代表gourp即文件所屬組,o代表other即其他用戶,+-=分別表示添加、刪除、賦予權(quán)限的操作,rwx代表權(quán)限).第二種格式是數(shù)字格式,chmod xyz(xyz分別是三個(gè)0-7的數(shù)字,每個(gè)0-7的數(shù)字其實(shí)是3個(gè)二進(jìn)制的換算,3個(gè)二進(jìn)制分別表示rwx,也就是說r是4、w是2、x是1。而x代表文件所有者得權(quán)限數(shù)字,y代表所屬組權(quán)限數(shù)字,z是其他用戶的權(quán)限數(shù)字.比如某文件的權(quán)限是rwxr-xr-x 換成數(shù)字形式就是 755).接下來看下面一個(gè)實(shí)驗(yàn):


上面代碼中創(chuàng)建了一個(gè)目錄,后又在目錄創(chuàng)建了一個(gè)文件并給予滿權(quán)限,但當(dāng)我用一個(gè)普通用戶去刪除這個(gè)文件時(shí)候卻為什么說權(quán)限不夠呢?可是權(quán)限上說other的權(quán)限是rwx丫。原因其實(shí)在于我們對rwx的理解,其實(shí)rwx對于文件和目錄是不同的。總結(jié)如下:

文件的r(cat、more、head、tail)、w(echo、vi)、x(命令、腳本)
目錄的r(ls)、w(touch、rm、mkdir)、x(cd)
2.權(quán)限管理命令:chown 英文原型:change file ownership 命令所在路徑:/bin/chown 執(zhí)行權(quán)限:所有用戶
功能表述:改變文件或目錄所有者
注:chown 用戶 文件
3.權(quán)限管理命令:chgrp 英文原型:change file group 命令所在路徑:/bin/chgrp 執(zhí)行權(quán)限:所有用戶
功能表述:改變文件或目錄所屬組
注:chgrp 所屬組 文件
4.權(quán)限管理命令:umask 命令所在路徑:/bin/umask 執(zhí)行權(quán)限:所有用戶
功能表述:顯示和設(shè)置文件的缺省權(quán)限 常用可選項(xiàng):-S(S表示以rwx的方式顯示缺省權(quán)限)
注:umask有兩種使用方式,演示如下:

第一種是rws的方式顯示出缺省權(quán)限,而第二種方式是顯示的0002,這是什么意思呢?第一個(gè)數(shù)字0是表示一種特殊權(quán)限位,而后面的三個(gè)數(shù)字就是分別表示ugo的缺省權(quán)限,可是為什么不是775呢?顯然775+002=777,所以我們可以看出002其實(shí)是缺省缺陷的掩碼。哇哈哈~
三、文件搜索命令:
1.文件搜索命令:which 命令所在路徑:/user/bin/which 執(zhí)行權(quán)限:所有用戶
功能表述:顯示系統(tǒng)命令所在目錄
2.文件搜索命令:find 命令所在路徑:/user/bin/which 執(zhí)行權(quán)限:所有用戶
功能表述:查找文件或目錄
注:find的命令較為復(fù)雜,大致格式為find 目標(biāo)目錄 搜索選項(xiàng) 搜索條件。常用的搜索選項(xiàng)有4種:
(1)-name 以文件或目錄的名稱來搜索,常用*,?等通配符連用
(2)-size 以文件或者目錄大小來搜索,用+(大于)、-(小于)某一個(gè)數(shù)字來搜索。單位是512字節(jié)(block),100M=204800
(3)-user 以文件的擁有者來搜索
(4)以時(shí)間的搜索方式,常用-ctime、-atime、-mtime、-cmin、-amin、-mmin,其中time表示天,min表示分鐘,c表示change指代文件或目錄的屬性被修改過,a表示access指代文件或目錄被訪問過,m表示modify指代文件或目錄的內(nèi)容被修改過。另外用-表示在某段時(shí)間之內(nèi),+表示某段時(shí)間之外。舉例如下:

以上程序段在列舉了上面4種方式外,還加入了兩種連接符。第一種是邏輯連接符,-a表示and即邏輯與,-o表示or即邏輯或.第二種是執(zhí)行連接符,當(dāng)你用find查詢到一個(gè)元素集合時(shí),你可以通過-exec來對集合中的元素進(jìn)行操作,要特別注意格式:-exec 操作命令 {}\另外可以用ok來代替exec,兩者之間功能相似,不同的在于exec是直接執(zhí)行,而ok會先詢問再執(zhí)行。
3.文件搜索命令:locate 命令所在路徑:/user/bin/locate 執(zhí)行權(quán)限:所有用戶
功能表述:尋找文件或者目錄
注:此命令功能類似于find,但查找方式不同。find是在硬盤中查找,而locate是在文件目錄的數(shù)據(jù)庫查找,速度與效率比find快很多。但有一個(gè)缺點(diǎn)就是,如果你需要查找的文件在目錄數(shù)據(jù)庫中沒有記錄的話就查找不到,所以常配合更新目錄數(shù)據(jù)庫的updatedb使用。

從上面程序段可以看出,我新創(chuàng)建的test.file文件剛開始用locate查找不到,而用find卻可以查到。但當(dāng)我更新過目錄文件數(shù)據(jù)庫后,再用locate就可以查詢到了。
4. 文件搜索命令:grep 命令所在路徑:/bin/locate 執(zhí)行權(quán)限:所有用戶
功能表述:在指定文件中搜索指定的字符串行并輸出
注:舉例如下,在services文件中查找含tftp字符串的行,并輸出

四、幫助命令:
1.幫助命令:man 英文原型:manual 命令所在路徑:/usr/bin/man 執(zhí)行權(quán)限:所有用戶
功能表述:獲取幫組信息
注:man后面可以接命令,同時(shí)也可以接配置文件。如果命令和配置文件同名,默認(rèn)是命令幫組(man 1 commad),你可以man 5 配置file
2.幫助命令:whatis 執(zhí)行權(quán)限:所有用戶
功能表述:獲取簡短幫助信息
注:whatis也是從某幫助信息的數(shù)據(jù)庫中查詢幫助,所以常用makewhatis來更新相關(guān)數(shù)據(jù)庫。
3.幫助命令:help 執(zhí)行權(quán)限:所有用戶
功能表述:查看shell內(nèi)置命令的幫助,man是誤差查詢shell內(nèi)置命令的幫助的。當(dāng)你用man查詢的時(shí)候如果查不到你所需要的東西。也許用help你會有意外的收獲,哇呵呵。
五、壓縮命令:
1.壓縮命令:gzip 命令所在路徑:/bin/gzip 執(zhí)行權(quán)限:所有用戶
功能表述:壓縮文件(只能是文件,不能是目錄)
注:gzip壓縮文件會丟失原文件。gzip -d 文件,是解壓縮
2.壓縮命令:gunzip 命令所在路徑:/bin/gunzip 執(zhí)行權(quán)限:所有用戶
功能表述:解壓gizp文件
3.壓縮命令:tar 命令所在路徑:/bin/tar 執(zhí)行權(quán)限:所有用戶
功能表述:把文件或目錄打包成一個(gè)二進(jìn)制文件 常用可選項(xiàng):-cxvfz(c代表create即創(chuàng)建,x代表execute即解包,v代表view即查看打包或解包過程,f與c連用表示打包后的文件名稱,f與x連用表示解包的目標(biāo)名稱,z與c連用表示打包后壓縮,z與x連用表示解包后解壓)
注:f必須放在可選項(xiàng)的最后,源文件在前,目標(biāo)文件在后。下面演示該命令:

4.壓縮命令:zip 命令所在路徑:/usr/bin/zip 執(zhí)行權(quán)限:所有用戶
功能表述:以zip的形式壓縮文件或目錄 常用可選項(xiàng):-r(r表示壓縮目錄)
注:zip格式是與window之間無需轉(zhuǎn)換而可通用的壓縮格式,用來壓縮一些不大且共享與雙系統(tǒng)間的文件很好。
5.壓縮命令:unzip 命令所在路徑:/usr/bin/unzip 執(zhí)行權(quán)限:所有用戶
功能表述:以zip的形式解壓文件或目錄
6.壓縮命令:bzip2 命令所在路徑:/usr/bin/bzip2 執(zhí)行權(quán)限:所有用戶
功能表述:以bzip2的形式壓縮文件(是gzip的升級版) 常用可選項(xiàng):-k(壓縮后保留原文件)
六、網(wǎng)絡(luò)通信命令:
1.網(wǎng)絡(luò)通信命令:write 命令所在路徑:/usr/bin/write 執(zhí)行權(quán)限:所有用戶
功能表述:向另外一個(gè)用戶實(shí)時(shí)發(fā)送消息,并以CTRL+d結(jié)束
注:格式是write 用戶
2.網(wǎng)絡(luò)通信命令:wall 命令所在路徑:/usr/bin/wall 執(zhí)行權(quán)限:所有用戶
功能表述:向所有用戶廣播消息
3.網(wǎng)絡(luò)通信命令:ping 命令所在路徑:/usr/sbin/ping 執(zhí)行權(quán)限:所有用戶
功能表述:發(fā)送icmp報(bào)文 常用可選項(xiàng):-cs(c代表count即控制報(bào)文數(shù)目,s代表報(bào)文大?。?br>
七、系統(tǒng)命令:
1.系統(tǒng)命令:shutdown 命令所在路徑:/usr/sbin/shutdown 執(zhí)行權(quán)限:所有用戶
功能表述:關(guān)機(jī) 常用可選項(xiàng):-h(h代表hour即多少小時(shí)以后關(guān)機(jī))
2.系統(tǒng)命令:reboot 命令所在路徑:/usr/sbin/reboot 執(zhí)行權(quán)限:所有用戶
功能表述:重啟
八、Shell命令:
shell是一整命令行解釋程序,一個(gè)linux操作系統(tǒng)可以有多個(gè)shell,我們可以查看:

操作系統(tǒng)默認(rèn)的一般是bash,我也是用bash。在shell中,你可用tab鍵自動(dòng)補(bǔ)全。
1.Shell命令:alias
功能表述:別名機(jī)制,alias 別名="命令 -選項(xiàng)"(若沒有選項(xiàng)可不用引號)
注:unalias 別名,可以解除別名
2.Shell命令:alias
功能表述:別名機(jī)制,alias 別名="命令 -選項(xiàng)"(若沒有選項(xiàng)可不用引號)
注:unalias 別名,可以解除別名
3.Shell命令:> >> < 2>
功能表述:輸出、附加輸出、輸入、錯(cuò)誤輸出
注:進(jìn)程的文件描述字是 輸出為0,輸入為1,錯(cuò)誤輸出為2

4.Shell命令: | (管道)
功能表述:把前一個(gè)命令的輸出結(jié)果作為下一個(gè)命令的輸入?yún)?shù)。

第一個(gè)把ls命令的查詢結(jié)果用more命令來讀取,后面類似。
5.Shell命令: ; && || (命令連接符)
功能表述:如下

6.Shell命令:
``(命令替換符號)
功能表述:如下
