UNIX中的所有數(shù)據(jù)被組織成文件。所有文件被組織成目錄。這些目錄被組織成一個樹形結(jié)構(gòu),稱為文件系統(tǒng)。
當使用UNIX工作以這種或那種方式,大部分的時間花在工作的文件。本教程將教你如何創(chuàng)建和刪除文件,復制和重命名,創(chuàng)建鏈接到它們等。
在UNIX中,有三種基本類型的文件:
普通文件: 普通文件在系統(tǒng)上的文件包含數(shù)據(jù),文字,或程序指令。在本教程中,以操作普通的文件為例。
目錄: 目錄特別及普通文件存儲。對于用戶熟悉Windows或Mac OS,UNIX目錄相當于文件夾。
特殊文件: 一些特殊的文件提供訪問硬件,如硬盤,CD-ROM驅(qū)動器,調(diào)制解調(diào)器和以太網(wǎng)適配器。其他特殊文件是類似的別名或快捷鍵,使您能夠訪問一個單一的文件使用不同的名稱。
要列出存儲在當前目錄中的文件和目錄。使用下面的命令:
$ls
下面是上述命令的示例輸出:
$ls bin hosts lib res.03 ch07 hw1 pub test_results ch07.bak hw2 res.01 users docs hw3 res.02 work
ls命令支持,這將有助于獲得更多的信息有關(guān)所列出的文件使用-1選項:
$ls -l total 1962188 drwxrwxr-x 2 amrood amrood 4096 Dec 25 09:59 uml -rw-rw-r-- 1 amrood amrood 5341 Dec 25 08:38 uml.jpg drwxr-xr-x 2 amrood amrood 4096 Feb 15 2006 univ drwxr-xr-x 2 root root 4096 Dec 9 2007 urlspedia -rw-r--r-- 1 root root 276480 Dec 9 2007 urlspedia.tar drwxr-xr-x 8 root root 4096 Nov 25 2007 usr drwxr-xr-x 2 200 300 4096 Nov 25 2007 webthumb-1.01 -rwxr-xr-x 1 root root 3192 Nov 25 2007 webthumb.php -rw-rw-r-- 1 amrood amrood 20480 Nov 25 2007 webthumb.tar -rw-rw-r-- 1 amrood amrood 5654 Aug 9 2007 yourfile.mid -rw-rw-r-- 1 amrood amrood 166255 Aug 9 2007 yourfile.swf drwxr-xr-x 11 amrood amrood 4096 May 29 2007 zlib-1.2.3 $
這里是所有列出的列信息:
第一列:表示授予該文件的文件類型和權(quán)限。下面是描述所有類型的文件。
第二列:代表所采取的內(nèi)存塊的文件或目錄的數(shù)量。
第三欄:表示文件所有者。是誰創(chuàng)建了這個文件的Unix用戶。
第四列:代表組的所有者。每個Unix用戶將有關(guān)聯(lián)的組。
第五欄:表示文件大?。ㄒ宰止?jié)為單位)。
第六欄:表示當這個文件被創(chuàng)建或修改的最后一次的日期和時間。
第七欄:表示文件名或目錄名。
在 ls -l清單的例子,每一個文件的行開始d, -,或l。這些字符表示的文件類型列出。
Prefix | 描述 |
---|---|
- | Regular file, such as an ASCII text file, binary executable, or hard link. |
b | Block special file. Block input/output device file such as a physical hard drive. |
c | Character special file. Raw input/output device file such as a physical hard drive |
d | Directory file that contains a listing of other files and directories. |
l | Symbolic link file. Links on any regular file. |
p | Named pipe. A mechanism for interprocess communications |
s | Socket used for interprocess communication. |
在Unix元字符有特殊的含義。例如*和?是元字符。我們使用*匹配0個或多個字符,問號?匹配單個字符。
示例:
$ls ch*.doc
顯示所有文件,其名稱以ch開始和結(jié)束的。doc:
ch01-1.doc ch010.doc ch02.doc ch03-2.doc ch04-1.doc ch040.doc ch05.doc ch06-2.doc ch01-2.doc ch02-1.doc c
*元字符匹配任何字符。如果想顯示所有文件只是文件結(jié)束,那么可以使用下面的命令:
$ls *.doc
一個無形的文件是一個點或者句號(.)的第一個字符是。 UNIX程序(包括shell)使用這些文件來存儲配置信息。
隱藏文件的一些常見的例子包括以下文件:
.profile: 是Bourne shell(sh)的初始化腳本
.kshrc: Korn shell程序(KSH)初始化腳本
.cshrc: C shell(csh)的初始化腳本
.rhosts: 遠程shell配置文件
要列出隱形文件,指定給ls-a選項:
$ ls -a . .profile docs lib test_results .. .rhosts hosts pub users .emacs bin hw1 res.01 work .exrc ch07 hw2 res.02 .kshrc ch07.bak hw3 res.03 $
單一點 . :這表示當前目錄。
雙點 ..:這表示父目錄。
注:我已經(jīng)把星號(*),只是為了顯示位置,需要輸入當前密碼和新密碼,否則系統(tǒng),它不會告訴你,當鍵入任何字符。
可以使用vi編輯器來創(chuàng)建任何類Unix系統(tǒng)上的普通文件。只需給下面的命令:
$ vi filename
上面的命令,將打開一個給定文件名的文件。會需要按鍵來進入編輯模式。一旦在編輯模式下,就可以開始寫內(nèi)容在文件,如下:
This is unix file....I created it for the first time..... I'm going to save this content in this file.
一旦完成,請執(zhí)行以下步驟:
按Esc鍵出來的編輯模式。
按兩個鍵Shift+ ZZ一起完全退出來的文件。
現(xiàn)在,就可以把filemame創(chuàng)建的文件在當前目錄中。
$ vi filename
$
使用vi編輯器,可以編輯現(xiàn)有的文件。我們將覆蓋在一個單獨的教程中詳細。但總之,可以打開現(xiàn)有的文件如下:
$ vi filename
一旦文件被打開,在編輯模式下,可以使用 i 按鍵,然后,可以編輯文件。如果想在這里和那里的文件內(nèi),那么首先需要走出來的編輯模式下按ESC鍵,那么可以使用下面的鍵,將里面的一個文件:
l 鍵移動到右側(cè)。
h 鍵移動到左側(cè)。
k 鍵向上移動在文件中。
j 鍵向下移動一邊在文件中。
因此,使用上面的鍵就可以將光標定位在任何想要的編輯。然后在編輯模式下,可以使用i鍵。編輯該文件,一旦完成后,按ESC和最后兩個鍵Shift+ ZZ一起退出的文件。
可以使用cat命令來查看一個文件的??內(nèi)容。下面是一個簡單的例子,看看上面創(chuàng)建的文件的內(nèi)容:
$ cat filename This is unix file....I created it for the first time..... I上一篇:Unix 基本工具(打印,電子郵件)下一篇:Shell 內(nèi)置數(shù)學函數(shù)