Linux命令

處理目錄的常用命令

接下來(lái)我們就來(lái)看幾個(gè)常見(jiàn)的處理目錄的命令吧:

ls(英文全拼:list files): 列出目錄及文件名

cd(英文全拼:change directory):切換目錄

pwd(英文全拼:print work directory):顯示目前的目錄

mkdir(英文全拼:make directory):創(chuàng)建一個(gè)新的目錄

rmdir(英文全拼:remove directory):刪除一個(gè)空的目錄

cp(英文全拼:copy file): 復(fù)制文件或目錄

rm(英文全拼:remove): 移除文件或目錄

mv(英文全拼:move file): 移動(dòng)文件與目錄,或修改文件與目錄的名稱

選項(xiàng)與參數(shù):

-a :全部的文件,連同隱藏文件( 開(kāi)頭為 . 的文件) 一起列出來(lái)(常用)

-d :僅列出目錄本身,而不是列出目錄內(nèi)的文件數(shù)據(jù)(常用)

-l :長(zhǎng)數(shù)據(jù)串列出,包含文件的屬性與權(quán)限等等數(shù)據(jù);(常用)

cd (切換目錄)

cd是Change Directory的縮寫(xiě),這是用來(lái)變換工作目錄的命令。

語(yǔ)法:

cd [相對(duì)路徑或絕對(duì)路徑]

#使用 mkdir 命令創(chuàng)建 runoob 目錄[root@www ~]# mkdir runoob#使用絕對(duì)路徑切換到 runoob 目錄[root@www ~]# cd /root/runoob/#使用相對(duì)路徑切換到 runoob 目錄[root@www ~]# cd ./runoob/# 表示回到自己的家目錄,亦即是 /root 這個(gè)目錄[root@www runoob]# cd ~# 表示去到目前的上一級(jí)目錄,亦即是 /root 的上一級(jí)目錄的意思;[root@www ~]# cd ..

接下來(lái)大家多操作幾次應(yīng)該就可以很好的理解 cd 命令的。

pwd (顯示目前所在的目錄)

pwd 是?Print Working Directory?的縮寫(xiě),也就是顯示目前所在目錄的命令。

[root@www ~]# pwd [-P]

選項(xiàng)與參數(shù):

-P?:顯示出確實(shí)的路徑,而非使用連結(jié) (link) 路徑。

實(shí)例:?jiǎn)渭冿@示出目前的工作目錄:

[root@www ~]# pwd/root? <== 顯示出目錄啦~

實(shí)例顯示出實(shí)際的工作目錄,而非連結(jié)檔本身的目錄名而已。

[root@www ~]# cd /var/mail? <==注意,/var/mail是一個(gè)連結(jié)檔[root@www mail]# pwd/var/mail? ? ? ? <==列出目前的工作目錄[root@www mail]# pwd -P/var/spool/mail? <==怎么回事?有沒(méi)有加 -P 差很多~[root@www mail]# ls -ld /var/mail

lrwxrwxrwx 1 root root 10 Sep? 4 17:54 /var/mail -> spool/mail# 看到這里應(yīng)該知道為啥了吧?因?yàn)?/var/mail 是連結(jié)檔,連結(jié)到 /var/spool/mail # 所以,加上 pwd -P 的選項(xiàng)后,會(huì)不以連結(jié)檔的數(shù)據(jù)顯示,而是顯示正確的完整路徑??!

mkdir (創(chuàng)建新目錄)

如果想要?jiǎng)?chuàng)建新的目錄的話,那么就使用mkdir (make directory)。

語(yǔ)法:

mkdir [-mp] 目錄名稱

選項(xiàng)與參數(shù):

-m :配置文件的權(quán)限喔!直接配置,不需要看默認(rèn)權(quán)限 (umask) 的臉色~

-p :幫助你直接將所需要的目錄(包含上一級(jí)目錄)遞歸創(chuàng)建起來(lái)!

實(shí)例:請(qǐng)到/tmp底下嘗試創(chuàng)建數(shù)個(gè)新目錄看看:

[root@www ~]# cd /tmp[root@www tmp]# mkdir test? ? <==創(chuàng)建一名為 test 的新目錄[root@www tmp]# mkdir test1/test2/test3/test4

mkdir: cannot create directory `test1/test2/test3/test4':

No such file or directory? ? ? <== 沒(méi)辦法直接創(chuàng)建此目錄??!

[root@www tmp]# mkdir -p test1/test2/test3/test4

加了這個(gè) -p 的選項(xiàng),可以自行幫你創(chuàng)建多層目錄!

實(shí)例:創(chuàng)建權(quán)限為?rwx--x--x?的目錄。

[root@www tmp]# mkdir -m 711 test2[root@www tmp]# ls -l

drwxr-xr-x? 3 root? root 4096 Jul 18 12:50 test

drwxr-xr-x? 3 root? root 4096 Jul 18 12:53 test1

drwx--x--x? 2 root? root 4096 Jul 18 12:54 test2

上面的權(quán)限部分,如果沒(méi)有加上 -m 來(lái)強(qiáng)制配置屬性,系統(tǒng)會(huì)使用默認(rèn)屬性。

如果我們使用 -m ,如上例我們給予 -m 711 來(lái)給予新的目錄 drwx--x--x 的權(quán)限。

rmdir (刪除空的目錄)

語(yǔ)法:

rmdir [-p] 目錄名稱

選項(xiàng)與參數(shù):

-p :連同上一級(jí)『空的』目錄也一起刪除

刪除 runoob 目錄

[root@www tmp]# rmdir runoob/

將 mkdir 實(shí)例中創(chuàng)建的目錄(/tmp 底下)刪除掉!

[root@www tmp]# ls -l? <==看看有多少目錄存在?drwxr-xr-x? 3 root? root 4096 Jul 18 12:50 test

drwxr-xr-x? 3 root? root 4096 Jul 18 12:53 test1

drwx--x--x? 2 root? root 4096 Jul 18 12:54 test2[root@www tmp]# rmdir test? <==可直接刪除掉,沒(méi)問(wèn)題[root@www tmp]# rmdir test1? <==因?yàn)樯杏袃?nèi)容,所以無(wú)法刪除!rmdir: `test1': Directory not empty

[root@www tmp]# rmdir -p test1/test2/test3/test4

[root@www tmp]# ls -l? ? ? ? <==您看看,底下的輸出中test與test1不見(jiàn)了!

drwx--x--x? 2 root? root 4096 Jul 18 12:54 test2

利用 -p 這個(gè)選項(xiàng),立刻就可以將 test1/test2/test3/test4 一次刪除。

不過(guò)要注意的是,這個(gè) rmdir 僅能刪除空的目錄,你可以使用 rm 命令來(lái)刪除非空目錄。

cp (復(fù)制文件或目錄)

cp 即拷貝文件和目錄。

語(yǔ)法:

[root@www ~]# cp [-adfilprsu] 來(lái)源檔(source) 目標(biāo)檔(destination)[root@www ~]# cp [options] source1 source2 source3 .... directory

選項(xiàng)與參數(shù):

-a:相當(dāng)於 -pdr 的意思,至於 pdr 請(qǐng)參考下列說(shuō)明;(常用)

-d:若來(lái)源檔為連結(jié)檔的屬性(link file),則復(fù)制連結(jié)檔屬性而非文件本身;

-f:為強(qiáng)制(force)的意思,若目標(biāo)文件已經(jīng)存在且無(wú)法開(kāi)啟,則移除后再嘗試一次;

-i:若目標(biāo)檔(destination)已經(jīng)存在時(shí),在覆蓋時(shí)會(huì)先詢問(wèn)動(dòng)作的進(jìn)行(常用)

-l:進(jìn)行硬式連結(jié)(hard link)的連結(jié)檔創(chuàng)建,而非復(fù)制文件本身;

-p:連同文件的屬性一起復(fù)制過(guò)去,而非使用默認(rèn)屬性(備份常用);

-r:遞歸持續(xù)復(fù)制,用於目錄的復(fù)制行為;(常用)

-s:復(fù)制成為符號(hào)連結(jié)檔 (symbolic link),亦即『捷徑』文件;

-u:若 destination 比 source 舊才升級(jí) destination !

用 root 身份,將 root 目錄下的 .bashrc 復(fù)制到 /tmp 下,并命名為 bashrc

[root@www ~]# cp ~/.bashrc /tmp/bashrc[root@www ~]# cp -i ~/.bashrc /tmp/bashrc

cp: overwrite `/tmp/bashrc'? n? <==n不覆蓋,y為覆蓋

rm (移除文件或目錄)

語(yǔ)法:

rm [-fir] 文件或目錄

選項(xiàng)與參數(shù):

-f :就是 force 的意思,忽略不存在的文件,不會(huì)出現(xiàn)警告信息;

-i :互動(dòng)模式,在刪除前會(huì)詢問(wèn)使用者是否動(dòng)作

-r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險(xiǎn)的選項(xiàng)?。?!

將剛剛在 cp 的實(shí)例中創(chuàng)建的 bashrc 刪除掉!

[root@www tmp]# rm -i bashrc

rm: remove regular file `bashrc'? y

如果加上 -i 的選項(xiàng)就會(huì)主動(dòng)詢問(wèn)喔,避免你刪除到錯(cuò)誤的檔名!

mv (移動(dòng)文件與目錄,或修改名稱)

語(yǔ)法:

[root@www ~]# mv [-fiu] source destination[root@www ~]# mv [options] source1 source2 source3 .... directory

選項(xiàng)與參數(shù):

-f :force 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢問(wèn)而直接覆蓋;

-i :若目標(biāo)文件 (destination) 已經(jīng)存在時(shí),就會(huì)詢問(wèn)是否覆蓋!

-u :若目標(biāo)文件已經(jīng)存在,且 source 比較新,才會(huì)升級(jí) (update)

復(fù)制一文件,創(chuàng)建一目錄,將文件移動(dòng)到目錄中

[root@www ~]# cd /tmp[root@www tmp]# cp ~/.bashrc bashrc[root@www tmp]# mkdir mvtest[root@www tmp]# mv bashrc mvtest

將某個(gè)文件移動(dòng)到某個(gè)目錄去,就是這樣做!

將剛剛的目錄名稱更名為 mvtest2

[root@www tmp]# mv mvtest mvtest2

Linux 文件內(nèi)容查看

Linux系統(tǒng)中使用以下命令來(lái)查看文件的內(nèi)容:

cat? 由第一行開(kāi)始顯示文件內(nèi)容

tac? 從最后一行開(kāi)始顯示,可以看出 tac 是 cat 的倒著寫(xiě)!

nl ??顯示的時(shí)候,順道輸出行號(hào)!

more 一頁(yè)一頁(yè)的顯示文件內(nèi)容

less 與 more 類似,但是比 more 更好的是,他可以往前翻頁(yè)!

head 只看頭幾行

tail 只看尾巴幾行

你可以使用?man [命令]來(lái)查看各個(gè)命令的使用文檔,如 :man cp。

cat

由第一行開(kāi)始顯示文件內(nèi)容

語(yǔ)法:

cat [-AbEnTv]

選項(xiàng)與參數(shù):

-A :相當(dāng)於 -vET 的整合選項(xiàng),可列出一些特殊字符而不是空白而已;

-b :列出行號(hào),僅針對(duì)非空白行做行號(hào)顯示,空白行不標(biāo)行號(hào)!

-E :將結(jié)尾的斷行字節(jié) $ 顯示出來(lái);

-n :列印出行號(hào),連同空白行也會(huì)有行號(hào),與 -b 的選項(xiàng)不同;

-T :將 [tab] 按鍵以 ^I 顯示出來(lái);

-v :列出一些看不出來(lái)的特殊字符

檢看 /etc/issue 這個(gè)文件的內(nèi)容:

[root@www ~]# cat /etc/issueCentOS release 6.4 (Final)Kernel \r on an \m

tac

tac與cat命令剛好相反,文件內(nèi)容從最后一行開(kāi)始顯示,可以看出 tac 是 cat 的倒著寫(xiě)!如:

[root@www ~]# tac /etc/issueKernel \r on an \mCentOS release 6.4 (Final)

nl

顯示行號(hào)

語(yǔ)法:

nl [-bnw] 文件

選項(xiàng)與參數(shù):

-b :指定行號(hào)指定的方式,主要有兩種:

-b a :表示不論是否為空行,也同樣列出行號(hào)(類似 cat -n);

-b t :如果有空行,空的那一行不要列出行號(hào)(默認(rèn)值);

-n :列出行號(hào)表示的方法,主要有三種:

-n ln :行號(hào)在熒幕的最左方顯示;

-n rn :行號(hào)在自己欄位的最右方顯示,且不加 0 ;

-n rz :行號(hào)在自己欄位的最右方顯示,且加 0 ;

-w :行號(hào)欄位的占用的位數(shù)。

實(shí)例一:用 nl 列出 /etc/issue 的內(nèi)容

[root@www ~]# nl /etc/issue

? ? 1? CentOS release 6.4 (Final)? ? 2? Kernel \r on an \m

more

一頁(yè)一頁(yè)翻動(dòng)

[root@www ~]# more /etc/man_db.config ## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6d....(中間省略)....--More--(28%)? <== 重點(diǎn)在這一行喔!你的光標(biāo)也會(huì)在這里等待你的命令

在 more 這個(gè)程序的運(yùn)行過(guò)程中,你有幾個(gè)按鍵可以按的:

空白鍵 (space):代表向下翻一頁(yè);

Enter???????? :代表向下翻『一行』;

/字串???????? :代表在這個(gè)顯示的內(nèi)容當(dāng)中,向下搜尋『字串』這個(gè)關(guān)鍵字;

:f??????????? :立刻顯示出檔名以及目前顯示的行數(shù);

q???????????? :代表立刻離開(kāi) more ,不再顯示該文件內(nèi)容。

b 或 [ctrl]-b :代表往回翻頁(yè),不過(guò)這動(dòng)作只對(duì)文件有用,對(duì)管線無(wú)用。

less

一頁(yè)一頁(yè)翻動(dòng),以下實(shí)例輸出/etc/man.config文件的內(nèi)容:

[root@www ~]# less /etc/man.config## Generated automatically from man.conf.in by the# configure script.## man.conf from man-1.6d....(中間省略)....:? <== 這里可以等待你輸入命令!

less運(yùn)行時(shí)可以輸入的命令有:

空白鍵????:向下翻動(dòng)一頁(yè);

[pagedown]:向下翻動(dòng)一頁(yè);

[pageup]??:向上翻動(dòng)一頁(yè);

/字串?????:向下搜尋『字串』的功能;

?字串?????:向上搜尋『字串』的功能;

n???????? :重復(fù)前一個(gè)搜尋 (與 / 或 ? 有關(guān)!)

N???????? :反向的重復(fù)前一個(gè)搜尋 (與 / 或 ? 有關(guān)!)

q???????? :離開(kāi) less 這個(gè)程序;

head

取出文件前面幾行

語(yǔ)法:

head [-n number] 文件

選項(xiàng)與參數(shù):

-n :后面接數(shù)字,代表顯示幾行的意思

[root@www ~]# head /etc/man.config

默認(rèn)的情況中,顯示前面 10 行!若要顯示前 20 行,就得要這樣:

[root@www ~]# head -n 20 /etc/man.config

tail

取出文件后面幾行

語(yǔ)法:

tail [-n number] 文件

選項(xiàng)與參數(shù):

-n :后面接數(shù)字,代表顯示幾行的意思

-f :表示持續(xù)偵測(cè)后面所接的檔名,要等到按下[ctrl]-c才會(huì)結(jié)束tail的偵測(cè)

[root@www ~]# tail /etc/man.config# 默認(rèn)的情況中,顯示最后的十行!若要顯示最后的 20 行,就得要這樣:[root@www ~]# tail -n 20 /etc/man.config

這是Linux命令鏈接:

https://www.runoob.com/linux/linux-file-content-manage.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容