歡迎您光臨本站 註冊首頁

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

←手機掃碼閱讀     火星人 @ 2014-03-25 , reply:0

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
cp:overwrite '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

[火星人 ] Linux基礎--實例解說目錄/文件命令已經有529次圍觀

http://coctec.com/docs/linux/show-post-155248.html