史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > 作業系統操作技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2006-02-26, 10:01 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 linux - linux下播放ape的方法

linux下播放ape的方法

------------------------------------------------------------------------

這是一篇簡易讓你能在linux下播放.ape文件的方法
原文:
http://www.monkeysaudio.com/cgi-bin/...num=1076871797
本人對此略有增加並翻譯.

1 - 下載 ape包:
http://www.personal.uni-jena.de/~pfk...ndex2.html#ape

2 - 解壓並拷貝到/usr/bin目錄
chmod a+x /usr/bin/mac
3- 下載 cplay播放器(這是一個終端模式,非x11的播放器) : http://www.tf.hut.fi/~flu/cplay/

4- 先解壓解壓, 等下我們還需要修改它

5- 產生名字為ape123的shell指令碼
vi ape123
程式碼如下:
#!/bin/sh
mac "$1" - -d | bplay

再改變權限:chmod a+x ape123
並拷貝到/usr/bin下

6- 下載並安裝 bplay :
http://www.amberdata.demon.co.uk/bplay/

make
cp bplay /usr/bin
cp brec /usr/bin

7- 最後就是編輯cplay :
到你剛才cplay解壓的目錄

vi cplay
在文件的PLAYERS section中插入
(大概接近文件的最後幾行,有幾行是NoOffsetPlayer開頭,很好認)
程式碼:
NoOffsetPlayer("ape123 %s", "\.ape$"),

8- 拷貝 cplay 到 /usr/bin ,改變權限chmod a+x /usr/bin/cplay

9- 然後你在終端terminal下輸入
cplay path/*.ape
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
h0810119 (2007-07-02)
感謝您發表一篇好文章
舊 2006-07-02, 04:01 PM   #2 (permalink)
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Linux 文件和目錄管理之列出、刪除、複製、移動及改名

Linux 命令行模式下來操作文件管理還是比較重要的,雖然目前在Linux桌面上能完成大部份的文件管理工作,但就效率來說,還是命令行模式更為強大。最重要的是在文本操作界面和圖形界面通用。如果您是服務器管理人員,您能體會到命令行下的文件管理工具是何等重要。本文涉及了目錄和文件的顯示ls、複製cp、移動 mv、刪除rm、rmdir、目錄的創建mkdir以及用echo、touch等工具創建空文件... ... 內容

作者:北南南北
來自:LinuxSir.Org

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

ls 命令可以用於顯示目錄的內容,也可以顯示文件的內容,比如節點、文件種類、權限、擁有者、大小、創建時間等;在目前最新版本的Linux中dir和ls命令的用法是一樣的;有興趣的不仿嘗試一下;


1.1 ls 的基礎語法和參數;

語法格式:

#ls 〔參數] [目錄或文件名]

參數:

-a 顯示所有文件,包含隱藏文件;包括「.「和「..「
-A 顯示所有文件,包含隱藏文件,不包括「.「和「..「目錄;
-B 不列出文件名以~結尾的文件;
-C 按列列出文件;
-d 僅可以檢視目錄的內容參數及訊息;
-F 這個參數加上後,能給目錄新增上/,給可執行文件加上*,給符號鏈接加上@ 等等,來標記文件名,目的是讓用戶方便檢視;
-l 長格式輸出
-h 習慣人們可閱讀的方式來顯示文件或目錄的大小,比如K、M或G等;
-p 在目錄的後面附加/標記;
-r 逆序列出文件;
-t 按文件最後訪問(或修改)的時間排序,最新的排在最前面;
-U 按原始排序,
-L 遞歸顯示,也就是說,當我們列某個目錄的下的所有文件和目錄時,能把它的下級目錄的內容顯示出來。
--help 獲得幫助;

在這裡,位於[]之內的都是可選擇的。如果您只輸入ls ,就會列出用戶所處當前目錄的所有文件,用短格式輸出,但不會列出隱藏文件。

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

[root@localhost ~]# pwd
/root


1.2 ls 的參數示例應用;


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

#ls -la 〔目錄名]

如果不接目錄名,表示輸出當前用戶所處目錄內的所有文件,包括隱藏文件;

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

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

#ls -l 目錄

比如:
[root@localhost ~]# ls -l /root/
總計 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/

說明:如果以長格式輸入,總共顯示出八段內容:

第一段文件種類及權限,也就是類似這樣的-rw-r--r-- ,我們在前面講到,如果在這段中,第一字元表示文件的類型,如果出現-,表示普通文件。如果是d開頭的就是目錄。在這個例子中,123.txt是普通文件,而mkuml-2004.07.17就是一個目錄。關於文件的種類,請參考 :
rw-r--r--是權限位,我們在以後的教程中會講到。
第二段 硬鏈接個數(文件系增加一個硬鏈接,數位會增加1,預定從1開始,1表示無硬鏈接文件,如果是一個目錄,它的預定值應該是2。目錄是不能做硬鏈接的)
如果我們不以長格式輸出的話,可以把參數省略;
第三段 文件或目錄所佔用的字節數,如果您想用K來表示,請用ls -lh /root
第四段 最後訪問日期
第五段 最後訪問時間
第六段 文件名

[root@localhost ~]# ls /root


1.22 僅檢視目錄的內容的-d參數的運用示例;

[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節點,-i參數的運用;

檢視文件或目錄的節點,我們要用到i參數。如果節點相同,能確認他們是相同的文件,是通過通過ln 創建的硬鏈接文件;鏈接接有何用?如果您想把一個文件複製時保持原文件或目錄的節點、大小、權限以及訪問(或修改)時間都和原文件一致的文件。必須通過硬鏈接來實現,用cp命令是不可能實現的。

比如:

[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 是不是節點相同??他們的大小是不是一樣,他們的訪問日期是不是一樣?只是他們的文件名不一樣。文件名不一樣沒有關係,這能證明其中兩個文件是由另一個文件通過ln 創建而成。

您可以嘗試著用cp 把 kernel-2.6.15-1.2025_FC5.i686.rpm 複製為kernel002.rpm ,看看能不能保持節點相同?

[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 的節點和 kernel-2.6.15-1.2025_FC5.i686.rpm 不一樣了?


1.24 關於排序的參數的應用;

ls 顯示目錄的內容時,會將文件按a到z的字母順序顯示,優先級如下;

數位
a-z
A-Z

也就是說如果不加任何排序的參數,文件名第一個字母是數位的,將優先顯示;其次才是A-Z,然後才是a-z;下面是幾個排序的參數,大家練習一下就知道了;

在文件的大小排序上,我們要用到-S參數;
如果是逆序排序時,我們要用到-r參數;
按最後訪問的時候排序,要用到-t參數;
根據延伸名進行排序,要用到參數 -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
總計 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
總計 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
總計 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參數的應用;

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

比如

[root@localhost ~]# ls -lR /

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


1.26 關於ls 輸出內容在終端顯示顏色的參數 --color;

在一般的情況下,ls輸出內容是有顏色的,比如目錄是藍色,壓縮文件是紅字的顯示。如果沒有顏色,可以加上參數。當然也可以去掉顏色。

--color=never 表示輸出輸出沒有彩色
--color=auto 表示自動
--color=always 表示輸出內容有彩色

舉例:

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

如果您的終端或控制台輸出的內容沒有顏色,可以自己來定義。在當前用戶的家目錄下的.bashrc 中加入下面的一行;

alias ls="ls --color=always"


1.27 ls的-F參數的示例;

[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
總計 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命令中的應用;

* 代表0個或多個字元
[]內部包括任何字元
? 任何單個字元

舉例:

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

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

我們顯示以數位開頭的所有文件;

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

下面是一個?通配符的示例:

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


1.4 獲得ls 的幫助;

ls 的用法比較簡單,至於更詳細的參考,還是查man和help。遇到不會的,就查手冊,我也是這麼做的。

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


2、移動文件或目錄的命令 mv ;

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

#mv file1 file2 註:把file1移動到file2,如果file2不存在,則創建file2文件名;
#mv file1 dir 註:把一個文件移動到一個事實存在的目錄;
#mv dir1 dir2 移動目錄dir1 到 dir2 ,如果dir2不存在,則創建它;
#mv file1 file2 file3 ... ... dir 移動file1、file2、file3等多個文件到dir目錄中;
#mv dir1 dir2 ... ... dirn 註:移動目錄dir1和dir2等多個目錄到dirn目錄中

參數-i ,表示人機交互模式;提示警告訊息;

舉例:

[root@localhost ~]# mv -i 123.txt 234.txt
mv:是否覆蓋「234.txt」? y 註:要在這裡輸入y,表示允許覆蓋234.txt文件;如果是n,請示不允許;

mv 也能和通配符結合一起使用,這樣能把相似特徵的文件移動到某處;

* 代表0個或多個字元
[]內部包括任何字元
? 任何單個字元


舉例:比如移動以數位開頭的文件或目錄到 root目錄下的tmp目錄中;

[root@localhost ~]# pwd
/root
[root@localhost ~]# mv [0-9]* tmp/
[root@localhost ~]# ls -lh tmp/
總計 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、文件或目錄的複製工具cp ;


3.1 cp 的語法和參數

#cp 〔參數選項] 源文件或目錄 目標文件或目錄

註:參數是可選擇的,常用參數比如 -r,-R,-p,-i ;

參數說明(部份)

-a 等同於-dpR參數一起使用;在複製過程中盡可能保留源文件或目錄的內容;
-b 給被覆蓋的文件做備份。比如我們把file1 複製到file2時,如果file2存在,我們把file2覆蓋掉,用這個參數就能同時產生一個file2~的文件,注意文件名後有~結尾
-d 不間接引用符號鏈接,保持源文件和目標文件之間的硬鏈接關係;
-f 刪除已存在的目標文件;
-i 覆蓋已存在的目標文件之前給出警告提示,這是人機交互的選項;
-l 建立文件硬鏈接,而不是複製;
-p 儲存源文件或目錄的最後修改時間和模式,比如要保持目標目錄或文件的屬主、組、權限和最後訪問(或修改)時間;
-R 複製目錄時,包括淅目錄下所有的子目錄和文件;
-s 建立源文件的符號鏈接,而不是複製源文件。源文件名必須用絕對路徑;
-r 複製目錄時,包括淅目錄下所有的子目錄和文件;-r選項不同於-R之處在於 嘗試打開目的地文件前先刪除已存在的目的地文件
-i 人機交互模式,顯法覆蓋已存在的文件或目錄的警告訊息;
-v 在複製之前,輸出每個文件的名字;
--help 檢視幫助 ;


3.2 示例說明cp應用;


3.21 參數-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

註:人機交互在數-i的運用;如果源文件複製到目標文件,如果目標文件存在,則提示警告;


3.22 參數-a的示例及說明;

把源目錄複製到另外的一個目標,相當於複製克隆了一個目錄,源目錄和目標目錄在用戶組、權限及修改或訪問時間保持一致;

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

註:複製目錄mydir 到youdir ,如果yourdir目錄不存在,則創建。並且把mydir中所有的文件下級子目錄都複製到 yourdir目錄中。也就是說mydir目錄的文件和youdir是一樣的。-a 參數等同於-dpR,並且源目錄和目標目錄的內容(用戶組、權限、最後訪問及修改時間)都一致;


3.23 參數-b的示例應用;

把源文件複製為目標文件;並且嘗試-b參數的運用;

[root@localhost ~]# cp fonts.scale fonts.dir 把一個文件複製為另一個文件;
[root@localhost ~]# cp -bi fonts.scale fonts.dir
cp:是否覆蓋「fonts.dir」? y 註:因為用了-i 參數,如果目標文件存在,則報警提示;
[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參數運用的效果就是產生已存在目標文件的覆蓋之前備份。
-rw-r--r-- 1 root root 2 03-27 02:00 fonts.scale


3.24 把多個文件複製到目錄目錄中示例;

比如我們把位於用戶當前目錄下的fonts.dir、Kernel.rpm和Plist文件,複製到當前用戶所處的目錄下的sun目錄中;

[root@localhost ~]# pwd 註:判斷用戶所處的位置,也就是所處的目錄;
/root
[root@localhost ~]# mv fonts.dir Kernel.rpm Plist sun/
[root@localhost ~]# ls sun/
fonts.dir Kernel.rpm Plist

註:如果您想把多個目錄或文件複製到目標目錄時,您得加參數 -R


3.25 複製目錄時-R參數的應用;

複製一個目錄到另一個目錄時,我們要用到 -r或-R 或-a , 如果目標目錄不存在,則創建它,如果目標目錄存在,則複製源目錄到目標目錄之下;看看-a和-R或-r有什麼不同?嘗試看看;

比如我們在用戶當前操作的目錄中,有mydir目錄,我們想把mydir複製為medir(在複製之前medir是不存在的)。

[root@localhost ~]# cp -R mydir medir 註:如果medir目錄不存在,則創建medir目錄,並且medir目錄中的內容和mydir中的一樣;

如果您把-R參數換成-a參數,會有什麼不同?看看前面的例子所說的;


4、 目錄創建工具mkdir和刪除空目錄工具rmdir;


4.1 mkdir 是目錄創建工具;


4.11 mkdir語法格式及參數;

語法格式

#mkdir [參數選項] 目錄

參數常用的如下:

-m 在創建目錄時要授其權限,要和chmod的授權格式;
-p 如果中間目錄不存在,則創建它


4.12 參數 -p 的應用示例

我們要創建一個目錄linuxsir,並且linuxsir目錄下包含子目錄sirdoc,sirdoc目錄下還有 redhat目錄;

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

舉例: -m 參數的應用示例;

我們以不同的權限來創建目錄,然後檢視我們所創建目錄的內容;這要涉及到chown 來改變目錄的權限的格式。我們會在以後講到chown改變目錄或文件的權限。在這裡不同的是,在目錄創建之時就給其授權了;

[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 〔參數] 目錄


rmdir 參數常用的有:

-p 刪除目錄時是一級一級的時行的,值得注意的是,首先從最裡面的目錄開始。下面是一個例子;

[root@localhost ~]# mkdir -p linuxsir/sirdoc/redhat/
註:首先在當前目錄下創建linuxsir目錄,他的子目錄是sirdoc,sirdoc內又有一個子目錄redhat
[root@localhost ~]# rmdir -p linuxsir/sirdoc/redhat/ 註:刪除linuxsir目錄,要用到參數-p
[root@localhost ~]# ls linuxsir 註:檢查一下是不是還有這個目錄?
ls: linuxsir: 沒有那個文件或目錄

rmdir 所刪除的目錄,每級目錄中都是空的,沒有其它的文件。如果任何一級的目錄有文件,也不能刪除。這時您要用到rm -rf 命令強制刪除。不過用rm -rf 刪除時有點不安全,還是用rf -ri 比較好一點,因為在刪除的時候,會有警告提示。這對於安全操作來說是很重要的;

[root@localhost ~]# ls -lh sun/ 註:這是sun目錄,裡面有內容;
總計 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/ 註:強制用rm -rf 來刪除;
[root@localhost ~]# ls sun 註:檢查是否刪除,刪除成功;
ls: sun: 沒有那個文件或目錄


5、創建一個空文件的工具:用 touch、echo、cat等工具;

有時我們為了方便,可能在控制台或終端下創建一個不存在的空文件,然後我們再用編輯器來編輯它;創建空文件有時還有點用。說說也無妨。我們在這裡用 touch、ech0及cat 工具。其實這些工具,創建文件只是他們的一個小小的功能,我們以後再介紹這些工具,先說他們創建文件的功能。

注意:創建這些文件,在我們操作創建文件之前,這些文件在用戶當前操作目錄下是不存在的,我們在這裡只是創建一個新的文件名,並且它裡面沒有任何空容的;

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

[root@localhost ~]# echo > 123456.txt 註:用ech0 來創建,在創建之前在此操作目錄下不存不123456.txt文件;
[root@localhost ~]# ls 123456.txt 註:檢視一下看有沒有產生?
123456.txt

[root@localhost ~]# touch 654321.txt 註:用 touch 來創建,在創建之前在此操作目錄下不存在654321.txt文件;
[root@localhost ~]# ls 654321.txt 註:檢視一下看有沒有產生?
654321.txt

[root@localhost ~]# cat > 98765.txt 註:用ech0 來創建,在創建之前在此操作目錄下不存在98765.txt 文件;然後按ctrl+c組合鍵退出;
[root@localhost ~]# ls 98765.txt 註:檢視一下看有沒有產生?
98765.txt


6、刪除文件工具rm;

rm 是用來刪除一個或多個文件的工具,並且能用於刪除非空目錄。我們前面提到了可以加參數-rf 就可以強制刪除一個非空目錄。

rm的語法格式;

#rm 〔參數選項〕 file1 file2 ... ...
#rm 〔參數選項] dir1 dir2 dir3 ... ...

rm 常用參數:

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

[root@localhost ~]# rm -i 123.sh 註:這是刪除一個文件,用-i參數的示例,有警告提示;
rm:是否刪除一般空文件「123.sh」? y

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

[root@localhost ~]# rm -ri mydir/
rm:是否進入目錄「mydir/」? y
rm:是否進入目錄「mydir//youdir」? y
rm:是否刪除一般文件「mydir//youdir/enteruml.sh」?

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

[root@localhost ~]# rm -rf mydir


7、修改文件名工具 mv

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

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

注意:新文件名或目錄名應該不能與現有文件名(或目錄名)同名。

舉例:

[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 註:移動crondw.sh 到123.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 修改目錄的。當然mv是把文件(或目錄)從一個地方移到另一個地方。如果另一地方沒有和源文件(或目錄)同名的,就創建。這也相當於改名;

[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


8、關於本文;

本文是為新手上路而寫的,也是基礎文檔之一,如果您認為有用,那就送給您了。呵~~~~~~請各路大俠多多指正吧,謝謝~
今天值得高興的事是我終於能從文件系統寫到文件方面的內容了,也學到了不少東西,想來想去有點不容易~~~接著加油;


9、後記;

本文是文件管理一部份,包括了文件(或目錄)的檢視工具ls、複製cp、移動mv;目錄的創建mkdir,目錄的刪除rm或rmdir;還有創建空文件的幾個工具;mv的改名用途;文件的刪除rm;

說是文件和目錄的管理,沒有寫路徑方面的知識,好像是少點東西。本來是想先寫路徑和目錄方面的內容了。後來一想一篇容不下,先把看上去很亂的東西寫一寫。然後再寫路徑的內容。



來自:系統之家Linux站
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
向 psac 送花的會員:
h0810119 (2007-07-02)
感謝您發表一篇好文章
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 10:08 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1