一、列出文件列表的ls命令
ls命令(list)是很常用的命令,,可以讓用戶顯示目前目錄中有哪些文件和子目錄,。因為ls的參數(shù)相當多,但是有些極少在使用,,所以這里僅介紹常用的部分:
1,、不加任何參數(shù)時,顯示當前目錄的內(nèi)容,。
[root@localhost /root]# ls
Desktop
2,、-a 顯示所有文件和目錄(若無此參數(shù),句點開始的文件和目錄不會顯示出來),。
[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,、混合使用參數(shù):命令的大部分參數(shù)可以合并使用。
讀者可能已經(jīng)注意到,,藏格式顯示提供了許多信息,,其中各個字段的意義將在以后的系列中介紹。
二,、切換目錄的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命令包含了許多參數(shù):
1、-i 覆蓋相同名稱文件前先詢問用戶,。下面實例會將data.txt拷貝到backup目錄中,,如果有覆蓋情況發(fā)生,則詢問用戶,。
[root@localhost /root]#cp -i data.txt bachup
cpverwrite 'backup/data.txt'? y
2,、-v 顯示用命令執(zhí)行過程。例如:
[root@localhost /root]# cp -v data.txt data1.txt
`data.txt' ->; `data1.txt' <==執(zhí)行過程
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有一些常用參數(shù):
1、-f 強迫刪除文件愛你,。在某些Unix系統(tǒng)默認狀態(tài)下,,rm命令會對每個要刪除的文件提出確認詢問。如果用戶確定要刪除這些文件,,可以使用-f參數(shù)來避免詢問,。
[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命令
當所要顯示的內(nèi)容會超過屏幕大小時,用戶可以使用more命令來顯示內(nèi)容按多頁方式進行顯示,,在用戶按下任何鍵時,,繼續(xù)顯示下一個畫面:
[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-- <==暫停,,按下任何鍵會繼續(xù)顯示
more命令也可以單獨使用,可以用來顯示文字文件的內(nèi)容,。下面實例會顯示data.txt文件的內(nèi)容,,并會在畫面滿屏時,暫時停止顯示:
[root@localhost /root]#more data.txt
八,、連接或顯示文件的cat命令
cat(concatenate)可以顯示文件的內(nèi)容(經(jīng)常和more搭配使用),,或?qū)⒍鄠€文件合并成一個文件。以下命令會顯示/etc/issue文件的內(nèi)容:
[root@localhost root]# cat /etc/issue |more
Red Flag Linux release 4.0 (HOT)
Kernel \r on an \m
以下實例會用cat命令將data.txt的內(nèi)容顯示出來,,而>;>;命令將顯示結果重新定向附加到all_data.txt后面:
[root@localhost root]# cat data.txt >;>; all_data.txt
用戶也可使用cat命令將文件內(nèi)容合并到另一個文件中,。例如,下面命令會將data1.txt和data2.txt的內(nèi)容合并到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命令可以指定搜索目錄,并在搜索目錄(和它所有的子目錄)中搜索特定文件,。
下面實例指定搜索目錄為根目錄(/)和根目錄以下的所有子目錄(這等于是搜索整個系統(tǒng)),,搜尋文件名(-name參數(shù))為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)可將某命令的結果輸出到文件中,,它有兩種命令">;"和">;>;"。>;可將結果輸出到文件中,如果該文件原本就存在,,則該文件原有的內(nèi)容會被刪除,;>;>;則將結果附加在原文件后面,原文件的內(nèi)容不會被清除,。
下面實例可將目前目錄下的文件名輸出到dir.txt文件中:
[root@localhost root]#ls -al >; dir.txt
下面實例可將data1.txt文件內(nèi)容附加到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