目錄管理
mkdir 創(chuàng)建一個目錄 ? ? mkdir ?目錄名
?mkdir –p test1/test2/? 建立test1目錄并在其中建立test2目錄
-m ?創(chuàng)建文件夾并設(shè)置權(quán)限 ? ? eg:mkdir -m ?777 ?test (創(chuàng)建了test文件并修改權(quán)限為777)皇忿,不使用chmod可實現(xiàn)權(quán)限設(shè)置
-v ? mkdir 創(chuàng)建成功文件后,默認(rèn)狀態(tài)下是不會輸入任何的提示信息的箩艺,但是-v參數(shù)可以使得不管創(chuàng)建成功與否钻哩,都會給出相應(yīng)的提示 ,這樣就可以不用再創(chuàng)建完成后再去ls了
rmdir 刪除一個空目錄 ? ?rmdir 目錄名
一個目錄被刪除之前必須是空的,(注意,rm - r dir命令可代替rmdir,但是有很大危險性斗躏。)刪除某目錄時也必須具有對父目錄的寫權(quán)限。
-?p?遞歸刪除目錄dirname昔脯,當(dāng)子目錄刪除后其父目錄為空時啄糙,也一同被刪除。如果整個路徑被刪除或者由于某種原因保留部分路徑云稚,則系統(tǒng)在標(biāo)準(zhǔn)輸出上顯示相應(yīng)的信息隧饼。
-v,?--verbose顯示指令執(zhí)行過程
rm -rf ? 強制刪除,不需要再次確認(rèn)刪除選
mv 重命目錄名
mv test test1 (將test目錄命名為test1)
?mv重命名功能時后面對象僅能是對象名碱鳞,如果有路徑將實現(xiàn)剪切功能桑李。 mv? 目錄名? /目錄名
mv 命令是一個與cp類似的命令,但是它并非創(chuàng)建文件或目錄的復(fù)制品/副本。
mv 目錄名 ? ? ? ? ? ? ? ? ? ?重命名目錄
mv 文件名 ?目錄名 ? ? ?移動文件到該目錄下
mv ?路徑1/路徑2 ? 將路徑1改為路徑2 ? ?eg:mv /a/b ? 將當(dāng)前的a路徑改為b路徑
?-v 顯示移動的信息 贵白,當(dāng)你移動或重命名一大堆文件或目錄時率拒,你可能會想在不去目標(biāo)位置去查看的情況下知道你自己的命令是否成功地執(zhí)行了。這就要用到-v選項了禁荒。
-i 顯示相同文件覆蓋提示 ?當(dāng)你將文件移動到其它位置猬膨,而那個位置恰好有同樣的文件,這時 mv 命令會覆蓋掉原來的文件呛伴。對于mv的這一行為一般不會有什么提示勃痴。如果想產(chǎn)生一個關(guān)于覆蓋文件的提示,我們可以使用-i選項热康。(譯注:通常發(fā)行版會通過alias命令沛申,將-i作為默認(rèn)選項,所以會有提示姐军。)
-u ?-i 選項會提示我們關(guān)于覆蓋文件的提示铁材,而 -u 則只在源文件比目標(biāo)文件新時才執(zhí)行更新。
-n ?選項將不會允許我們覆蓋任何已存在的文件奕锌。
-b?該選項會在新文件覆蓋舊文件時將舊文件做備份
文檔編輯
vi
進(jìn)入文件
?vi? filename:打開或新建文件著觉,并將光標(biāo)置于第一行首
?vi +n filename :打開文件,并將光標(biāo)置于第n行首
?vi + filename :打開文件惊暴,并將光標(biāo)置于最后一行首
?vi -r filename :在上次正用vi編輯時發(fā)生系統(tǒng)崩潰饼丘,恢復(fù)filename
?vi filename....filename :打開多個文件,依次編輯
{進(jìn)入vi之后辽话,是處于「命令行模式(command mode)」肄鸽,您要切換到「插入模式(Insert mode)」才能夠輸入文字。在「命令行模式(command mode)」下按一下字母「i」就可以進(jìn)入「插入模式(Insert mode)」屡穗。您目前處于「插入模式(Insert mode)」贴捡,您就只能一直輸入文字忽肛,如果您發(fā)現(xiàn)輸錯了字村砂!想用光標(biāo)鍵往回移動,將該字刪除屹逛,就要先按一下「ESC」鍵轉(zhuǎn)到「命令行模式(command mode)」再刪除文字础废。?}
文件之中
?Ctrl+u:向文件首翻半屏
?Ctrl+d:向文件尾翻半屏
?Ctrl+f:向文件尾翻一屏
?Ctrl+b;向文件首翻一屏
?gg 跳到文檔首行 或者1G
?G?跳到文檔的最后一行行首
文件退出
:q:退出vi
:wq:保存并退出vi
:w:保存編輯內(nèi)容
:q!:強制退出
:w filename ? 另存為
vi 替換
:s/vivian/sky/???????? #替換當(dāng)前行第一個 vivian 為 sky
?:s/vivian/sky/g???? #替換當(dāng)前行所有 vivian 為 sky
?:n,$s/vivian/sky/????#替換第 n 行開始到最后一行中每一行的第一個 vivian 為 sky
?:n,$s/vivian/sky/g????#替換第 n 行開始到最后一行中每一行所有vivian 為 sky
?(n 為數(shù)字罕模,若 n 為 .评腺,表示從當(dāng)前行開始到最后一行)
?:%s/vivian/sky/??????? #(等同于:1,$s/vivian/sky/??
:g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky
:%s/vivian/sky/g #(等同于:1,$s/vivian/sky/g????
:g/vivian/s//sky/g)替換每一行的所有 vivian 為 sky
cp ?復(fù)制
?cp [-drsu] [來源文件] [目的文件]
?-r:可以進(jìn)行目錄的copy?
?[root@liulinux ~]$ cp -r test1 test2
?將test1目錄拷貝到test2中
?[root @liulinux ~]$ cp?test1/test.txt ./
將test1中test.txt文件拷貝到當(dāng)前目錄下
find ?
-name?? 按照文件名查找文件。
find?-name? test1
find?/hone? -name? test1??路徑在表達(dá)式之前
Find? -inum?? 776543? 指向該節(jié)點編號(iNode number)的所有文件
-user ?查找屬于指定文件名所有文件 ? ?eg:find ?/opt ?-user nobody ??查找/opt目錄下淑掌,用戶名稱為nobody的文件
-size ?按照指定的文件大小查找文件 ? ? ?eg:find ? / ?-size +20M ?蒿讥; ?find ? / ?-size -20M ? ?;find ? / ?-size 20M ? ?查找整個linux系統(tǒng)下大于20M的文件(+n 大于、-n小于芋绸、 n等于)注意:M大寫 ? ?媒殉; ? ?' ?/ ?' ?表示根目錄 ?所以是整個Linux系統(tǒng)的文件 ??
locate
locate命令其實是find -name的另一種寫法,但是要比后者快得多摔敛,原因在于它不搜索具體目錄廷蓉,而是搜索一個數(shù)據(jù)庫/var/lib/locatedb,這個數(shù)據(jù)庫中含有本地所有文件信息马昙。Linux系統(tǒng)自動創(chuàng)建這個數(shù)據(jù)庫桃犬,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件行楞。為了避免這種情況攒暇,可以在使用locate之前,先使用updatedb命令子房,手動更新數(shù)據(jù)庫扯饶。
grep
{ -c ? 只輸出匹配行數(shù)量,即文件中有幾行含有搜索的關(guān)鍵字
-v ? 顯示不包含匹配文件的所有行池颈,
-n ? 同-c相反-n#列出所有的匹配行尾序,并顯示行號
-i ? 搜索時忽略大小寫,使得搜索對大小寫不敏感
-h ? ?查詢多文件時不顯示文件名躯砰,不加的話每币,搜索結(jié)果前面多文件時會顯示文件名
-l ? ?只列出符合匹配的文件名,而不列出具體的匹配行琢歇,即只說哪些文件里面有關(guān)鍵詞
-s ?不顯示不存在或無匹配文本的錯誤信息兰怠,默認(rèn)如果多文本搜索時,若有文件沒有關(guān)鍵詞會輸出信息的
-w ? 匹配整詞李茫,字符都被解釋為字面意思揭保,不會被解釋為特殊含義,比如"*"
-x ?匹配整行魄宏,同上
-r ? 遞歸搜索秸侣,不僅搜索當(dāng)前工作目錄,而且搜索子目錄
-q ? ?禁止輸出任何結(jié)果宠互,以推出狀態(tài)表示搜索是否成功
-b ? 打印匹配行距文件頭部偏移量味榛,以字節(jié)為單位
-o#和-b選項結(jié)合使用,打印匹配的詞距文件頭部的偏移量予跌,以字節(jié)為單位搏色,加了這個以后就-E#支持?jǐn)U展的正則表達(dá)式
-F ?不支持正則表達(dá)式,按照字符串的字面意思進(jìn)行匹配
grep搜索的時候券册,可以是字符频轿,也可以是變量垂涯,還可以是正則表達(dá)式。但是無論哪種模式航邢,只要其中包含空格集币,就需要用雙引號將模式引出來,因為如果不加上空格的話翠忠,空格后的單詞容易被誤認(rèn)成為文件名鞠苟。
}
1、匹配行首"^"
grep^-*.txt#匹配.txt文件中以“-”開頭的行
grep -c ^$? *.txt#在txt文件中有多少空白行
grep -c ^[^$] *.txt#在txt文件中有多少非空白行秽之,第二個“^”表示的是取反的意思
2当娱、大小寫問題
grep [Cc]ertificate *.txt ? ?表達(dá)C不區(qū)分大小寫,如果都不區(qū)分的話考榨,可以用下面的指令
grep"certificate" *.txt
3跨细、匹配未知的字"." "*"
grep ^/..../*.txt#匹配以“/”字符開始,中間四個任意字符后再跟“/”
grep ^-*B *.txt#匹配以“-”字符開始任意個“-”以后河质,緊跟B的意思
4冀惭、轉(zhuǎn)義符"" ? ??
試想一種情況,就是我們要搜索bupt.edu.cn這個字符串掀鹅,注意03中“.”是作為任意字符的散休,所以我們需要把它標(biāo)記出來,使用的方法就是""乐尊。
??注意?:“-”也需要轉(zhuǎn)移喲
grepbupt\.edu\.cn*.txt#搜索的是bupt.edu.cn
5戚丸、或“|”
grep -E"OU|seu"#匹配OU或者seu
這部分不加-E,則|理解為字面?扔嵌,OU|seu兩側(cè)的引號也是必不可少的
cat 從前至后 ?用于較少的文件查看
?格式:??cat? [ options? ]?filename1? … filename2 …
?常用 options:??
?-n??對所有輸出行進(jìn)行編號
?-b?與-n相似限府,但空白行不編號
?例:$ cat? file1 file2 file3??????? 同時顯示三個文件
????????$cat –b file1 file2 file3
tac 從后至前 ?用于較少的文件查看 ? 格式同上
head 從頭開始查找文件
eg: head -10 具體文件路徑?? 會顯示前10行
tail 輸出文件后半部分
eg: tail - 10 具體文件路徑?? 會顯示后10行
more ?查找 ?從前向后展示
?-num:每頁顯示多少行內(nèi)容
+num:從多少行開始顯示
eg:?more +2 -2 test.txt ? ? ? ? 從第2行開始,每頁顯示2行數(shù)據(jù)閱讀test.txt文件
less ? 查找 ? ? ?從后向前展示?? 具體搜索高量顯示?
?less的功能和more相似痢缎,但是使用more無法向前翻頁胁勺,只能向后翻。
?less可以使用【pageup】和【pagedown】鍵進(jìn)行前翻頁和后翻頁独旷,這樣看起來更方便署穗。
?less還有一個功能,可以在文件中進(jìn)行搜索你想找的內(nèi)容势告,假設(shè)你想在passwd文件中查找有沒有weblogic字符串蛇捌,那么你可以這樣來做:?[root@redhat etc]# less passwd
?然后輸入:/weblogic ? ? ?再回車抚恒,此時如果有weblogic字符串咱台,linux會把該字符已高亮方式顯示。
搜索功能
/字符串 :向下搜尋『字符串』的功能俭驮;
??字符串 :向上搜尋『字符串』的功能回溺;
?n :重復(fù)前一個搜尋 (與 / 或 ? 有關(guān)春贸!)
?N :反向的重復(fù)前一個搜尋 (與 / 或 ? 有關(guān)!)
?q :離開 less 這個程序