Linux基礎之—實例解說目錄/文件命令

 

一、列出文件列表的ls命令

ls命令(list)是很常用的命令,可以讓用戶顯示目前目錄中有哪些文件和子目錄。因爲ls的參數相當多,但是有些極少在使用,所以這裏僅介紹常用的部分:

1、不加任何參數時,顯示當前目錄的內容。

[root@localhost /root]# ls

Desktop

2、-a 顯示所有文件和目錄(若無此參數,句點開始的文件和目錄不會顯示出來)。

[root@localhost /root]# ls -a

. .bash_logout .Desktop_big5 .gv .tcshrc

.. .bash_profile .Desktop_en .kde .Xauthority

.abcuser.dict .bashrc .Desktop_gb .kderc .Xdefaults

.abcuser.rem .cshrc .gnome .lynx_cookies

.bash_history Desktop .gnome-desktop .sawfish

3、-A 顯示所有文件和目錄(它比-a少顯示.和..兩項)。

4、-l 以長格式顯示

[root@localhost /root]# ls -l

total 0

lrwxrwxrwx 1 root root 12 6月 19 11:20 Desktop ->; .Desktop_gb/

5、混合使用參數:命令的大部分參數可以合併使用。

讀者可能已經注意到,藏格式顯示提供了許多信息,其中各個字段的意義將在以後的系列中介紹。

 

二、切換目錄的cd命令

cd(change directory)可以讓用戶切換目前的目錄,下面來看幾個cd命令的常見用法:

[root@localhost /root]#cd data <==切換到data子目錄

[root@localhost /root]#cd .. <==切換到上一級目錄

[root@localhost /root]#cd / <==切換到根目錄

[root@localhost /root]#cd ~ <==切換到用戶根目錄

[root@localhost /root]#cd /usr/bin <==切換到/usr/bin目錄

在Linux的目錄中,有幾個特別的目錄:"."表示當前目錄,".."表示上一層目錄,"/"表示根目錄,"~"表示用戶根目錄(用戶登錄時所在的目錄)。

 

三、建立目錄的mkdir命令

mkdir(make directory)可用來建立子目錄。例如:

[root@localhost /root]#mkdir data <==在當前目錄下建立data目錄

[root@localhost /root]#mkdir /data <==在根目錄下建立data目錄

注意:用戶不能在一個不存在的目錄中建立子目錄。例如:目錄/home2若不存在,則不能直接建立/home2/tony目錄。

 

四、刪除目錄的rmdir命令

rmdir(remove directory)可以用來刪除"空"的子目錄:

[root@localhost /root]#rmdir data <==刪除data目錄

[root@localhost /root]#rmdir /data <==刪除根目錄下的data目錄

 

五、拷貝文件的cp命令

cp(copy)可以將文件拷貝成另一個文件,或是拷貝到另一個目錄中。例如,下面實例可以在目前所在目錄中,將data1.txt拷貝成data2.txt。

[root@localhost /root]#cp data1.txt data2.txt

下面範例可以將data3.txt拷貝到/tmp/data目錄中:

[root@localhost /root]#cp data3.txt /tmp/data

爲了方便進行各種拷貝操作,cp命令包含了許多參數:

1、-i 覆蓋相同名稱文件前先詢問用戶。下面實例會將data.txt拷貝到backup目錄中,如果有覆蓋情況發生,則詢問用戶。

[root@localhost /root]#cp -i data.txt bachup

cpverwrite 'backup/data.txt'? y

2、-v 顯示用命令執行過程。例如:

[root@localhost /root]# cp -v data.txt data1.txt

`data.txt' ->; `data1.txt' <==執行過程

3、-R 遞歸拷貝,即拷貝時將所有目錄一併拷貝。下面範例會將目前目錄下的所有文件(含子目錄)拷貝到backup目錄中:

[root@localhost /root]#cp -R * bachup

 

六、刪除文件或目錄的rm命令

rm(remove)可用來刪除文件或目錄。一般用法如下:

[root@localhost /root]#rm data.txt <==刪除data.txt文件

[root@localhost /root]#rm * <==刪除目前目錄中所有文件

rm有一些常用參數:

1、-f 強迫刪除文件愛你。在某些Unix系統默認狀態下,rm命令會對每個要刪除的文件提出確認詢問。如果用戶確定要刪除這些文件,可以使用-f參數來避免詢問。

[root@localhost /root]#rm -f *.txt

2、-i 在刪除文件時提出詢問。

[root@localhost /root]#rm -i *

rm:back:is a directory <==遇到目錄會略過

rm:remove 'data1.txt'? y <==刪除文件時會詢問

rm:remove 'data2.txt'? n

rm:remove 'data3.txt'? n

3、-r 遞歸刪除(連子目錄一併刪除)。下列命令會刪除backup目錄和backup目錄下的所有文件和子目錄。

[root@localhost /root]#rm -r backup

 

七、讓顯示畫面暫停的more命令

當所要顯示的內容會超過屏幕大小時,用戶可以使用more命令來顯示內容按多頁方式進行顯示,在用戶按下任何鍵時,繼續顯示下一個畫面:

[root@localhost /root]#ls -al |more

total 132

drwxr-x--- 9 root root 4096 6月 27 21:18 .

drwxr-xr-x 22 root root 4096 6月 27 21:06 ..

-rw-r--r-- 1 root root 42256 6月 19 17:25 .abcuser.dict

......略

--More-- <==暫停,按下任何鍵會繼續顯示

more命令也可以單獨使用,可以用來顯示文字文件的內容。下面實例會顯示data.txt文件的內容,並會在畫面滿屏時,暫時停止顯示:

[root@localhost /root]#more data.txt

 

八、連接或顯示文件的cat命令

cat(concatenate)可以顯示文件的內容(經常和more搭配使用),或將多個文件合併成一個文件。以下命令會顯示/etc/issue文件的內容:

[root@localhost root]# cat /etc/issue |more

Red Flag Linux release 4.0 (HOT)

Kernel /r on an /m

以下實例會用cat命令將data.txt的內容顯示出來,而>;>;命令將顯示結果重新定向附加到all_data.txt後面:

[root@localhost root]# cat data.txt >;>; all_data.txt

用戶也可使用cat命令將文件內容合併到另一個文件中。例如,下面命令會將data1.txt和data2.txt的內容合併到all_data.txt文件中:

[root@localhost root]# cat data1.txt data2.txt >; all_data.txt

關於">;"與">;>;"的用法,稍後介紹。

 

九、移動或更改文件名的mv命令

mv(move)可以將文件移動到另一個地方,或者更改文件名稱(Lniux中並沒有ren或rename命令來更改文件名)。下面範例可將data.txt文件移動到別的目錄中:

[root@localhost root]#mv data.txt .. <==將data.txt文件移動到上一層目錄

[root@localhost root]#mv data.txt / <==將data.txt文件移動到根目錄

下面範例可將data1.txt改名爲data2.txt:

[root@localhost root]#mv data1.txt data2.txt

 

十、顯示目前所在目錄的pwd命令

pwd(print working directory)可顯示用戶目前所在目錄。

[root@localhost root]#pwd

/root

 

十一、尋找文件的find命令

find命令可以指定搜索目錄,並在搜索目錄(和它所有的子目錄)中搜索特定文件。

下面實例指定搜索目錄爲根目錄(/)和根目錄以下的所有子目錄(這等於是搜索整個系統),搜尋文件名(-name參數)爲gzip,如果能夠找到相符合的文件,則顯示出來(如果不加-print,搜尋結果不會顯示出來):

[root@localhost root]# find / -name gzip -print

/usr/bin/gzip

/bin/gzip

搜尋結果表示/usr/bin/和/bin/目錄都有名爲gzip的文件。

 

十二、顯示文件類型的file命令

file命令可以用來顯示文件類型。下面範例會顯示當前中所有文件的文件類型:

[root@localhost root]# file ./*

./Desktop: directory

./install.log: Non-ISO extended-ASCII text

./install.log.syslog: empty

./partitioninfo: ASCII text

 

十三、搜索字符串的grep命令

grep命令可以搜索特定字符串並顯示出來,一般用來過濾先前結果,而避免顯示太多不必要的信息。下面實例顯示了file ./*命令所顯示的結果中,包含ASCII字符串的行:

[root@localhost root]# file ./* |grep ASCII

./install.log: Non-ISO extended-ASCII text

./partitioninfo: ASCII text

"|"是管道符,稍後會介紹。

 

十四、重新定向與管道符

重新定向(redirect)可將某命令的結果輸出到文件中,它有兩種命令">;"和">;>;"。>;可將結果輸出到文件中,如果該文件原本就存在,則該文件原有的內容會被刪除;>;>;則將結果附加在原文件後面,原文件的內容不會被清除。

下面實例可將目前目錄下的文件名輸出到dir.txt文件中:

[root@localhost root]#ls -al >; dir.txt

下面實例可將data1.txt文件內容附加到all_data.txt文件中:

[root@localhost root]#cat data1.txt >;>; all_data.txt

 

管道符|(pipe)可將某命令的結果輸出給另一命令。下面範例可將file ./*命令的結果輸出給grep ASCII命令處理:

[root@localhost root]# file ./* |grep ASCII

./install.log: Non-ISO extended-ASCII text

./partitioninfo: ASCII text

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章