一、選項(xiàng)和參數(shù)的區(qū)別
在經(jīng)過(guò)上一次的系統(tǒng)安裝后我們已經(jīng)成功登陸,登陸LInux后,我們就可以在#或$符后面去輸入命令,有的時(shí)候命令后面還會(huì)跟著“選項(xiàng)”(英文名:options)或“參數(shù)”(英文名:agruments)。即Linux中的命令格式為:
command [options] [arguments] //中括號(hào)表示可選的,即有些命令不需要選項(xiàng)也不需要參數(shù),但有的命令在運(yùn)行時(shí)需要多個(gè)選項(xiàng)或參數(shù)。
options(選項(xiàng)):選項(xiàng)是調(diào)整命令執(zhí)行行為的開關(guān),即,選項(xiàng)不同決定了命令的顯示結(jié)果不同。
選項(xiàng)分為長(zhǎng)選項(xiàng)和短選項(xiàng)。
短選項(xiàng):例如-h,-l,-s等。(- 后面接單個(gè)字母)
1、短選項(xiàng)都是使用 ‘-’ 引導(dǎo),當(dāng)有多個(gè)短選項(xiàng)時(shí),各選項(xiàng)之間使用空格隔開
2、有些命令的短選項(xiàng)可以組合,例如 -l -h 可以組合為-lh
3、有些命令的短選項(xiàng)可以不帶 - ,這通常叫做BSD風(fēng)格的選項(xiàng)。例如ps aux
4、有些短選項(xiàng)需要帶選項(xiàng)本身的參數(shù),例如 -L 512M
長(zhǎng)選項(xiàng):例如 --help,--list 等。(-- 后面接單詞)
1、長(zhǎng)選項(xiàng)都是完整的單詞
2、長(zhǎng)選項(xiàng)通常不能組合
3、如果需要加參數(shù),長(zhǎng)選項(xiàng)的參數(shù)通常需要 "=",例如 --size=1G
agruments(參數(shù)):
參數(shù)是指命令的作用對(duì)象。
例如 ls 命令,不加參數(shù)的時(shí)候顯示是當(dāng)前目錄,也可以加參數(shù),例如 ls /dev,則輸出的結(jié)果是 /dev 目錄。
小結(jié)一下:
選項(xiàng)是限定結(jié)果的顯示結(jié)果
短選項(xiàng)( - ):只能修飾一個(gè)字符的選項(xiàng),例如:ls -a,當(dāng)然多個(gè)短選項(xiàng)可以合并,例如tar -cvf
長(zhǎng)選項(xiàng)( -- ):既可以修飾單個(gè)字符,也可以修飾一個(gè)單詞,例如:chkconfig --list,chkconfig --add xxx,service --status-all
參數(shù)是指命令的作用對(duì)象
我這里簡(jiǎn)單說(shuō)明了選項(xiàng)和參數(shù)的區(qū)別,但具體Linux中哪條命令有哪些選項(xiàng)和參數(shù),需要我們靠經(jīng)驗(yàn)積累或者查看Linux的幫助了(man幫助命令)。
二、權(quán)限管理:UNIX權(quán)限:U(rwx)g(rwx)0(rwx)
r --可讀權(quán)限
w --可寫權(quán)限
x --可執(zhí)行權(quán)限
也可以用數(shù)字來(lái)表示 :
r=4 w=2 x=1
例:rwx = 7(4+2+1) ; rw = 6 (4+2) ; r-w = 5 (4+0+1) ; r-- = 4 (4+0+0) ; --x = 1 (0+0+1);
示例:
(1)# chmod 777 test1 --賦予test1可讀可寫可執(zhí)行權(quán)限(所有權(quán)限)
(2)# chmod 755 test1 --賦予test1用戶所有權(quán)限,組可讀可執(zhí)行權(quán)限,其他用戶可讀可執(zhí)行權(quán)限
三、Linux入門基礎(chǔ)命令--文件和目錄常用操作命令
在學(xué)習(xí)之前我們得先了解一下絕對(duì)路徑和相對(duì)路徑這兩個(gè)概念
絕對(duì)路徑:
在Linux中,絕對(duì)路徑是從/(即根目錄)開始的,例如 /usr、/etc/X11。如果一個(gè)路徑是從 / 開始的,它一定是絕對(duì)路徑。舉幾個(gè)示例
[root@srv1 ~]# pwd --判斷當(dāng)前用戶所在的位置,也就是說(shuō)他現(xiàn)在到底位于哪里
/root --用戶當(dāng)前位于/root
[root@srv1 doc]# cd /usr/share/doc/ --以絕對(duì)路徑方式進(jìn)入/usr/share/doc目錄下
[root@srv1 doc]# pwd --判斷用戶當(dāng)前所在的位置
/usr/share/doc --用戶位于/usr/share/doc,看來(lái)已經(jīng)達(dá)到目的了
相對(duì)路徑:
是以 . 或 .. 開始的, .用戶當(dāng)前操作所在的位置,而 .. 表示上級(jí)目錄,在路徑中, . 表示用戶當(dāng)前所在的目錄,而 .. 上級(jí)目錄,要把 . 和 .. 當(dāng)做目錄來(lái)看,這里也舉幾個(gè)例子
[root@srv1 ~]# pwd --通過(guò)pwd來(lái)判斷當(dāng)前用戶所在的位置
/root --得出目錄處于/root目錄中;
[root@srv1 ~]# cd . --我們進(jìn)入 .
[root@srv1 ~]# pwd --判斷當(dāng)前用戶所在的位置
/root --得出在root目錄中
[root@srv1 ~]# cd .. --我們切入/root的上級(jí)目錄
[root@srv1 /]# pwd --判斷當(dāng)前用戶所在的位置
/ --用戶當(dāng)前處于 /(根目錄)中
下面來(lái)講講Linux中文件和目錄中常用命令的【命令作用】,【命令語(yǔ)法】,【常用選項(xiàng)】,【參數(shù)說(shuō)明】和【命令示例】
1.ls
【命令作用】
列出文件和目錄的內(nèi)容
【命令語(yǔ)法】
ls [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-l --以長(zhǎng)格式顯示,列出文件的詳細(xì)信息,如創(chuàng)建者,創(chuàng)建時(shí)間,文件的讀寫權(quán)限列表等等
-L --列出文件的鏈接名,Link(鏈接)
-A --列出除了 "." 和 ".."以外的文件
-a --列出文件下所有的文件,包括以 "." 和 ".."開頭的隱藏文件 (Linux下文件隱藏文件是以 . 開頭的,如果存在 .. 代表存在著父目錄)
-d --列出目錄本身而非目錄內(nèi)的文件,通常要與-l一起使用
-i --顯示每個(gè)文件的inode號(hào)
-R --同時(shí)列出所有子目錄層,與-l相似,只是不顯示出文件的所有者,相當(dāng)于編程中的“遞歸”實(shí)現(xiàn)
-t --按照時(shí)間進(jìn)行文件的排序,Time(時(shí)間)
-F --在每一個(gè)文件的末尾加上一個(gè)字符說(shuō)明該文件的類型。"@" 表示符號(hào)鏈接、"l" 表示FIFOS、"/" 表示目錄、"=" 表示套接字。
-s --在每個(gè)文件的后面打印出文件的大小,size(大?。?/span>
-S --以文件的大小進(jìn)行排序
【參數(shù)說(shuō)明】
目錄或文件 (需要注意絕對(duì)路徑和相對(duì)路徑,詳解請(qǐng)看第二部分開頭)
【命令示例】
# ls -l --以長(zhǎng)格式列出當(dāng)前目錄中的文件及目錄
2.pwd
【命令作用】
查看”當(dāng)前工作目錄“的完整路徑
【命令語(yǔ)法】
pwd [選項(xiàng)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
一般情況下不帶任何參數(shù)
【命令示例】
# pwd --查看默認(rèn)工作目錄的完整路徑
3.cd
【命令作用】
顯示當(dāng)前目錄的名稱,或更改當(dāng)前的目錄(打開特定目錄)
【命令語(yǔ)法】
cd [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
切換用戶當(dāng)前目錄,例如 . 表示當(dāng)前目錄 .. 表示上一級(jí)目錄 ,~ 表示家目錄 / 表示根目錄
【命令示例】
[root@srv1 ~]# cd --切換到前期用戶家目錄
[root@srv1 ~]# cd . --切換到當(dāng)前目錄
[root@srv1 ~]# cd .. --切換到當(dāng)前目錄上一級(jí)目錄
[root@srv1 /]# cd ~ --切換到用戶家目錄
[root@srv1 ~]# cd / --切換到根目錄下
4.touch
【命令作用】
創(chuàng)建空文件或文件時(shí)間戳修改
【命令語(yǔ)法】
touch [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-a --修改文件的存取時(shí)間
-m --修改文件的變動(dòng)時(shí)間
-t --使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間
-c --如果要修改的文件不存在,此選項(xiàng)使touch不去創(chuàng)建它
-d --使用時(shí)間值 time代替指定文件的戳記值.可以包含月份名,時(shí)區(qū)名以及`am'和 `pm'等等
-f --此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問(wèn)題
-r --把指定文檔或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文檔或目錄的日期時(shí)間相同
-t 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間
【參數(shù)說(shuō)明】
創(chuàng)建文件的文件名
【命令示例】
# touch /home123 --在home目錄下創(chuàng)建文件123 (這是一個(gè)絕對(duì)路徑)
5.echo
【命令作用】
在顯示器上顯示一段文字,一般起到一個(gè)提示的作用
補(bǔ)充說(shuō)明:echo會(huì)將輸入的字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號(hào)。
【命令語(yǔ)法】
echo [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-e --允許下面列出的加反斜線轉(zhuǎn)義的字符進(jìn)行解釋
\n --換行符
\f --換頁(yè)符
\t --水平制表符
\v --縱向制表符
【參數(shù)說(shuō)明】
需要打印的內(nèi)容或變量
【命令示例】
(1)文本的直接輸入:
# echo 'Welcome To WCZY'
(2) 輸出變量的值:假設(shè)定義一個(gè)變量:
# bl="Welcome To WCZY"
# echo $bl
解釋:bl是定義的變量名,=號(hào)后面是賦值,字符串需要用“”括起來(lái)。$后面直接跟上變量名即可
(3)echo 后跟單雙引號(hào)的區(qū)別:
解釋:echo后的單引號(hào)表示強(qiáng)引用,單引號(hào)里面是什么就輸出什么,而雙引號(hào)是弱引用,變量的值會(huì)代替變量名輸出。
(4)選項(xiàng)中加入 -e ,轉(zhuǎn)義字符可用:
\t:插入制表符,即跳格顯示
echo -e “Hello Linux\tHello World”
不加 -e 的對(duì)比,如下:
echo "Hello Linux\tHello World"
6.mkdir
【命令作用】
創(chuàng)建指定的名稱的目錄,要求創(chuàng)建目錄的用戶在當(dāng)前目錄中具有寫權(quán)限,并且指定的目錄名不能是當(dāng)前目錄中已有的目錄。
【命令語(yǔ)法】
mkdir [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-p --可以是一個(gè)路徑名稱。此時(shí)若路徑中的某些目錄尚不存在,加上此選項(xiàng)后,系統(tǒng)將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄(遞歸)
-v --每次創(chuàng)建新目錄都顯示信息
-m --設(shè)定權(quán)限<模式> (類似 chmod),而不是 rwxrwxrwx 減 umask
【參數(shù)說(shuō)明】
需要?jiǎng)?chuàng)建的目錄
【命令示例】
(1)創(chuàng)建一個(gè)空目錄
# mkdir test1
(2)遞歸創(chuàng)建多個(gè)目錄
# mkdir -p test2/test22
(3)創(chuàng)建權(quán)限為777的目錄
# mkdir -m 777 test3
test3 的權(quán)限為rwxrwxrwx
(4)創(chuàng)建新目錄都顯示信息
# mkdir -v test4
7.cp
【命令作用】
復(fù)制文件或者目錄
【命令語(yǔ)法】
cp [選項(xiàng)] 源 目標(biāo)
【常用選項(xiàng)】
-f --如果目標(biāo)文件無(wú)法打開則將其移除并重試(當(dāng) -n 選項(xiàng)存在時(shí)則不需再選此項(xiàng))
-n --不要覆蓋已存在的文件(使前面的 -i 選項(xiàng)失效)
-i --覆蓋前詢問(wèn)(使前面的 -n 選項(xiàng)失效)
-p --保持指定的屬性(默認(rèn):模式,所有權(quán),時(shí)間戳),如果可能保持附加屬性:環(huán)境、鏈接、xattr 等
-P --不跟隨源文件中的符號(hào)鏈接
-R,-r --復(fù)制目錄及目錄內(nèi)的所有項(xiàng)目
-v --顯示過(guò)程 (通常與-r一起使用)
-s --對(duì)源文件建立符號(hào)連接,而非復(fù)制文件
【參數(shù)說(shuō)明】
源文件
目標(biāo)文件
【命令示例】
(1)將home目錄中的abc文件復(fù)制到根目錄下
# cp /home/abc /
(2)目標(biāo)文件存在時(shí),會(huì)詢問(wèn)是否覆蓋
# cp /home/abc /
解釋:目標(biāo)文件存在時(shí),會(huì)詢問(wèn)是否覆蓋。這是因?yàn)閏p是cp -i的別名。目標(biāo)文件存在時(shí),即使加了-f標(biāo)志,也還會(huì)詢問(wèn)是否覆蓋。
(3)復(fù)制整個(gè)目錄
當(dāng)目標(biāo)目錄不存在時(shí)
解釋:注意目標(biāo)目錄存在與否結(jié)果是不一樣的。目標(biāo)目錄存在時(shí),整個(gè)源目錄被復(fù)制到目標(biāo)目錄里面
(4)復(fù)制的abc文件建立一個(gè)連結(jié)檔abc.log
# cp -s abc abc.log
8.mv
【命令作用】
移動(dòng)文件或者將文件改名(move (rename) files),經(jīng)常用來(lái)備份文件或者目錄。
【命令語(yǔ)法】
mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄
【常用選項(xiàng)】
-b --若需覆蓋文件,則覆蓋前先行備份
【參數(shù)說(shuō)明】
源文件
目標(biāo)文件
【命令示例】
(1)文件改名
# mv abc qwe
解釋:將文件abc重命名為qwe
(2)移動(dòng)文件
# mv test3 test4
9.rmdir
【命令作用】
刪除空目錄
【命令語(yǔ)法】
rmdir [選項(xiàng)] 目錄
【常用選項(xiàng)】
-p --遞歸刪除目錄dirname,當(dāng)子目錄刪除后其父目錄為空時(shí),也一同被刪除。如果整個(gè)路徑被刪除或者由于某種原因保留部分路徑,則系統(tǒng)在標(biāo)準(zhǔn)輸出上顯示相應(yīng)的信息。
-v --顯示指令執(zhí)行過(guò)程
【參數(shù)說(shuō)明】
需要?jiǎng)h除的目錄
【命令示例】
(1)不能刪除非空目錄
# rmdir bus
(2)遞歸刪除當(dāng)前目錄下的1/2/3/4/5/6目錄
# rmdir -pv 1/2/3/4/5/6
10.rm
【命令作用】
刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,它也可以將某個(gè)目錄及其下的所有文件及子目錄均刪除。對(duì)于鏈接文件,只是刪除了鏈接,原有文件均保持不變。
rm是一個(gè)危險(xiǎn)的命令,使用的時(shí)候要特別當(dāng)心,尤其對(duì)于新手,否則整個(gè)系統(tǒng)就會(huì)毀在這個(gè)命令(比如在 /(根目錄)下執(zhí)行rm * -rf)。所以,我們?cè)趫?zhí)行rm之前最好先確認(rèn)一下在哪個(gè)目錄,到底要?jiǎng)h除什么東西,操作時(shí)保持高度清醒的頭腦。
【命令語(yǔ)法】
rm [選項(xiàng)] 文件
【常用選項(xiàng)】
-f --忽略不存在的文件,從不給出提示
-r --指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除。
【參數(shù)說(shuō)明】
需要?jiǎng)h除的文件或目錄
【命令示例】
(1)刪除某個(gè)文件時(shí),系統(tǒng)會(huì)先詢問(wèn)是否刪除
# rm 文件名
解釋:輸入rm qwe命令后,系統(tǒng)會(huì)詢問(wèn)是否刪除,輸入y后就會(huì)刪除文件,不想刪除文件則輸入n。
(2)強(qiáng)制刪除某個(gè)文件
# rm-rf abc.log
解釋:強(qiáng)制刪除文件abc.log
11.nano
【命令作用】
文本編輯器
【命令語(yǔ)法】
nano [選項(xiàng)] [+行,列] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名
【命令示例】
# nano abc 編輯名為abc的文本
12.vi/vim
【命令作用】
文本編輯器,若文件存在則是編輯,若不存在則是創(chuàng)建并編輯
【命令語(yǔ)法】
vim [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名
【命令示例】
# vim abc 編輯名為abc的文本
13.shred
【命令作用】
用隨機(jī)值重寫覆蓋文件,讓文件無(wú)法恢復(fù)
【命令語(yǔ)法】
shred [選項(xiàng)] 文件 [參數(shù)]
【常用選項(xiàng)】
-n --自行指定重寫覆蓋的次數(shù),默認(rèn)為三次
-s --覆蓋指定的字節(jié)數(shù)(可接受K、M、G等等的單位)
-u --在重寫覆蓋后截?cái)嗪蛣h除文件
-v --顯示過(guò)程
-z --添加一個(gè)帶有0的最終覆蓋,以隱藏分解
【參數(shù)說(shuō)明】
指定要覆蓋的文件名
【命令示例】
# shred -n 3 -u app 覆蓋app文件三次,并刪除
14.cat
【命令作用】
連接文件并在標(biāo)準(zhǔn)輸出上輸出。這個(gè)命令常用來(lái)顯示文件內(nèi)容,或者將幾個(gè)文件連接起來(lái)顯示,或者從標(biāo)準(zhǔn)輸入讀取內(nèi)容并顯示,它常與重定向符號(hào)配合使用。
【命令語(yǔ)法】
cat [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-E --在每行結(jié)束顯示 $
-n --給所有輸出行編號(hào)
-v --使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)將123和456的內(nèi)容輸入到789里
# cat 123 456 > 789
(2)顯示123文件內(nèi)容和換行符
# cat -E 123
(3)顯示123文件內(nèi)容
# cat 123
(4)顯示123文件內(nèi)容和行號(hào)
# cat -n 123
15.nl
【命令作用】
計(jì)算文件中行號(hào)。nl 可以將輸出的文件內(nèi)容自動(dòng)的加上行號(hào)!其默認(rèn)的結(jié)果與 cat -n 有點(diǎn)不太一樣, nl 可以將行號(hào)做比較多的顯示設(shè)計(jì),包括位數(shù)與是否自動(dòng)補(bǔ)齊 。 等等的功能。
【命令語(yǔ)法】
nl [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-b a --表示不論是否為空行,也同樣列出行號(hào)(類似 cat -n)
-b t --如果有空行,空的那一行不要列出行號(hào)(默認(rèn)值)
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)用nl列出/(根目錄)123文件里的內(nèi)容
# nl /123
(2)用 nl 列出/123文件的內(nèi)容,空本行也加上行號(hào)
# nl -b a /123
16.tac
【命令作用】
倒序查看指定文件內(nèi)容
【命令語(yǔ)法】
tac [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名
【命令示例】
# tac /123 --倒敘查看/123文件內(nèi)容
17.more
【命令作用】
類似 cat ,cat命令是整個(gè)文件的內(nèi)容從上到下顯示在屏幕上。 more會(huì)以一頁(yè)一頁(yè)的顯示方便使用者逐頁(yè)閱讀,而最基本的指令就是按空白鍵(space)就往下一頁(yè)顯示,按 b 鍵就會(huì)往回(back)一頁(yè)顯示,而且還有搜尋字串的功能 。more命令從前向后讀取文件,因此在啟動(dòng)時(shí)就加載整個(gè)文件。
【命令語(yǔ)法】
more [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)# more [文件名] --分屏查看指定文件內(nèi)容
(2)顯示文件中從第3行起的內(nèi)容
# more +3 /123
(3)從文件中查找第一個(gè)出現(xiàn)"1a"字符串的行,并從該處前兩行開始顯示輸出
# more +/1a /123
(4)列一個(gè)目錄下的文件,由于內(nèi)容太多,我們應(yīng)該學(xué)會(huì)用more來(lái)分頁(yè)顯示。這得和管道 | 結(jié)合起來(lái)
# ls -l | more -7
解釋:每頁(yè)顯示7個(gè)文件信息,按 Ctrl+F 或者 空格鍵 將會(huì)顯示下5條文件信息。
18.less
【命令作用】
工具也是對(duì)文件或其它輸出進(jìn)行分頁(yè)顯示的工具,應(yīng)該說(shuō)是Linux正統(tǒng)查看文件內(nèi)容的工具,功能極其強(qiáng)大。less 的用法比起 more 更加的有彈性。在 more 的時(shí)候,我們并沒(méi)有辦法向前面翻, 只能往后面看,但若使用了 less 時(shí),就可以使用 [pageup] [pagedown] 等按鍵的功能來(lái)往前往后翻看文件,更容易用來(lái)查看一個(gè)文件的內(nèi)容!除此之外,在 less 里頭可以擁有更多的搜索功能,不止可以向下搜,也可以向上搜。
【命令語(yǔ)法】
less [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)# less 123 --查看文件123內(nèi)容
(2)ps查看進(jìn)程信息并通過(guò)less分頁(yè)顯示
# ps -ef |less
(3)瀏覽多個(gè)文件
# less 123 456
輸入 :n 后,切換到 456;輸入 :p 后,切換到123
*附加備注*
1.全屏導(dǎo)航
ctrl + F --向前移動(dòng)一屏
ctrl + B --向后移動(dòng)一屏
ctrl + D -- 向前移動(dòng)半屏
ctrl + U -- 向后移動(dòng)半屏
2.單行導(dǎo)航
j -- 向前移動(dòng)一行
k -- 向后移動(dòng)一行
3.其它導(dǎo)航
G -- 移動(dòng)到最后一行
g -- 移動(dòng)到第一行
q / ZZ -- 退出 less 命令
4.其它有用的命令
v -- 使用配置的編輯器編輯當(dāng)前文件
h -- 顯示 less 的幫助文檔
&pattern -- 僅顯示匹配模式的行,而不是整個(gè)文件
5.標(biāo)記導(dǎo)航
當(dāng)使用 less 查看大文件時(shí),可以在任何一個(gè)位置作標(biāo)記,可以通過(guò)命令導(dǎo)航到標(biāo)有特定標(biāo)記的文本位置:
ma -- 使用 a 標(biāo)記文本的當(dāng)前位置
'a -- 導(dǎo)航到標(biāo)記 a 處
19.head
【命令作用】
head 與 tail 就像它的名字一樣的淺顯易懂,它是用來(lái)顯示開頭或結(jié)尾某個(gè)數(shù)量的文字區(qū)塊,head 用來(lái)顯示檔案的開頭至標(biāo)準(zhǔn)輸出中,而 tail 想當(dāng)然爾就是看檔案的結(jié)尾。
【命令語(yǔ)法】
head [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-q --隱藏文件名
-v --顯示文件名
-c --<字節(jié)> 顯示字節(jié)數(shù)
-n --<行數(shù)> 顯示的行數(shù)
-# --顯示文件開頭#行內(nèi)容
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)#head 123 --顯示文件123前十行內(nèi)容
(2)#head -12 123 --顯示文件123前十二行內(nèi)容
(3)# head -n -5 123 --顯示文件123除了最后5行的全部?jī)?nèi)容
(4)# head -c -7 123 --顯示文件123的除了最后7個(gè)字節(jié)以外的內(nèi)容
20.tail
【命令作用】
從指定點(diǎn)開始將文件寫到標(biāo)準(zhǔn)輸出.使用tail命令的-f選項(xiàng)可以方便的查閱正在改變的日志文件,tail -f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不但刷新,使你看到最新的文件內(nèi)容.
【命令語(yǔ)法】
tail [必要參數(shù)] [選擇參數(shù)] [文件]
【常用選項(xiàng)】
-f -- 跟蹤顯示文件新追加的內(nèi)容
-# --顯示末尾到#號(hào)的內(nèi)容
-n --顯示行數(shù)
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)循環(huán)查看文件內(nèi)容
# tail -f 888 --ping 192.168.0.1 > 888 & //在后臺(tái)ping遠(yuǎn)程主機(jī)。并輸出文件到888;這種做法也使用于一個(gè)以上的檔案監(jiān)視。用Ctrl+c來(lái)終止
(2)從第5行開始顯示文件
# tail -n +5 123 --從第五行開始顯示文件123的內(nèi)容
(3)顯示文件末尾內(nèi)容
# tail -n 5 123 --從后五行開始顯示文件123的內(nèi)容
21.grep
【命令作用】
文本過(guò)濾,模糊查找
【命令語(yǔ)法】
grep [選項(xiàng)] [需要查找的內(nèi)容] [參數(shù)]
【常用選項(xiàng)】
--color=auto --對(duì)匹配到的文本著色顯示
-v --顯示不能夠被pattern匹配到的行
-i --忽略字符大小寫
-n --顯示行號(hào)
-q --靜默模式,不輸出任何信息;
-A # --after, 后#行
-B # --before, 前#行
-C # --context, 前后各#行
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)# grep a /123 --在根目錄下的文件123中查找含字母a的行
(2)# grep -i a /123 --在根目錄下的文件123中查找含a或者A的行
(3)# grep -n a /123 --在根目錄下的文件123中查找含a的行,并顯示行號(hào)
(4)# grep -v a /123 --在根目錄下的文件123中查找不含a的行
22.cut
【命令作用】
剪切
【命令語(yǔ)法】
cut [選項(xiàng)] [文件]
【常用選項(xiàng)】
-d --指明分隔符 (通常與-f一起使用)
-f --指定區(qū)域
【參數(shù)說(shuō)明】
文件名
【命令示例】
# cut -d : -f 1,4,7 /etc/passwd --顯示etc目錄下passwd文件的第1,4,7行
23.sort
【命令作用】
對(duì)文件進(jìn)行排序
【命令語(yǔ)法】
sort [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-f --忽略字符大小寫
-r --逆序
-t DELIMITER --字段分隔符
-k # --以指定字段為標(biāo)準(zhǔn)排序
-n --以數(shù)值大小進(jìn)行排序
-u --uniq,排序后去重
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)# sort -r /123 以倒序的方式顯示根目錄下123文件內(nèi)容
(2)# sort -k 3 -t : -n /etc/passwd 以etc目錄中的passwd文件中的第三列為主,按數(shù)值方式排序
24.tr
【命令作用】
字符替換和刪除(通常接在管道符后面使用)
【命令語(yǔ)法】
tr [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-d --刪除文件中的指定字符
【參數(shù)說(shuō)明】
源字符串
【命令示例】
(1)# echo "HELLO" | tr 'A-Z' 'a-z' --將大寫字母轉(zhuǎn)成小寫字母
(2)# echo "HELLO" | tr -d 'L,H' --刪除L和H這兩個(gè)字符
25.wc
【命令作用】
統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),并將統(tǒng)計(jì)結(jié)果顯示輸出。
【命令語(yǔ)法】
wc [選項(xiàng)] 文件
【常用選項(xiàng)】
-c --統(tǒng)計(jì)字節(jié)數(shù)
-w --統(tǒng)計(jì)字?jǐn)?shù)。一個(gè)字被定義為由空白、跳格或換行字符分隔的字符串
-l --統(tǒng)計(jì)行數(shù)
-m --統(tǒng)計(jì)字符數(shù)。這個(gè)標(biāo)志不能與 -c 標(biāo)志一起使用
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)# wc -l /123 --查看123有多少行
(2)# wc -w /123 --查看123中有多少個(gè)字?jǐn)?shù)
(3)# wc -c /123 --查看文件123的大小是多少
(4)# ls -l | wc -l --統(tǒng)計(jì)當(dāng)前目錄下的文件數(shù)
26.uniq
【命令作用】
刪除排序文件中的重復(fù)行,通常與sort一起使用
【命令語(yǔ)法】
uniq [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-c --顯示每行重復(fù)出現(xiàn)的次數(shù)
-d --僅顯示重復(fù)過(guò)的行
-u --僅顯示不曾重復(fù)的行
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)查找文件123中的重復(fù)行
# sort 123 |uniq -d
(2)統(tǒng)計(jì)所有字符出現(xiàn)的次數(shù)
# sort 123 |uniq -c
(3)查找123中僅出現(xiàn)過(guò)一次的行
# sort 123 |uniq -u
27.tee
【命令作用】
既輸出到文件又輸出到屏幕
【命令語(yǔ)法】
tee [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名
【命令示例】
# ls | tee 123 --將ls看到的內(nèi)容輸出到屏幕并寫入到555.log文件里
28.diff
【命令作用】
比較文件之間的差異
【命令語(yǔ)法】
diff [參數(shù)] [文件1或目錄1] [文件2或目錄2]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件1或目錄1
文件2或目錄2
【命令示例】
# diff a1 a2 --對(duì)比a1和a2的不同
29.du
【命令作用】
查看使用空間,但是與df命令不同的是Linux du命令是對(duì)文件和目錄磁盤使用的空間的查看,還是和df命令有一些區(qū)別的.
【命令語(yǔ)法】
du [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-s --僅顯示總計(jì),只列出最后加總的值
-h --以K,M,G為單位,提高信息的可讀性
-a --顯示目錄中個(gè)別文件的大小
【參數(shù)說(shuō)明】
目錄名
【命令示例】
(1)# du -s /home --顯示home目錄的大小
(2)# du -h /home --顯示home目錄大小。以K,M,G為單位
(3)# du -a /mnt --顯示mnt目錄下的文件大小詳細(xì)情況
30.ln
【命令作用】
創(chuàng)建軟硬鏈接,不帶選項(xiàng)為硬鏈接。
為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同步的鏈接.當(dāng)我們需要在不同的目錄,用到相同的文件時(shí),我們不需要在每一個(gè)需要要的目錄下都放一個(gè)必須相同的文件,我們只要在某個(gè)固定的目錄,放上該文件,然后在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復(fù)的占用磁盤空間。
【命令語(yǔ)法】
ln [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-b --刪除,覆蓋以前建立的鏈接
-s --軟鏈接(符號(hào)鏈接)
【參數(shù)說(shuō)明】
源文件
被鏈接的文件
【科普】:
Linux文件系統(tǒng)中,有所謂的鏈接(link),我們可以將其視為檔案的別名,而鏈接又可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個(gè)檔案可以有多個(gè)名稱,而軟鏈接的方式則是產(chǎn)生一個(gè)特殊的檔案,該檔案的內(nèi)容是指向另一個(gè)檔案的位置。硬鏈接是存在同一個(gè)文件系統(tǒng)中,而軟鏈接卻可以跨越不同的文件系統(tǒng)
軟鏈接:
1.軟鏈接,以路徑的形式存在。類似于Windows操作系統(tǒng)中的快捷方式
2.軟鏈接可以 跨文件系統(tǒng) ,硬鏈接不可以
3.軟鏈接可以對(duì)一個(gè)不存在的文件名進(jìn)行鏈接
4.軟鏈接可以對(duì)目錄進(jìn)行鏈接
硬鏈接:
1.硬鏈接,以文件副本的形式存在。但不占用實(shí)際空間
2.不允許給目錄創(chuàng)建硬鏈接
3.硬鏈接只有在同一個(gè)文件系統(tǒng)中才能創(chuàng)建(不能跨分區(qū)進(jìn)行)
區(qū)別:
a.硬鏈接不會(huì)產(chǎn)生新的inode,軟鏈接則會(huì)產(chǎn)生新的inode
b.刪除源文件之后,硬鏈接仍然可用,但軟鏈接就不可用
c.硬鏈接只能用于文件,而軟鏈接可以用于文件和目錄
d.硬鏈接不能跨分區(qū),而軟鏈接可以
這里有兩點(diǎn)要注意:
第一,ln命令會(huì)保持每一處鏈接文件的同步性,也就是說(shuō),不論你改動(dòng)了哪一處,其它的文件都會(huì)發(fā)生相同的變化
第二,ln的鏈接又分軟鏈接和硬鏈接兩種,軟鏈接就是ln –s 源文件 目標(biāo)文件,它只會(huì)在你選定的位置上生成一個(gè)文件的鏡像,不會(huì)占用磁盤空間,硬鏈接 ln 源文件 目標(biāo)文件,沒(méi)有參數(shù)-s, 它會(huì)在你選定的位置上生成一個(gè)和源文件大小相同的文件,無(wú)論是軟鏈接還是硬鏈接,文件都保持同步變化。
ln指令用在鏈接文件或目錄,如同時(shí)指定兩個(gè)以上的文件或目錄,且最后的目的地是一個(gè)已經(jīng)存在的目錄,則會(huì)把前面指定的所有文件或目錄復(fù)制到該目錄中。若同時(shí)指定多個(gè)文件或目錄,且最后的目的地并非是一個(gè)已存在的目錄,則會(huì)出現(xiàn)錯(cuò)誤信息
【命令示例】
(1)# ln -s 123 link123 --為123文件創(chuàng)建軟鏈接link123,如果123丟失,link123將失效
(2)# ln 123 ln123 --為123創(chuàng)建硬鏈接ln123,123與ln123的各項(xiàng)屬性相同
(3)結(jié)合前兩步示例,鏈接完畢后刪除和重建鏈接原文件
解釋:
1.源文件123被刪除后,并沒(méi)有影響硬鏈接文件;軟鏈接文件在Linux系統(tǒng)下不斷的閃爍,提示源文件123已經(jīng)不存在
2.重建源文件123后,軟鏈接不在閃爍提示,說(shuō)明已經(jīng)鏈接成功,找到了鏈接文件系統(tǒng);重建后,硬鏈接文件并沒(méi)有受到源文件影響,硬鏈接文件的內(nèi)容還是保留了刪除前源文件的內(nèi)容,說(shuō)明硬鏈接已經(jīng)失效
31.type
【命令作用】
查看命令的類型
例:
alias:別名
keyword:關(guān)鍵字,Shell保留字
function:函數(shù),Shell函數(shù)
builtin:內(nèi)建命令,Shell內(nèi)建命令
file:文件,磁盤文件,外部命令
unfound:沒(méi)有找到
【命令語(yǔ)法】
type [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-t --簡(jiǎn)單顯示命令屬于外部命令,內(nèi)部命令還是別名命令
-p --若命令為外部命令,則顯示其絕對(duì)路徑
【參數(shù)說(shuō)明】
命令名
【命令示例】
(1)type cat --查看cat屬于什么命令
(2)type -t cat --簡(jiǎn)單顯示cat屬于什么命令
(3)type -p cat --顯示外部命令cat的絕對(duì)路徑
32.file
【命令作用】
確定文件類型
如果文件系統(tǒng)確定成功,則輸出文件類型,輸出的文件類型如下:
text :文件中只有ASCII碼字符,可以將字符終端顯示文件內(nèi)容
executable:文件可以運(yùn)行
data:其他類型文件,此類文件一般是二進(jìn)制文件或不能再字符終端上直接顯示的文件
【命令語(yǔ)法】
file [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名,或者目錄名
【命令示例】
# file 123 --查看文件123的類型
33.stat
【命令作用】
查看文件屬性
【命令語(yǔ)法】
stat [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-f --顯示文件系統(tǒng)狀態(tài)
【參數(shù)說(shuō)明】
文件名,或者目錄名
【命令示例】
# stat 123 --顯示文件123的屬性
34.which
【命令作用】
我們經(jīng)常在Linux要查找某個(gè)文件,但不知道放在哪里了,可以使用下面的一些命令來(lái)搜索:
which --查看可執(zhí)行文件的位置
whereis --查看文件的位置
locate --配合數(shù)據(jù)庫(kù)查看文件位置
find --實(shí)際搜尋硬盤查詢文件名稱
which命令的作用是,在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果。也就是說(shuō),使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令
【命令語(yǔ)法】
which [可執(zhí)行的文件名稱]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
命令名
【命令示例】
(1) # which which --用which去找出which
解釋:竟然會(huì)有兩個(gè)which,其中一個(gè)是alias(別名命令),意思是輸入which會(huì)等于后面的那串命令
(2)# which cd --查找cd的絕對(duì)路徑
解釋:發(fā)現(xiàn)并沒(méi)有找到cd的位置(絕對(duì)路徑),因?yàn)?strong> cd 是 bash 內(nèi)建的命令,但是 which 默認(rèn)是找 PATH 內(nèi)所規(guī)范的目錄,所以找不到
35.whatis
【命令作用】
查看幫助文件的位置。
使用makewhatis命令可將當(dāng)前系統(tǒng)上所有的幫助手冊(cè)及與之對(duì)應(yīng)的關(guān)鍵字創(chuàng)建為一個(gè)數(shù)據(jù)庫(kù)
【命令語(yǔ)法】
whatis [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
命令名
【命令示例】
# whatis cat --查看命令cat的作用
36.whereis
【命令作用】
whereis命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說(shuō)明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息
和find相比,whereis查找的速度非???,這是因?yàn)?span style="color: rgb(255, 0, 0); --darkreader-inline-color:#ff1a1a;" data-darkreader-inline-color="">Linux系統(tǒng)會(huì)將系統(tǒng)內(nèi)的所有文件都記錄在一個(gè)數(shù)據(jù)庫(kù)文件中,當(dāng)使用whereis和下面即將介紹的locate時(shí),會(huì)從數(shù)據(jù)庫(kù)中查找數(shù)據(jù),而不是像find命令那樣,通過(guò)遍歷硬盤來(lái)查找,效率自然會(huì)很高。
但是該數(shù)據(jù)庫(kù)文件并不是實(shí)時(shí)更新,默認(rèn)情況下時(shí)一星期更新一次,因此,我們?cè)谟脀hereis和locate 查找文件時(shí),有時(shí)會(huì)找到已經(jīng)被刪除的數(shù)據(jù),或者剛剛建立文件,卻無(wú)法查找到,原因就是因?yàn)閿?shù)據(jù)庫(kù)文件沒(méi)有被更新。
【命令語(yǔ)法】
whereis [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-b --僅查找二進(jìn)制程序和命令
-m --僅查找man幫助手冊(cè)文件
-s --僅查找源代碼文件
【參數(shù)說(shuō)明】
命令名
【命令示例】
(1)查看cp文件及相關(guān)文件路徑
# whereis cp
(2)# where -b cp --只將cp的二進(jìn)制文件查找出來(lái)
# where -m cp --查找cp的man幫助
# where -s cp --查找cp源代碼文件
37.locate
【命令作用】
快速定位文件的路徑。
依賴于事先構(gòu)建的索引;索引的構(gòu)建是在系統(tǒng)較為空閑時(shí)自動(dòng)進(jìn)行(周期性任務(wù));手動(dòng)更新數(shù)據(jù)庫(kù)(updatedb);索引構(gòu)建過(guò)程需要遍歷整個(gè)根文件系統(tǒng),極消耗資源;
工作特點(diǎn)是:查找速度快,模糊查找,非實(shí)時(shí)查找
【命令語(yǔ)法】
locate [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
文件名
【命令示例】
(1)# locate pwd --和pwd相關(guān)的所有文件
(2)# locate /etc/sh --搜索在etc目錄下所有以sh開頭的文件
38.find
【命令作用】
用于在文件樹種查找文件,并作出相應(yīng)的處理
【命令語(yǔ)法】
find [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
-name --按照文件名查找文件
-iname --按照文件名查找文件,不區(qū)分字母大小寫
-user --查找屬于指定用戶的所有文件
-group --按照文件所屬的組來(lái)查找文件
-uid -- 查找屬主為指定的 UID 號(hào)的文件
-gid --查找屬組為指定的 GID 號(hào)的文件
-size --根據(jù)文件大小來(lái)查找文件
-type --根據(jù)文件類型查找
f (普通文件)
d (目錄文件)
b (塊設(shè)備)
c (字符設(shè)備)
s (套接字文件)
p (管道文件)
l (符號(hào)鏈接文件)
-exec COMMAND {} \ --對(duì)查找到的每個(gè)文件執(zhí)行由COMMAND指定的命令;{}: 用于引用查找到的文件名稱自身
注意:find傳遞查找到的文件至后面指定的命令時(shí),查找到所有符合條件的文件一次性傳遞給后面的命令;有些命令不能接受過(guò)多參數(shù),此時(shí)命令執(zhí)行可能會(huì)失??;另一種方式可規(guī)避此問(wèn)題:
【參數(shù)說(shuō)明】
要查的起始目錄,查找的名稱是什么
【命令示例】
(1)根據(jù)關(guān)鍵字查找
# find . -name "*.1"
解釋:在當(dāng)前目錄中查找,以1結(jié)尾的文件, "." 代表當(dāng)前目錄
(2)根據(jù)權(quán)限進(jìn)行查找
# find . -perm 777
解釋:在當(dāng)前目錄中查找權(quán)限為777的文件
(3)按類型查找
# find -type f -name "*6"
解釋:在當(dāng)前目錄中,查找以6結(jié)尾的普通文件
(4)按大小查找文件
# find . -size +1000c -print
解釋:在當(dāng)前目錄下,查找大于1K的文件
39.help
【命令作用】
查看內(nèi)部命令的幫助信息
【命令語(yǔ)法】
help [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
指定命令名顯示幫助信息
【命令示例】
# help pwd --查看內(nèi)部命令pwd的幫助信息
40.man
【命令作用】
命令幫助手冊(cè)
【命令語(yǔ)法】
man [選項(xiàng)] [參數(shù)]
【常用選項(xiàng)】
無(wú)
【參數(shù)說(shuō)明】
所要搜索幫助信息的命令
【命令示例】
# man cd 查看cd的幫助信息
聯(lián)系客服