posts - 0,  comments - 5,  trackbacks - 0
          0、關(guān)于路徑的理解;

          請(qǐng)參考:

          《關(guān)于Linux 文件系統(tǒng)中路徑的理解》


          1、列文件或目錄的信息工具 ls或dir;

          ls 命令可以用于顯示目錄的內(nèi)容,也可以顯示文件的屬性,比如節(jié)點(diǎn)、文件種類、權(quán)限、擁有者、大小、創(chuàng)建時(shí)間等;在目前最新版本的Linux中dir和ls命令的用法是一樣的;有興趣的不仿嘗試一下;


          1.1 ls 的基礎(chǔ)語法和參數(shù);

          語法格式:

          #ls [參數(shù)]?? [目錄或文件名]

          參數(shù):

          -a 顯示所有文件,包含隱藏文件;包括“.“和“..“
          -A 顯示所有文件,包含隱藏文件,不包括“.“和“..“目錄;
          -B 不列出文件名以~結(jié)尾的文件;
          -C 按列列出文件;
          -d 僅可以查看目錄的屬性參數(shù)及信息;
          -F 這個(gè)參數(shù)加上后,能給目錄添加上/,給可執(zhí)行文件加上*,給符號(hào)鏈接加上@? 等等,來標(biāo)記文件名,目的是讓用戶方便查看;
          -l 長(zhǎng)格式輸出
          -h 習(xí)慣人們可閱讀的方式來顯示文件或目錄的大小,比如K、M或G等;
          -p 在目錄的后面附加/標(biāo)記;
          -r 逆序列出文件;
          -t? 按文件最后訪問(或修改)的時(shí)間排序,最新的排在最前面;
          -U 按原始排序,
          -L 遞歸顯示,也就是說,當(dāng)我們列某個(gè)目錄的下的所有文件和目錄時(shí),能把它的下級(jí)目錄的內(nèi)容顯示出來。
          --help? 獲得幫助;

          在這里,位于[]之內(nèi)的都是可選的。如果您只輸入ls ,就會(huì)列出用戶所處當(dāng)前目錄的所有文件,用短格式輸出,但不會(huì)列出隱藏文件。

          判斷用戶所處目錄的命令是pwd,也就是

          [root@localhost ~]# pwd
          /root


          1.2 ls 的參數(shù)示例應(yīng)用;


          1.21 列出目錄下所有文件,包含或不包含隱藏文件,-a 參數(shù)及-l參數(shù)的運(yùn)用;

          #ls -la [目錄名]

          如果不接目錄名,表示輸出當(dāng)前用戶所處目錄內(nèi)的所有文件,包括隱藏文件;

          [root@localhost ~]# pwd
          /root
          [root@localhost ~]# ls -la

          列出某一目錄下的的文件或目錄,但不包括隱藏文件,我們只用-l參數(shù)

          #ls -l? 目錄

          比如:

          [root@localhost ~]# ls? -l /root/
          總計(jì) 13968
          -rw-r--r-- 1 root root???????? 0 04-19 14:09 123.txt
          -rw------- 1 root root????? 1375 03-16 08:55 anaconda-ks.cfg
          -rw-r--r-- 1 root root???????? 2 03-27 02:00 fonts.scale
          -rw-r--r-- 1 root root????? 5423 03-16 08:52 install.log.syslog
          -rw-r--r-- 1 root root? 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
          lrwxrwxrwx 1 root root??????? 33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
          drwxr-xr-x 2 1000 users???? 4096 04-04 23:30 mkuml-2004.07.17
          -rw-r--r-- 1 root root???? 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
          drwxr-xr-x 2 root root????? 4096 04-19 10:53 mydir
          -rw-r--r-- 1 root root???? 53992 03-16 08:54 myinstall.log
          -rw-r--r-- 1 root root???????? 0 04-19 14:10 plinux.txt
          drwxr-xr-x 2 root root????? 4096 03-17 04:25 Public
          -rw-r--r-- 1 root root?????? 613 03-26 18:41 upgrade.log
          -rw-r--r-- 1 root root???????? 0 03-26 18:39 upgrade.log.syslog
          lrwxrwxrwx 1 root root???????? 6 04-19 11:17 yourdir -> mydir/

          說明:如果以長(zhǎng)格式輸入,總共顯示出八段內(nèi)容:

          第一段文件種類及權(quán)限,也就是類似這樣的-rw-r--r-- ,我們?cè)谇懊嬷v到,如果在這段中,第一字符表示文件的類型,如果出現(xiàn)-,表示普通文件。如果是d開頭的就是目錄。在這個(gè)例子中,123.txt是普通文件,而mkuml-2004.07.17就是一個(gè)目錄。關(guān)于文件的種類,請(qǐng)參考 :
          rw-r--r--是權(quán)限位,我們?cè)谝院蟮慕坛讨袝?huì)講到。
          第二段 硬鏈接個(gè)數(shù)(文件系增加一個(gè)硬鏈接,數(shù)字會(huì)增加1,默認(rèn)從1開始,1表示無硬鏈接文件,如果是一個(gè)目錄,它的默認(rèn)值應(yīng)該是2。目錄是不能做硬鏈接的)
          如果我們不以長(zhǎng)格式輸出的話,可以把參數(shù)省略;
          第三段 文件或目錄所占用的字節(jié)數(shù),如果您想用K來表示,請(qǐng)用ls -lh /root
          第四段 最后訪問日期
          第五段 最后訪問時(shí)間
          第六段 文件名

          [root@localhost ~]# ls /root


          1.22 僅查看目錄的屬性的-d參數(shù)的運(yùn)用示例;

          [root@localhost ~]# ls -ld? /etc? /boot? 注:查看/etc和/boot目錄的信息;

          drwxr-xr-x?? 4 root root? 4096 04-11 16:22 /boot
          drwxr-xr-x 108 root root 12288 04-20 12:36 /etc


          1.23 查看文件或目錄的inode節(jié)點(diǎn),-i參數(shù)的運(yùn)用;

          查看文件或目錄的節(jié)點(diǎn),我們要用到i參數(shù)。如果節(jié)點(diǎn)相同,能確認(rèn)他們是相同的文件,是通過通過ln 創(chuàng)建的硬鏈接文件;鏈接接有何用?如果您想把一個(gè)文件復(fù)制時(shí)保持原文件或目錄的節(jié)點(diǎn)、大小、權(quán)限以及訪問(或修改)時(shí)間都和原文件一致的文件。必須通過硬鏈接來實(shí)現(xiàn),用cp命令是不可能實(shí)現(xiàn)的。

          比如:

          [root@localhost ~]# ls -li /root



          [root@localhost ~]# ls -li kernel*
          2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm
          2408270 lrwxrwxrwx 1 root root?????? 33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
          2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
          2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm

          我們看一下kernel00.rpm 、kernel.rpm 和 kernel-2.6.15-1.2025_FC5.i686.rpm 是不是節(jié)點(diǎn)相同??他們的大小是不是一樣,他們的訪問日期是不是一樣?只是他們的文件名不一樣。文件名不一樣沒有關(guān)系,這能證明其中兩個(gè)文件是由另一個(gè)文件通過ln 創(chuàng)建而成。

          您可以嘗試著用cp 把 kernel-2.6.15-1.2025_FC5.i686.rpm 復(fù)制為kernel002.rpm ,看看能不能保持節(jié)點(diǎn)相同?

          [root@localhost ~]# ls -li kernel*
          2408272 -rw-r--r-- 1 root root 14087155 04-19 16:05 kernel002.rpm
          2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel00.rpm
          2408270 lrwxrwxrwx 1 root root?????? 33 04-19 14:56 kernel1.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm
          2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
          2408323 -rw-r--r-- 3 root root 14087155 03-16 07:53 kernel.rpm

          不是是kernel002.rpm 的節(jié)點(diǎn)和 kernel-2.6.15-1.2025_FC5.i686.rpm 不一樣了?


          1.24 關(guān)于排序的參數(shù)的應(yīng)用;

          ls 顯示目錄的內(nèi)容時(shí),會(huì)將文件按a到z的字母順序顯示,優(yōu)先級(jí)如下;

          數(shù)字?
          a-z?
          A-Z

          也就是說如果不加任何排序的參數(shù),文件名第一個(gè)字母是數(shù)字的,將優(yōu)先顯示;其次才是A-Z,然后才是a-z;下面是幾個(gè)排序的參數(shù),大家練習(xí)一下就知道了;

          在文件的大小排序上,我們要用到-S參數(shù);
          如果是逆序排序時(shí),我們要用到-r參數(shù);
          按最后訪問的時(shí)候排序,要用到-t參數(shù);
          根據(jù)擴(kuò)展名進(jìn)行排序,要用到參數(shù) -X ;

          舉例

          [root@localhost ~]# ls
          123.txt????????? fonts.scale???????? kernel?????????????????????????? myinstall.log? upgrade.log
          anaconda-ks.cfg? install.log.syslog? mkuml-2004.07.17-ananas.tar.bz2? plinux.txt???? upgrade.log.syslog

          [root@localhost ~]# ls -lS /root
          [root@localhost ~]# ls -lS
          總計(jì) 180
          -rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
          -rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
          -rw-r--r-- 1 root root? 5423 03-16 08:52 install.log.syslog
          drwxr-xr-x 2 root root? 4096 04-19 20:04 kernel
          -rw------- 1 root root? 1375 04-19 15:04 anaconda-ks.cfg
          -rw-r--r-- 1 root root?? 613 03-26 18:41 upgrade.log
          -rw-r--r-- 1 root root??? 21 04-19 15:06 123.txt
          -rw-r--r-- 1 root root???? 2 03-27 02:00 fonts.scale
          -rw-r--r-- 1 root root???? 0 04-19 14:10 plinux.txt
          -rw-r--r-- 1 root root???? 0 03-26 18:39 upgrade.log.syslog

          舉例:

          [root@localhost ~]# ls -lr
          總計(jì) 180
          -rw-r--r-- 1 root root???? 0 03-26 18:39 upgrade.log.syslog
          -rw-r--r-- 1 root root?? 613 03-26 18:41 upgrade.log
          -rw-r--r-- 1 root root???? 0 04-19 14:10 plinux.txt
          -rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
          -rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
          drwxr-xr-x 2 root root? 4096 04-19 20:04 kernel
          -rw-r--r-- 1 root root? 5423 03-16 08:52 install.log.syslog
          -rw-r--r-- 1 root root???? 2 03-27 02:00 fonts.scale
          -rw------- 1 root root? 1375 04-19 15:04 anaconda-ks.cfg
          -rw-r--r-- 1 root root??? 21 04-19 15:06 123.txt

          [root@localhost ~]# ls -lt
          總計(jì) 180
          drwxr-xr-x 2 root root? 4096 04-19 20:04 kernel
          -rw-r--r-- 1 root root??? 21 04-19 15:06 123.txt
          -rw------- 1 root root? 1375 04-19 15:04 anaconda-ks.cfg
          -rw-r--r-- 1 root root???? 0 04-19 14:10 plinux.txt
          -rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
          -rw-r--r-- 1 root root???? 2 03-27 02:00 fonts.scale
          -rw-r--r-- 1 root root?? 613 03-26 18:41 upgrade.log
          -rw-r--r-- 1 root root???? 0 03-26 18:39 upgrade.log.syslog
          -rw-r--r-- 1 root root 53992 03-16 08:54 myinstall.log
          -rw-r--r-- 1 root root? 5423 03-16 08:52 install.log.syslog


          1.25 遞歸顯示目錄的文件,-R參數(shù)的應(yīng)用;

          遞歸顯示目錄下的所有文件,如果該目錄下有子目錄,也會(huì)把子目錄的文件一并顯示出來。

          比如

          [root@localhost ~]# ls -lR /

          注:也就是把Linux下/根目錄下的所有文件顯示出來,但不會(huì)顯示隱藏文件。自己試著輸入上面的命令就知道怎么回事了。


          1.26 關(guān)于ls 輸出內(nèi)容在終端顯示顏色的參數(shù) --color;

          在一般的情況下,ls輸出內(nèi)容是有顏色的,比如目錄是藍(lán)色,壓縮文件是紅字的顯示。如果沒有顏色,可以加上參數(shù)。當(dāng)然也可以去掉顏色。

          --color=never? 表示輸出輸出沒有彩色
          --color=auto? 表示自動(dòng)
          --color=always 表示輸出內(nèi)容有彩色

          舉例:

          [root@localhost ~]# ls -la --color=never
          [root@localhost ~]# ls -la --color=any
          [root@localhost ~]# ls -la --color=always

          如果您的終端或控制臺(tái)輸出的內(nèi)容沒有顏色,可以自己來定義。在當(dāng)前用戶的家目錄下的.bashrc 中加入下面的一行;

          alias ls="ls --color=always"


          1.27 ls的-F參數(shù)的示例;

          [root@localhost ~]# ls -F
          crondw.sh*? kernel/? mkuml-2004.07.17-ananas.tar.bz2? openQreadme.txt@? sun.txt? upgrade.log? youdir/

          [root@localhost ~]# ls -lF
          總計(jì) 92
          -rwxr-xr-x 1 root root???? 0 04-20 14:18 crondw.sh*
          drwxr-xr-x 3 root root? 4096 04-20 14:17 kernel/
          -rw-r--r-- 1 root root 68012 04-04 20:28 mkuml-2004.07.17-ananas.tar.bz2
          lrwxrwxrwx 1 root root???? 7 04-20 14:18 openQreadme.txt -> sun.txt
          -rw-r--r-- 1 root root??? 11 04-20 14:17 sun.txt
          -rw-r--r-- 1 root root?? 613 03-26 18:41 upgrade.log
          drwxr-xr-x 6 root root? 4096 04-20 14:17 youdir/


          1.3 通配符在ls命令中的應(yīng)用;

          * 代表0個(gè)或多個(gè)字符
          []內(nèi)部包括任何字符
          ? 任何單個(gè)字符

          舉例:

          比如我們顯示以k開頭的所有文件,在/root目錄中的;

          [root@localhost ~]# ls /root/k*
          kernel002.rpm? kernel00.rpm? kernel1.rpm? kernel-2.6.15-1.2025_FC5.i686.rpm? kernel.rpm

          我們顯示以數(shù)字開頭的所有文件;

          [root@localhost ~]# ls [0-9]*
          123.txt? 234.txt? 2kexe.txt? 6mns.doc

          下面是一個(gè)?通配符的示例:

          [root@localhost ~]# ls *.t?t
          123.txt? 234.txt? 2kexe.txt? 333.tot? plinux.txt


          1.4 獲得ls 的幫助;

          ls 的用法比較簡(jiǎn)單,至于更詳細(xì)的參考,還是查man和help。遇到不會(huì)的,就查手冊(cè),我也是這么做的。

          [root@localhost ~]# ls --help
          [root@localhost ~]# man ls
          [root@localhost ~]# info ls


          2、移動(dòng)文件或目錄的命令 mv ;

          mv 命令是用來移動(dòng)文件或目錄的;有以下幾種格式;

          #mv file1 file2? 注:把file1移動(dòng)到file2,如果file2不存在,則創(chuàng)建file2文件名;
          #mv file1 dir 注:把一個(gè)文件移動(dòng)到一個(gè)事實(shí)存在的目錄;
          #mv dir1 dir2?? 移動(dòng)目錄dir1 到 dir2 ,如果dir2不存在,則創(chuàng)建它;
          #mv file1 file2 file3 ... ...? dir?? 移動(dòng)file1、file2、file3等多個(gè)文件到dir目錄中;
          #mv dir1 dir2 ... ... dirn?? 注:移動(dòng)目錄dir1和dir2等多個(gè)目錄到dirn目錄中

          參數(shù)-i ,表示人機(jī)交互模式;提示警告信息;

          舉例:

          [root@localhost ~]# mv -i 123.txt? 234.txt
          mv:是否覆蓋“234.txt”? y 注:要在這里輸入y,表示允許覆蓋234.txt文件;如果是n,請(qǐng)示不允許;

          mv 也能和通配符結(jié)合一起使用,這樣能把相似特征的文件移動(dòng)到某處;

          * 代表0個(gè)或多個(gè)字符
          []內(nèi)部包括任何字符
          ? 任何單個(gè)字符


          舉例:比如移動(dòng)以數(shù)字開頭的文件或目錄到 root目錄下的tmp目錄中;

          [root@localhost ~]# pwd
          /root
          [root@localhost ~]# mv [0-9]* tmp/
          [root@localhost ~]# ls -lh tmp/
          總計(jì) 4.0K
          -rw-r--r-- 1 root root 21 04-19 15:06 234.txt
          -rw-r--r-- 1 root root? 0 04-19 22:23 2kexe.txt
          -rw-r--r-- 1 root root? 0 04-19 22:25 333.tot
          -rw-r--r-- 1 root root? 0 04-19 22:23 6mns.doc


          3、文件或目錄的復(fù)制工具cp ;


          3.1 cp 的語法和參數(shù)

          #cp? [參數(shù)選項(xiàng)]?? 源文件或目錄????? 目標(biāo)文件或目錄

          注:參數(shù)是可選的,常用參數(shù)比如 -r,-R,-p,-i ;

          參數(shù)說明(部份)

          -a 等同于-dpR參數(shù)一起使用;在復(fù)制過程中盡可能保留源文件或目錄的屬性;
          -b 給被覆蓋的文件做備份。比如我們把file1 復(fù)制到file2時(shí),如果file2存在,我們把file2覆蓋掉,用這個(gè)參數(shù)就能同時(shí)生成一個(gè)file2~的文件,注意文件名后有~結(jié)尾
          -d 不間接引用符號(hào)鏈接,保持源文件和目標(biāo)文件之間的硬鏈接關(guān)系;
          -f 刪除已存在的目標(biāo)文件;
          -i 覆蓋已存在的目標(biāo)文件之前給出警告提示,這是人機(jī)交互的選項(xiàng);
          -l 建立文件硬鏈接,而不是復(fù)制;
          -p 保存源文件或目錄的最后修改時(shí)間和模式,比如要保持目標(biāo)目錄或文件的屬主、組、權(quán)限和最后訪問(或修改)時(shí)間;
          -R 復(fù)制目錄時(shí),包括淅目錄下所有的子目錄和文件;
          -s 建立源文件的符號(hào)鏈接,而不是復(fù)制源文件。源文件名必須用絕對(duì)路徑;
          -r 復(fù)制目錄時(shí),包括淅目錄下所有的子目錄和文件;-r選項(xiàng)不同于-R之處在于 嘗試打開目的地文件前先刪除已存在的目的地文件
          -i 人機(jī)交互模式,顯法覆蓋已存在的文件或目錄的警告信息;
          -v 在復(fù)制之前,輸出每個(gè)文件的名字;
          --help 查看幫助 ;


          3.2 示例說明cp應(yīng)用;


          3.21 參數(shù)-i的示例;

          [root@localhost ~]# ls
          anaconda-ks.cfg? install.log.syslog? Kernel.rpm?????????????????????? mydir?????? Plist? upgrade.log???????? youdir
          fonts.scale????? kernel????????????? mkuml-2004.07.17-ananas.tar.bz2? plinux.txt? sun??? upgrade.log.syslog
          [root@localhost ~]# pwd
          /root

          [root@localhost ~]# cp? -i Kernel.rpm Plist
          cp:是否覆蓋“Plist”? y

          注:人機(jī)交互在數(shù)-i的運(yùn)用;如果源文件復(fù)制到目標(biāo)文件,如果目標(biāo)文件存在,則提示警告;


          3.22 參數(shù)-a的示例及說明;

          把源目錄復(fù)制到另外的一個(gè)目標(biāo),相當(dāng)于克隆了一個(gè)目錄,源目錄和目標(biāo)目錄在用戶組、權(quán)限及修改或訪問時(shí)間保持一致;

          [root@localhost ~]# cp -a mydir youdir

          注:復(fù)制目錄mydir 到y(tǒng)oudir ,如果yourdir目錄不存在,則創(chuàng)建。并且把mydir中所有的文件下級(jí)子目錄都復(fù)制到 yourdir目錄中。也就是說mydir目錄的文件和youdir是一樣的。-a 參數(shù)等同于-dpR,并且源目錄和目標(biāo)目錄的屬性(用戶組、權(quán)限、最后訪問及修改時(shí)間)都一致;


          3.23 參數(shù)-b的示例應(yīng)用;

          把源文件復(fù)制為目標(biāo)文件;并且嘗試-b參數(shù)的運(yùn)用;

          [root@localhost ~]# cp fonts.scale fonts.dir? 把一個(gè)文件復(fù)制為另一個(gè)文件;

          [root@localhost ~]# cp -bi fonts.scale fonts.dir

          cp:是否覆蓋“fonts.dir”? y? 注:因?yàn)橛昧?i 參數(shù),如果目標(biāo)文件存在,則報(bào)警提示;

          [root@localhost ~]# ls -lh fonts.*
          -rw-r--r-- 1 root root 2 04-20 10:24 fonts.dir
          -rw-r--r-- 1 root root 2 04-20 10:24 fonts.dir~? 注:-b參數(shù)運(yùn)用的效果就是生成已存在目標(biāo)文件的覆蓋之前備份。
          -rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale


          3.24 把多個(gè)文件復(fù)制到目錄目錄中示例;

          比如我們把位于用戶當(dāng)前目錄下的fonts.dir、Kernel.rpm和Plist文件,復(fù)制到當(dāng)前用戶所處的目錄下的sun目錄中;

          [root@localhost ~]# pwd? 注:判斷用戶所處的位置,也就是所處的目錄;
          /root

          [root@localhost ~]# mv fonts.dir Kernel.rpm? Plist? sun/
          [root@localhost ~]# ls sun/
          fonts.dir? Kernel.rpm? Plist

          注:如果您想把多個(gè)目錄或文件復(fù)制到目標(biāo)目錄時(shí),您得加參數(shù) -R


          3.25 復(fù)制目錄時(shí)-R參數(shù)的應(yīng)用;

          復(fù)制一個(gè)目錄到另一個(gè)目錄時(shí),我們要用到 -r或-R 或-a , 如果目標(biāo)目錄不存在,則創(chuàng)建它,如果目標(biāo)目錄存在,則復(fù)制源目錄到目標(biāo)目錄之下;看看-a和-R或-r有什么不同?嘗試看看;

          比如我們?cè)谟脩舢?dāng)前操作的目錄中,有mydir目錄,我們想把mydir復(fù)制為medir(在復(fù)制之前medir是不存在的)。

          [root@localhost ~]# cp -R mydir medir 注:如果medir目錄不存在,則創(chuàng)建medir目錄,并且medir目錄中的內(nèi)容和mydir中的一樣;

          如果您把-R參數(shù)換成-a參數(shù),會(huì)有什么不同?看看前面的例子所說的;


          4、 目錄創(chuàng)建工具mkdir和刪除空目錄工具rmdir;


          4.1 mkdir 是目錄創(chuàng)建工具;


          4.11 mkdir語法格式及參數(shù);

          語法格式

          #mkdir [參數(shù)選項(xiàng)]? 目錄

          參數(shù)常用的如下:

          -m 在創(chuàng)建目錄時(shí)要授其權(quán)限,要和chmod的授權(quán)格式;
          -p 如果中間目錄不存在,則創(chuàng)建它


          4.12 參數(shù) -p 的應(yīng)用示例

          我們要?jiǎng)?chuàng)建一個(gè)目錄linuxsir,并且linuxsir目錄下包含子目錄sirdoc,sirdoc目錄下還有 redhat目錄;

          [root@localhost ~]# mkdir -p? linuxsir/sirdoc/redhat

          舉例: -m 參數(shù)的應(yīng)用示例;

          我們以不同的權(quán)限來創(chuàng)建目錄,然后查看我們所創(chuàng)建目錄的屬性;這要涉及到chown 來改變目錄的權(quán)限的格式。我們會(huì)在以后講到chown改變目錄或文件的權(quán)限。在這里不同的是,在目錄創(chuàng)建之時(shí)就給其授權(quán)了;

          [root@localhost ~]# mkdir -m? 644 sundir
          [root@localhost ~]# mkdir -m 755 moondir
          [root@localhost ~]# mkdir -m 000 beinandir
          [root@localhost ~]# ls -ld sundir moondir beinandir
          d--------- 2 root root 4096 04-20 11:01 beinandir
          drwxr-xr-x 2 root root 4096 04-20 11:01 moondir
          drw-r--r-- 2 root root 4096 04-20 11:00 sundir


          4.2 刪除空目錄工具 rmdir 和rm ;

          rmdir 是用來刪除空目錄用的,如果目錄中有文件或子目錄,必須先刪除文件或子目錄,其語法格式如下:

          #rmdir [參數(shù)]? 目錄


          rmdir 參數(shù)常用的有:

          -p 刪除目錄時(shí)是一級(jí)一級(jí)的時(shí)行的,值得注意的是,首先從最里面的目錄開始。下面是一個(gè)例子;

          [root@localhost ~]# mkdir -p? linuxsir/sirdoc/redhat/?

          注:首先在當(dāng)前目錄下創(chuàng)建linuxsir目錄,他的子目錄是sirdoc,sirdoc內(nèi)又有一個(gè)子目錄redhat

          [root@localhost ~]# rmdir -p linuxsir/sirdoc/redhat/? 注:刪除linuxsir目錄,要用到參數(shù)-p
          [root@localhost ~]# ls linuxsir? 注:檢查一下是不是還有這個(gè)目錄?
          ls: linuxsir: 沒有那個(gè)文件或目錄

          rmdir 所刪除的目錄,每級(jí)目錄中都是空的,沒有其它的文件。如果任何一級(jí)的目錄有文件,也不能刪除。這時(shí)您要用到rm -rf 命令強(qiáng)制刪除。不過用rm -rf 刪除時(shí)有點(diǎn)不安全,還是用rf -ri 比較好一點(diǎn),因?yàn)樵趧h除的時(shí)候,會(huì)有警告提示。這對(duì)于安全操作來說是很重要的;

          [root@localhost ~]# ls -lh sun/? 注:這是sun目錄,里面有內(nèi)容;
          總計(jì) 28K
          -rw------- 1 root root 1.4K 04-19 15:04 anaconda-ks.cfg
          -rw-r--r-- 1 root root??? 2 04-20 10:24 fonts.dir
          -rw-r--r-- 1 root root??? 2 03-27 02:00 fonts.scale
          -rw-r--r-- 1 root root 5.3K 03-16 08:52 install.log.syslog
          -rw-r--r-- 1 root root??? 0 04-19 20:44 Kernel.rpm
          -rw-r--r-- 1 root root??? 0 04-20 10:20 Plist
          [root@localhost ~]# rmdir sun/? 注:我們嘗試用rmdir來刪除,
          rmdir: sun/: 目錄非空??

          [root@localhost ~]# rm -rf sun/? 注:強(qiáng)制用rm -rf 來刪除;

          [root@localhost ~]# ls sun??? 注:檢查是否刪除,刪除成功;
          ls: sun: 沒有那個(gè)文件或目錄


          5、創(chuàng)建一個(gè)空文件的工具:用 touch、echo、cat等工具;

          有時(shí)我們?yōu)榱朔奖悖赡茉诳刂婆_(tái)或終端下創(chuàng)建一個(gè)不存在的空文件,然后我們?cè)儆镁庉嬈鱽砭庉嬎粍?chuàng)建空文件有時(shí)還有點(diǎn)用。說說也無妨。我們?cè)谶@里用touch、ech0及cat 工具。其實(shí)這些工具,創(chuàng)建文件只是他們的一個(gè)小小的功能,我們以后再介紹這些工具,先說他們創(chuàng)建文件的功能。

          注意:創(chuàng)建這些文件,在我們操作創(chuàng)建文件之前,這些文件在用戶當(dāng)前操作目錄下是不存在的,我們?cè)谶@里只是創(chuàng)建一個(gè)新的文件名,并且它里面沒有任何空容的;

          [root@localhost ~]# ls 123456.txt 654321.txt 98765.txt
          ls: 123456.txt: 沒有那個(gè)文件或目錄
          ls: 654321.txt: 沒有那個(gè)文件或目錄
          ls: 98765.txt: 沒有那個(gè)文件或目錄

          [root@localhost ~]# echo > 123456.txt? 注:用ech0 來創(chuàng)建,在創(chuàng)建之前在此操作目錄下不存不123456.txt文件;
          [root@localhost ~]# ls 123456.txt???? 注:查看一下看有沒有生成?
          123456.txt

          [root@localhost ~]# touch 654321.txt? 注:用 touch 來創(chuàng)建,在創(chuàng)建之前在此操作目錄下不存在654321.txt文件;
          [root@localhost ~]# ls 654321.txt? 注:查看一下看有沒有生成?
          654321.txt

          [root@localhost ~]# cat > 98765.txt? 注:用ech0 來創(chuàng)建,在創(chuàng)建之前在此操作目錄下不存在98765.txt 文件;然后按ctrl+c組合鍵退出;

          [root@localhost ~]# ls 98765.txt?? 注:查看一下看有沒有生成?
          98765.txt


          6、刪除文件工具rm;

          rm 是用來刪除一個(gè)或多個(gè)文件的工具,并且能用于刪除非空目錄。我們前面提到了可以加參數(shù)-rf 就可以強(qiáng)制刪除一個(gè)非空目錄。

          rm的語法格式;

          #rm [參數(shù)選項(xiàng)] file1 file2 ... ...
          #rm? [參數(shù)選項(xiàng)]? dir1 dir2 dir3 ... ...

          rm 常用參數(shù):

          -f? 不顯示警告或提示信息就刪除,用的時(shí)候需要小心;
          -i? 刪除文件時(shí),顯示警告信息,要多用,這樣比較安全;根據(jù)提示,輸入y就表示刪除,輸入n,請(qǐng)示不刪除;
          -r或-R? 表示可以刪除整個(gè)目錄(包括子目錄及所有文件),要小心用;

          [root@localhost ~]# rm -i 123.sh? 注:這是刪除一個(gè)文件,用-i參數(shù)的示例,有警告提示;

          rm:是否刪除一般空文件“123.sh”? y

          比如我們想刪除mydir目錄及所有下級(jí)目錄和文件,要有提示的警告信息,可以用-r參數(shù)和-i參數(shù)的組合;如果您想終止rm命令,請(qǐng)按ctrl+c組合健退出rm;

          [root@localhost ~]# rm -ri mydir/

          rm:是否進(jìn)入目錄“mydir/”? y
          rm:是否進(jìn)入目錄“mydir//youdir”? y
          rm:是否刪除一般文件“mydir//youdir/enteruml.sh”?

          如果您想沒有任何警告信息的刪除mydir目錄下的所有文件及子目錄,可以用-r和-f參數(shù)的組合;

          [root@localhost ~]# rm -rf mydir


          7、修改文件名工具 mv

          mv 可以移動(dòng)一個(gè)文件(或目錄)到另一個(gè)文件(或目錄),如果文件(或目錄)不存在,則創(chuàng)建它。其實(shí)mv 這個(gè)過程也可以理解為改名過程,所以說mv工具能修改文件名和目錄名。

          #mv 原文件名或目錄名? 新文件或目錄名

          注意:新文件名或目錄名應(yīng)該不能與現(xiàn)有文件名(或目錄名)同名。

          舉例:

          [root@localhost ~]# ls
          crondw.sh? kernel? mkuml-2004.07.17-ananas.tar.bz2? mydir? openQreadme.txt? sun.txt? upgrade.log? youdir

          [root@localhost ~]# mv crondw.sh 123.sh? 注:移動(dòng)crondw.sh 到123.sh ,其實(shí)就是把文件名改為了123.sh

          [root@localhost ~]# ls
          123.sh? kernel? mkuml-2004.07.17-ananas.tar.bz2? mydir? openQreadme.txt? sun.txt? upgrade.log? youdir

          再看一例mv 修改目錄的。當(dāng)然mv是把文件(或目錄)從一個(gè)地方移到另一個(gè)地方。如果另一地方?jīng)]有和源文件(或目錄)同名的,就創(chuàng)建。這也相當(dāng)于改名;

          [root@localhost ~]# ls
          123.sh? kernel? mkuml-2004.07.17-ananas.tar.bz2? mydir? openQreadme.txt? sun.txt? upgrade.log? youdir

          [root@localhost ~]# mv kernel/ kernelBak

          [root@localhost ~]# ls
          123.sh? kernelBak? mkuml-2004.07.17-ananas.tar.bz2? mydir? openQreadme.txt? sun.txt? upgrade.log? youdir
          posted on 2008-07-04 10:53 crazy 閱讀(225) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 公安县| 阳西县| 通化县| 五常市| 山东省| 盘山县| 日喀则市| 开封县| 察雅县| 临汾市| 莆田市| 通榆县| 崇仁县| 大渡口区| 兰坪| 金秀| 右玉县| 甘肃省| 绥宁县| 龙岩市| 丰县| 侯马市| 延川县| 上杭县| 星座| 勐海县| 华坪县| 临武县| 石楼县| 永德县| 灵丘县| 景泰县| 东山县| 莱芜市| 青河县| 辽源市| 新龙县| 隆德县| 葫芦岛市| 宜阳县| 昌乐县|