linux必需掌握的基礎(二)

第6章 文件和目錄管理

6.1 Linux文件系統的組織方式稱作文件系統分層標準(Filesystem Hierarchy Standard,簡稱FHS),即採用層次式的樹狀目錄結構,此結構的最上層是根目錄“/”。Linux文件名最長允許256個字符,文件名沒有擴展名的概念,對大小寫敏感。

6.2 系統的默認安裝目錄
/
:Linux文件系統的最上層目錄,其他所有目錄均是該目錄的子目錄;
/bin:Binary的縮寫,存放用戶的可執行程序,如cp和mv等,也存放Shell,如bash和csh。不應把該目錄放到一個單獨的分區中,否則Linux Rescue模式無法使用這些命令;
/boot:操作系統啓動時所需的文件,包括vmlinuz和initrd.img,這些文件若是損壞常會導致系統無法正常啓動,因此最好不要做任意改動;
/dev:設備文件目錄,如/dev/sda表示第一塊SCSI設備,/dev/hda表示第一塊IDE設備;
/etc:有關係統設置與管理的文件,包括密碼、守護程序以及X-Window相關的配置。可以通過編輯器(如vi、gedit等)打開並編輯相關的配置文件;
/etc/X11:X-Window System的配置目錄;
/home:普通用戶的主目錄或FTP站點目錄,一般存放在/home目錄下;
/lib:存放共享函數庫(library);
/mnt:文件系統掛載點(Mount),例如光盤的掛載點可以是/mnt/cdrom,軟盤的掛載點可以是/mnt/floppy,Zip驅動器爲/mnt/zip;
/opt:該目錄通常提供給第三方較大型的應用程序使用,如Sun Staroffice、Corel WordPerfect,這可避免將文件分散至整個文件系統;
/proc:保存目前系統內核與程序執行的相關信息,與利用ps命令看到的內容相同。例如/proc/interrupts文件保存了當前分配的中斷請求端口號,/proc/cpuinfo保存了當前處理器信息;
/root:根用戶的主目錄;
/sbin:System Binary的縮寫。此目錄存放的是系統啓動時所需執行的系統程序;
/tmp:temporary的縮寫,用來存放臨時文件的目錄;
/usr:存放用戶使用的系統命令和應用程序;
/usr/bin:存放用戶可執行的程序,例如OpenOffice的可執行程序;
/usr/doc:存放各種文檔的目錄;
/usr/include:存放C語言用到的頭文件;
/usr/include/X11:存放X-Window程序使用的頭文件;
/usr/info:存放GNU文檔的目錄;
/usr/lib:函數庫;
/usr/lib/X11:存放X-Window的函數庫;
/usr/local:提供自動安裝的應用程序位置;
/usr/man:存放在線手冊的目錄;
/usr/sbin:存放用戶經常使用的程序;
/usr/src:保存程序的源文件的目錄,一般系統內核源碼存放在/usr/src/linux目錄下;
/usr/X11R6/bin:存放X-Window的可執行程序;
/var:Variable的縮寫,存放包括日誌、郵件等經常變化的文件。由於/var目錄的大小經常變動,爲了防止失去控制而侵佔其他目錄所需要的空間,建議將/var安裝到一個獨立的分區上。

6.3 設備文件

Linux下使用的設備如本地磁盤、網絡文件系統、CD-ROM、U盤等都被識別爲設備文件。當對設備文件進行I/O操作時,該操作會轉給相應的設 備驅動程序。一個設備文件用主設備號(指出設備類型)和從設備號(指出是該類型的第幾個設備)來表示,可以通過mknod命令進行創建。典型設備文件有:
/dev/hda:第一個IDE接口的Master硬盤;
/dev/hdb:第一個IDE接口的Slave硬盤;
/dev/hdc:第二個IDE接口的Master硬盤;
/dev/hdd:第二個IDE接口的Slave硬盤;
/dev/sda:第一個SCSI接口的Master硬盤;
/dev/sdb:第一個SCSI接口的Slave硬盤;
/dev/sdc:第二個SCSI接口的Master硬盤;
/dev/sdd:第二個SCSI接口的Slave硬盤;
/dev/cdrom:光驅;
/dev/fd0:第一個軟盤。

6.4 文件系統的類型

Linux兼容性很高,除了能夠掛載各種類型的設備,還可以掛載其他各種文件系統。文件/proc/filesystem列出了系統當前可用的文件系統類型,其中不僅包括Unix支持的各種文件系統類型,也包括Windows文件系統。Linux支持的文件系統類型包括:
adfs:acron磁盤文件系統,是在RiscOS操作系統中使用的標準文件系統;
befs:BeOS操作系統使用的文件系統;
cifs:通用Internet文件系統(Common Internet File System,簡寫爲CIFS),用於訪問符合SNIA CIFS標準的服務器。CIFS對SMB協議進行改進和標準化(SMB協議可用於在Linux和Windows之間共享文件),是一種虛擬文件系統;
ext:ext文件系統的第一個版本,現在已經很少使用;
ext2:專門爲Linux系統設計的文件系統,具有速度快和CPU佔用率低等選特點。既可以用於標準的塊設備,也可以應用到移動存儲介質上。ext2不包括日誌功能;
ext3:與ext2相比包含了日誌功能,維護了最近更改的源數據 (和文 件有關的信息,包括權限、所有者、創建時間、訪問時間等)的記錄,如果源數據由於非法關機等原因遭到破壞,文件系統將不能正常工作。通過ext3的日誌系 統,可以對源數據進行適當的恢復。此外,ext3的日誌功能可使硬盤讀寫頭的移動達到最佳化;
iso9660:從High Sierra(CD-ROM使用的最初標準)發展而來的文件系統,是CD-ROM的標準文件系統;
kafs:AFS客戶端文件系統,用於分佈式計算環境,可與Linux、Windows和Macintosh客戶端共享文件;
minix:最初用於Unix的minix版本,只支持長度爲30字符以下的文件名;
msdos:MS-DOS、Windows和OS/2使用該文件系統,不支持長文件名,主要用於掛載Micorsoft操作系統生成的軟盤;
vfat:Microsoft擴展FAT(VFAT)文件系統,支持長文件名,可被Windows9x/2000/xp使用;
umsdos:擴展的MS-DOS文件系統,不僅支持長文件名,還保持了對UID/GID、POSIX權限和特殊文件(如管道、設備)的兼容;
proc:基於內存的僞文件系統,不佔用外存空間,只是以文件的方式爲訪問Linux內核數據提供接口。由於proc文件系統是虛擬的,所以無需掛載。用戶和應用程序可以通過/proc得到系統的運行信息,並可以改變內核的某些參數;
reiser:reiserfs日誌文件系統;
swap:用於交換分區,是系統虛擬內存的一部分;
nfs:網絡文件系統(Network FileSystem,簡寫爲NFS)類型;
hpfs:用於只讀掛載OS/2 HPFS文件系統;
ncpfs:Novell Netware文件系統,可以通過網絡掛載;
affs:Amiga計算機使用的文件系統;
ufs:Sun Microsystems操作系統(即Solaris和SunOS);
xfs:一種在高性能環境中很有用的日誌文件系統,支持完整的64位尋址;
fs:JFS主要適合於企業系統,是爲大文件系統和高性能環境而設計的;
xiafs:與minux文件系統相比,這種文件系統支持長文件名和更大的i節點;
coherent:System V使用的文件系統類型;
smb:支持SMB協議的網絡文件系統,可用於實現Linux與Windows系統的文件共享。

6.5 文件系統的組成

ext3文件系統將磁盤分爲4個塊:
塊0爲引導塊,包含系統啓動程序的磁盤區塊;
塊1爲超級塊,主要用來記錄文件系統的配置方式,其中包括i節點數量、磁盤區塊數量、未使用的磁盤區塊以及i節點表、空閒塊表在磁盤中存放的位置。由於超級塊保存了非常重要的文件信息,所以系統保存了超級塊的冗餘。fsck等命令修復文件系統時,實際上就是對超級塊進行恢復操作。
塊2存放i節點(i-node,index-node)表,記錄文件大小、用戶UID、用戶組GID、文件存取模式(包括讀、寫或執行)、鏈接數目、文件最後修改時間、磁盤區塊地址、間接區塊等。
塊3爲數據存儲塊,存放文件內容。

文件有兩種不同的組織方式:
邏輯結構:面向用戶的,用戶可以看到的表示文件內容的字符流。
物理結構:文件在磁盤上的存儲方式,涉及具體的存放磁盤區塊。用戶看到的文件內容是連續的,但實際上文件可能並不是連續的方式存放在磁盤上的。事實上,大於1塊(block)的文件將被分散地存放在磁盤上。i節點表幫助實現這種物理結構到邏輯結構的轉換。

i結點是一個64字節長的表,表中包含了文件的相關信息和磁盤地址表。磁盤地址表中有13個塊號。前10個塊號是文件前10塊的存放地址,文件根據 塊號在磁盤地址表現中出現在的順序依次讀取相應的塊。當文件長度大於10個塊,將會用到後面的3塊所給出的間接地址塊。磁盤地址表中的第11塊給出了擴展 塊的位置,這個塊號指出的塊中含有256個塊號,加上前10塊文件長度爲266塊(272384字節)。如果文件大於266塊,再啓用磁盤地址表的第12 塊所定義的擴展塊。當文件大於266+256x256塊時,再啓用第13個擴展塊,這時文件所佔的塊數爲 266+256x256+256x256x256。

文件系統採用一對一映射的方法來實現文件名到i節點的轉換。目錄實際上是一個含有目錄表的文件,對於目錄中的每個文件,在目錄表中都會有一個入口 項,入口項中含有文件名和與文件相應的i節點號。df -i查看系統中節點的大小與數量。ls -i可以查看文件的i-node編號。

6.6 文件的類型

命令ls -l可以查看文件的詳細信息,其中在行首的字符串包含文件的類型與權限信息,如:-rw-r--r--,首字母表示的就是文件的類型。文件可以分爲:
普通文件:文件類型標識位爲-,如-rw-r--r--。包括源程序文件、腳本文件、可執行程序文件以及各種數據文件。
目錄文件:文件類型標識位爲d,如drwxrwxrwt。目錄實際上是特殊的文件,可以包含文件和子目錄。
套接字文件:文件類型標識位爲s,如srwx-------。Linux文件系統可以通過套接字文件實現網絡通信。
命名管道:文件類型標識位爲p,如prwx------。文件系統通過命名管道文件可以實現進程間的通信。
設備文件:設備文件分兩類:字符設備和塊設備。字符設備文件類型標識位爲c,包括打印機,鍵盤等。塊設備文件類型標識位爲b,包括磁盤磁帶等。
鏈接文件:文件類型標識位爲l,包括硬鏈接和軟鏈接。

6.7 文件和目錄的權限

文件和目錄的權限共分爲5類:

符號表示 八進制表示 含義
- 0 沒有權限
r 4 讀權限
w 2 寫權限
x 1 執行權限
s、S、t、T   特殊權限

命令ls -l可以查看到權限信息,如-rwxrw-r--表示該文件爲普通文件,文件所有者的權限爲rwx,即可讀可寫可執行;同組用戶的權限爲rw-,即可讀可寫;其他用戶權限爲r--,即只讀。

文件權限可以用八進制表示,如rwx權限可以表示爲4+2+1=7;rw-權限可以表示爲4+2+0=6;r--權限爲4+0+0=4。所以權限rwxrw-r--也可以表示爲764。

除讀、寫、執行權限外,文件系統還有類特殊權限,包括set-UID、set-GID和粘滯位(sticky)。set-UID對應值爲4,表示如 果該文件是可執行的,則運行該文件的用戶將在程序運行期間擁有與該文件的所有者相同的權限;set-GID對應值爲2,表示如果文件是可執行的,則運行該 文件的用戶會在運行期間擁有與該文件的用戶組相同的權限;粘滯位(sticky-bit)對應值爲1,表示該文件如果是可執行的,一旦被裝載進內存就一直 駐留在內存。

權限相關的命令有:

chmod:權限設置與修改。(可以用八進制模式,如chmod 764 ABC.exe,或者以字符模式,如chmod u+x ABC.exe表示給文件的文件所有者增加執行權限。其中u、g、o、a分別表示文件所有者、組用戶、其他用戶和全部用戶。+、-、=分別表示增加、減少 和指定權限。設置特殊權限只能用八進制模式,利用4位八進制數的第一位來設置,如chmod 4777表示特殊權限爲set-UID,即4,後三位表示所有者、組和其他用戶的權限。-R以遞歸方式更改所有的文件和子目錄。-c只在有更改時才顯示結 果。-v顯示全部信息。)

umask:設置文件或目錄的默認權限。(通常新建文件的默認權限爲0666,新建目錄的默認權限爲0777。掩碼可以改變權限,如umask 0022,則新建文件的權限爲0666-0022=0644,而新建目錄的權限爲0777-0022=0755。)

setfacl:設置訪問控制列表ACL。基於用戶和用戶組的權限機制有些不足,無法爲用戶組中的個別用戶設定 不同的權限。爲此,訪問控制列表ACL被引入到系統中,它支持ext3文件系統、NTFS文件系統以及SMB文件系統。在使用acl前,需確保設備以 ACL方式掛載:mount -o acl /dev/sda1 /mnt/mydisk。此後便可以用setfacl -m u:myuser:rw myfile的方式爲個別用戶指定權限。setfacl -x u:myuser myfile可以刪除權限。setfacl -d g:rw myfile設定默認的權限。)

6.8 創建Linux文件系統

mkfs:創建文件系統。(爲磁盤分區指定文件系統,如mkfs -t ext3 /dev/hda4。)

mkbootdisk:建立目前系統的啓動盤。(如mkbootdisk --device /dev/fd0 2.4.2.20-8在軟盤/dev/fd0上創建內核版本號爲2.4.20-8的啓動盤。)

6.9 修復受損的文件系統

fsck:檢測文件系統並嘗試修復錯誤。(在正被掛載的文件系統上使用fsck可能會造成文件系統的嚴重損壞。)

e2fsck:檢查ex2文件系統。

6.10 mount與umount命令

mount:掛載。(mount顯示已掛載的文件系統。 mount /dev/fd0 /mnt/floppy掛載軟盤。mount -t iso9660 /dev/cdrom /mnt/cdrom掛載光盤。mount -t vfat /dev/sdb /mnt/flash掛載U盤。

umount:卸載。(不能卸載根分區。)

eject:卸載並彈出光盤。

6.11 其它文件和目錄管理常用命令

常用的通配符有:
*:代表文件中任意長度的任意字符。比如ls n*w可以匹配文件new。
?:代表文件中的任一個字符。比如ls n?w可以匹配new。
[…]:匹配任意一箇中括號中的字符,中括號裏可以是一個用破折號分割的字母或數字範圍。比如ls n[1-9]w可以匹配n3w。
{…}:逐一匹配括號裏的字符串。比如ls n{ew,ow}2 可以匹配new2與now2。

attr:XFS文件系統對象的擴展屬性。(XFS文件系統是SGI開發的高級日誌文件系統。)

basename:顯示文件或目錄的基本名稱。如basename /home/tommy顯示tommy。該文件或目錄未必存在。

cd:改變目錄。

cp:複製文件。(例:cp srcfile destfile。-b如果目標文件已存在,則以備份形式保存,在文件名後加上“~”;-r複製所有子目錄與子文件;-f強制執行;--suffix=@指定目標文件名的後綴爲@。)

chattr:改變文件的屬性。(用法:chattr [-RVf] [-+=AacDdeijsSu] [-v version] files...。+添加屬性,-刪除屬性,=設置屬性。lsattr可以查看文件屬性。各屬性的意義:
A:不修改時間。
a:文件只能以追加模式寫入,根用戶擁有設置或清除該屬性的權限。
c:自動進行壓縮。
D:對目錄的修改會直接同步寫入磁盤,該屬性等同於dirsync命令。
d:使用dump命令時,不對具有該屬性的文件進行備份。
E:表明壓縮存在錯誤。
I:目錄被Hash樹索引。
i:文件不可被修改、刪除、重命名、建立鏈接或寫操作。
j:在向文件執行寫入操作時,先記錄日誌。
s:安全刪除文件,文件塊被清零並寫回磁盤。
S:當文件被修改時,將修改寫入磁盤,等同於sync命令。
T:具有該屬性的目錄將被移到目錄樹的最頂層。
t:文件在進行合併時,不會留有碎塊。
u:當文件被意外刪除時,可以恢復。
X:壓縮文件可以被直接訪問。
Z:壓縮文件損壞。)

cksum:文件的CRC校驗。

chown:改變所有者。(chown username file只改變文件的所有者,如果chown groupname:username file的方式,可以同時改變組和用戶,冒號或點號都可以作爲分隔符。如果是chown groupname: file的形式,則只改變用戶組。)

chgrp:更換用戶組。

dirname:顯示文件的除名字外的路徑。

fold:自動換行以適應指定列寬。(fold -w 5 file以每行至多5列的方式打印文件。)

find:查找目錄或文件。(-name string:找文件名包含字符串的文件;-user username:找屬於用戶的文件;-group groupname:找屬於用戶組的文件;-type x:找類型爲x的文件,其中b爲塊設備文件、c爲字符設備文件、d爲目錄文件、p爲命名管道文件、f爲普通文件、l爲符號鏈接文件、s爲socket文 件;-follow跟蹤符號鏈接文件到所指向的文件。)

file:顯示文件類型。(例:file *顯示當前目錄下所有文件的類型。)

filterdiff:從diff文件中提取或去除差異。

findfs:通過卷標或UUID查找文件系統。(例:findfs LABEL=/。)

locate:定位文件或目錄。(從數據庫/var/lib/slocate中查找文件,該數據庫一般一天更新一次,所以最新新增或刪除的文件可能會找不到。由於是從數據庫而非硬盤中查找,所以比find快上許多。)

ls或dir:列目錄。(-a顯示以.開頭的隱藏文件;-A顯 示包 括.和..的所有文件;-F顯示文件類型的指示符號,.表示隱藏文件、/表示一個目錄、*表示一個可執行文件、@表示符號鏈接文件、|表示管道文件、=表 示socket文件;-l使用長格式列出信息;-R列出所有子目錄;-x逐行列出項目;-1每行只列一個文件。ll爲ls -asF的別名。)

ln:鏈接文件或目錄。(-s符號鏈接。)

lndir:建立到目錄的符號鏈接。(例:lndir source dest把source文件夾下的所有文件生成在dest文件夾下相應的符號鏈接。)

lsattr:顯示文件屬性。(-a顯示所有目錄和文件;-R顯示子目錄的內容。)

mkfontdir:創建x字體文件目錄。(對指定的目錄搜尋所有的字體文件,並生成文件fonts.dir,供X服務器和字體服務器使用。)

msginit:初始化消息目錄。(關於本地化,即翻譯。創建PO文件。更多內容參考http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/。)

msggen:創建英語消息目錄。(輸入文件名是最近創建的英文PO文件或PO模板文件,通常由xgettext創建。未翻譯的記錄會被填上和msgid一樣的字符串,並標記爲模糊。)

msgcomm:匹配消息。(在兩個或多個指定PO文件中找出共同的信息。)

msgcat:合併消息。(連接和合並指定的PO文件。)

mkdir:創建目錄。(-m設定權限,類似於chmod;-p需要時創建上層目錄。)

mv:移動或更名現有的文件和目錄。

mattrib:修改或顯示MS-DOS文件的屬性。(模擬 MS- DOS的attrib命令,+/-打開或關閉屬性,屬性有a:歸檔位,被備份程序用來標識一個文件是不是新文件;r:只讀位,標識只讀文件;s:系統位: 標識操作系統文件;h:隱藏位,使文件在目錄中不可見。-/列出包含所有子目錄的文件屬性;-X簡明方式,列出屬性,不含任何空格。

mc:可視化文件管理程序。(可以用鼠標操作。)

mcopy:複製MS-DOS文件到UNIX或從UNIX複製MS-DOS文件。

md5sum:計算和檢測MD5信息摘要。(MD5是一種哈希值。例:md5sum file。)

mdel:MS-DOS文件刪除。

mdir:顯示MS-DOS目錄。

mktemp:建立暫存文件。(該文件可供Shell腳本安全地使用。)

mmove:移動MS-DOS文件。

mren:更改MS-DOS文件名稱。

mshowfat:顯示分配給文件的FAT簇信息。

mtools:顯示mtools支持的命令。

mtoolstest:測試並顯示mtools的相關設置。

paste:對文件進行縱向合併。(例:paste file1 file2分別把兩個文件中的各行合併輸出到標準輸出上。-s以串行方式輸出兩個文件。-d指定合併行的分隔符。)

rcp:遠端複製文件或目錄。(例:rcp [email protected] /home/src/patch /home/src。)

rm:刪除文件或目錄。(-r遞歸刪除;-f強制刪除;-i刪前確認;-d:刪除可能仍有數據的目錄。)

rmdir:刪除空目錄。(-p刪除路徑中所有的空目錄。)

slocate:安全查找文件或目錄。(從其自己建立的數據庫中查找。與locate一樣。)

split:切割文件。(cat合併文件,split切割文件。-l指定每個文件包含的行數,默認爲1000。-b指定每個文件的字節數;-C指定每個文件的大小,可用b、k、m作爲單位。)

stat:顯示inode內容。(-f顯示文件系統狀態而不是文件狀態。-L跟隨鏈接。-t以簡潔格式顯示信息。)

scp:遠程複製文件。(在網絡中不同主機之間複製文件。 例:scp -v [email protected]:/root/test [email protected]:/home/my/。-4強制使用IPv4協議;-6強制使用IPv6協議。-P指定端口號。)

sum:計算文件的校驗碼。

tmpwatch:刪除臨時文件。(例:tmpwatch 100 /tmp/刪除/tmp目錄下100小時內沒有使用的文件。-u基於文件的訪問時間刪除文件,默認值;-m基於文件的修改時間刪除文件;-c基於文件i節 點的修改時間刪除文件,默認值;-a刪除所有文件,不僅是常規文件和目錄;-d不刪除目錄;-f強制刪除;-t不刪除文件,僅測試;-s刪除文件之前使用 fuser命令檢測文件是否正在被使用。-v冗餘模式,具有2能冗餘,即連續兩個-v選項。)

touch:更新文件或目錄時間。(如果文件不存在,則創建。 -a 更改存取時間;-c不創建任何文件;-d使用指定時間而非當前時間;-F sec時間提前sec秒;-m只更新變動的時間;-r使用指定文件的時間屬性而非目前的時間;-t stamp使用[[CC]YY]MMDDhhmm[.ss]格式的時間而非目前的時間。)

tree:以樹狀圖顯示目錄內容。

which:查找文件。(查找範圍由環境變量$PATH設置,如which ls。)

lsof:查看正在被程序使用的文件。(lsof | grep 文件系統的掛載點可以找出某設備正在被哪個程序使用。)

blkid:查詢設備上採用的文件系統類型。(可以找出UUID和type,如blkid /dev/sda2。)

debugfs:恢復已刪除的文件。(首先需卸載要恢復文件的 分 區,再用命令debugfs /dev/sda1進入交互模式,交互模式中ls可查看文件,可以看到“<文件信息節點編號>”的文件,使用dump <編號> file把刪除的文件恢復到file裏。)

第7章 備份與壓縮

一般需要備份的目錄有/etc:系統配置文件存放的目錄;/home:用戶的目錄空間;/root:根用戶的主目錄;/var:日誌、郵件、打印機隊列等存放的目錄;/var/www:www服務器使用的目錄;/var/ftp:ftp服務器使用的目錄。

tar:壓縮與解壓。(tar -cvf mytar.tar file1 file2 file3創建壓縮文件;tar -xvf mytar.tar解壓;tar -tf mytar.tar查看包的內容;tar -rvf mytar file4向包裏添加新文件;-z生成gz包,-zcvf、-ztf、-zxvf分別進行壓縮、查看和解壓。-h不歸檔鏈接文件,直接歸檔指向的源文件。 -f僅對變化的文件進行更新。)

gzip:生成gz壓縮包。(有較高的壓縮率,但只能打包單個文件,無法把多個文件打包進同一個包裏。例:gzip file1 file2生成file1.gz和file2.gz。gzip -l查看壓縮包裏的內容。-S .suffix可以指定後綴名而非默認的.gz。)

gunzip:解壓gz包。

zcat:顯示壓縮文件的內容。

zip:生成zip壓縮包。(例:zip myzip.zip fil1 fil2 fil3. -r連同子目錄裏的文件一併進行壓縮,默認只將目錄名放入壓縮包. -j忽略子目錄.-k使用8.3命名格式對壓縮的文件進行命名.-n直接放入壓縮包, 而不進行壓縮,例:zip -n .JPG : .GIF files.zip *,文件類型之間用冒號分隔.-@允許從標準輸入設備讀入文件名,以ctrl+d結束.-x指定排除在壓縮包之外的文件. -t yymmdd把在指定時間之後創建的文件進行壓縮. -1..-9指定壓縮率,-1最低,-9最高,默認爲-6. -y在打包符號鏈接文件時保持其鏈接屬 性,默認爲打包其指向的源文件. -m 生成壓縮文件後,自動刪除源文件.)

unzip:解壓縮zip包. (-x排除不需解壓的文件. -Z以zipinfo格式顯示壓縮文件內的信息; -l以簡略格式列出壓縮文件的基本信息; -L將文件名全部改爲小寫,並添加"^"前綴,以防zip文件是從不區分大小寫的系統中創建的.)

zipinfo:顯示壓縮文件信息. (-1只顯示文件名. -2顯示文件名,標題,註釋,尾註等. -h顯示標題行, -T顯示時間設置, -v冗餘模式, -z顯示註釋, -x排除文件, -s以短格式顯示, -m以中等格式顯示, -l以長格式顯示.)

bzip2:使用Burrows-Wheeler塊分類文本壓縮算法壓縮文件,並用Huffman進行編碼.只對單個文件進行壓縮.

bunzip2:解壓縮bz2文件.

bzip2recover:恢復損壞的bzip2文件.

dump:製作備份. (-0~-9設置dump級別,0表示 備份 所有文件,1~9表示增量備份,不爲0的等級表示僅對上次同等級或更低級別的備份後修改過的文件進行備份.例dump -0uf /dev/tape /dev/hda1把第一個IDE硬盤的第一個文件系統完全備份到磁帶機上.)

restore:恢復備份. 

compress:使用Lempel-Ziv算法壓縮成.Z文件.

uncompress:解壓.Z文件.

ar:從歸檔文件中建立,修改或提取文件. (ar mylib a.o b.o生成靜態庫.-d刪除.-p顯示歸檔文件的內容.)

cpio:備份文件. (與tar相似,不僅支持分卷備份,還可以跳過磁帶的壞區. -o從標準輸入設備讀入文件名,-i用於恢復備份. 例ls *.txt | cpio -o > backup_txt備份,cpio -i < backup_txt恢復.)

dd:磁盤複製命令. (例:dd if=abc.doc of=abc.doc.bak.)

cp /dev/fd0 鏡像文件名:製作軟盤鏡像. (例cp /dev/fd0 /home/backup/myfloppy.img,生成的鏡像可直接掛載到文件系統上:mount -o loop myfloppy.img /mnt/floppy_img.)

cp /dev/cdrom 鏡像文件名:製作光盤鏡像. (例cp /dev/cdrom mycdrom.iso.)

cdrecord:將鏡像刻錄到光盤. (例:cdrecord -v speed=8 dev=0,0 mycdrom.iso)

mkisofs:把文件或目錄製作成光盤鏡像. (例:mkisofs -r -o mybackup.iso /home/backup, 鏡像文件同樣可以掛載:mount -o loop mybackup.iso /mnt/backup.)

lha:壓縮或解壓縮.lhz文件. (a 壓縮文件, x解壓縮.)

unarj:解壓.arj文件.

第8章 網絡管理與相關應用

網絡按地理覆蓋範圍可分爲:
局域網(LAN):覆蓋地區範圍較小,一般連接距離在幾公里以內,最 大距 離不超過10公里.IEEE的802標準委員會按介質訪問方式定義了多種局域網,主要包括:以太網(Ethernet), 令牌環網(Token Ring), 光纖分佈式接口網絡(FDDI), 異步傳輸模式網(ATM)以及無線局域網(WLAN).
城域網(MAN):連接距離可以在10~100公里.多采用ATM技 術做 爲骨幹網. ATM採用固定長度(53字節)的"信元交換"技術來替代傳統的"包交換"技術.ATM沒有共享介質或包傳遞帶來的延時,因此非常適合音頻和視頻數據的傳 輸,但ATM需要專門的軟硬件,部署成本相對比較高.
廣域網(WAN):也稱遠程網,可以跨越城市,地區,國家甚至洲際,地理距離從幾百公里到幾千公里.通常以連接不同地域的大型主機系統或局域網爲主要目的.比較典型的廣域網應用如中國移動的網絡運營系統.
互聯網(Internet):對稱"因特網",是世界上最大的計算機網絡.互聯網通過統一的TCP/IP協議將全球的計算機網絡連接起來.

拓撲結構可分爲:
星型拓撲結構:局域網中最普遍的一種結構,各個網絡節點通過點對點方式連接到中央節點上. 具有容易實現,易擴展,維護方便,傳輸數據快等優點,但同時也存在設備成本高,可靠性較低,資源共享能力差等不足.
總線拓撲結構:採用一根總線作爲傳輸介質,所有設備都直接與總線相 連. 總線上的信息多以基帶形式串行傳遞,傳遞方向總是從發送信息的節點開始向兩端擴散,因此採用總線拓撲的網絡雙稱爲廣播式計算機網絡. 所有的工作站和服務器都連接到總線上,無中心節點,各個節點的地位是平等的.由於各節點是共用總線帶寬的,所以在傳輸速度上會隨着接入網絡的節點的增多而 下降. 總線拓撲結構具有組網費用低,可靠性高,易擴展等優點,但由於共享總線,一次僅能允許一個節點發送數據,其他節點必須等待總線空閒後才能發送,因此存在數 據傳輸率較代,總線負擔過重等問題. 而且該類型的網絡一旦發生連接錯誤,維護和檢測都很不方便.
環型拓撲結構:一般僅適用於IEEE802.5的令牌網(Token ring network).在這種網絡結構中,所有節點首尾相接,連接成一個閉環,整個網絡發送的消息就是在這個環中傳遞.網絡中的節點若想發送信息,必須獲得" 令牌","令牌"會在環型連接中被依次傳遞. 傳送的數據要經過每個節點,如果有一個節點出現故障,將會造成整個網絡的癱瘓.同時,環型拓撲結構中對故障節點的定位較難,維護起來非常不便.環路上各節 點都是自舉控制,因而控制軟件簡單,但環路必須閉合才能正常工作,這使得該網絡不便於擴充.令牌網一般由同軸電纜或光纖組成.
混合型拓撲結構:從星型結構和總線型結構演變而來,即各交換機連接在 一根 總線上,而交換機下的子交換機或終端機形成星型結構. 既突破了星型網絡在傳輸距離上的侷限,又解決了總線型網絡在連接節點數量上的限制.但是,由於混合拓撲繼承了總線型網絡拓撲結構的特點,同樣存在較難維護 的問題.

網絡體系結構有兩個主要的參考模型:

OSI/RM參考模型: 開放系統互連參考模型. 是ISO在網絡通信方面所定義的連接異種計算機的開放協議標準. 整個OSI/RM模型共分爲7層,從下往上依次爲:物理層(二進制傳輸),數據鏈路層(接入介質),網絡層(尋路),傳輸層(端到端連接),會話層(進程 之間通信),表示層(定義表示數據的方法)和應用層(處理用戶的網絡應用). 第1~3層屬於通信子網的範疇,第5~7層屬於資源子網的功能範疇,第4層是中間層,連接上下3層. 當接收數據時,數據自下而上傳輸,當發送數據時,數據自上而下傳輸. 每一層在邏輯上能夠直接與遠程計算機系統的相應層直接通信. 爲構建這種層次間的邏輯連接,需要發送端在每一層都要在數據報文前增加報文頭. 該報文頭只能被遠程計算機的相應層識別和使用. 接收端接收到報文後會刪去報文頭,每一層都刪去該層負責的報文頭,最後將數據傳遞給相關的應用程序.

各層功能如下:
物理層: 位於整個OSI參考模型的最低層,主要任務是爲上一層的數據鏈路層提供一個物理連接,透明地傳送比特流. 物理層建立在物理介質上, 提供機械和電氣接口,包括電纜,物理端口以及附屬設備.
物理層提供的服務包括:物理連接,物理服務數據單元順序化(接收物理實體收到的比特順序,與發送物理實體所發送的比特順序相同)和數據電路標識.
數據鏈路層: 建立在物理傳輸能力的基礎上,用於在兩個相鄰節點間的鏈路上無差錯地傳送以幀(Frame)爲單位的數據. 數據鏈路層的主要任務就是進行數據封裝和數據鏈接的建立. 封裝的數據信息由4部分組成,其中地址段含有發送節點和接收節點的地址,控制段用來表示數據鏈接幀的類型,數據段包含實際要傳輸的數據,差錯控制段用來檢 測傳輸中出現的幀錯誤. 數據鏈路層可使用的協議有SLIP, PPP, X25和幀中繼等. 常見的集線器和低檔的交換機以及Modem之類的撥號設備都是工作在這個層次上的. 工作在這個層次上的交換機通常被稱爲"第二層交換機".
數據鏈路層的功能包括: 數據鏈路連接的建立與釋放, 構成數據鏈路單元, 數據鏈路連接的分裂, 定界與同步, 順序和流量控制, 差錯的檢測和恢復等.
網絡層: 屬於OSI中的第3層,解決的是網際的通信問題, 即選擇合適的路由和交換節點,透明地向目的節點交付發送節點所發送的分組. 網絡層主要功能是尋路,即選擇到達目標主機的最佳路徑,並沿該路徑傳送數據包. 除此以外, 網絡層還具有流量控制和擁塞控制的功能.較高檔的交換機也可直接工作在這個層次上,通常稱爲"第三層交換機".
網絡層的功能包括:建立和拆除網絡連接,路徑選擇和中繼,網絡連接多路複用,分段和組塊,服務選擇和傳輸以及流量控制.
傳輸層:在兩個節點之間建立通信信道,主要解決的是數據在網絡之間的 傳輸 質量問題. 傳輸層提供兩端點之間可靠,透明的數據傳輸,執行端到端的差錯控制,順序控制和流量控制,管理多路複用和解複用. 傳輸層是計算機通信體系結構中關鍵的一層,主要涉及的是網絡傳輸協議,如TCP協議.
傳輸層的功能包括:映像傳輸地址到網絡地址,多路複用與分割,傳輸連接的建立與釋放,分段與重新組裝,組塊與分塊.
會話層:提供面向通信的邏輯用戶接口. 會話可能是一個用戶通過網絡登錄到一個主機,或一個正在建立的用於傳輸文件的連接.
會話層的功能主要有:會話連接到傳輸連接的映射,數據傳送,會話連接的恢復和釋放,會話管理,令牌管理和活動管理.
表示層: 主要解決用戶信息的語法表示問題, 如用於文本文件的ASCII和EBCDIC表示形式. 如果通信雙方用不同的數據表示方法,彼此之間就不能互相理解.表示層就用於屏蔽這種不同之處.
表示層的主要功能有:數據語法轉換,語法表示,連接管理,數據加密和數據壓縮.
應用層
:OSI參考模型的最高層,直接面對用戶的具體應用.應用層包含用戶應用程序執行通信任務所需要的協議和功能,如電子郵件和文件傳輸等應用.

在7層網絡中,第1,2層處理網絡信道問題,第3,4層處理傳輸服務問題,第5,6,7層處理應用服務問題.

TCP/IP參考模型:與OSI參考模型不同,TCP/IP模型更側重於互聯設備間的數據傳送,而不是嚴格的功能層次劃分,因而爲協議的具體實現留下很大餘地. TCP/IP參考模型分爲4層:
網絡接口層(Network Interface Layer): 也稱TCP/IP鏈路層, 對應於OSI的物理層和數據鏈路層, 與Ethernet(以太網), Token ring(令牌環網)以及ATM(異步傳輸模式)等網絡接入技術密切相關.
網絡層(Internet Layer):對應於OSI的網絡層,與IP協議(即Internet Proctocol網際協議)密切相關.把來自傳輸層的報文分級封裝在IP數據報(Datagram)中,然後按路由選擇算法將數據報發送到相應的網絡接 口. 與此同時, 網絡層還要接受下層遞交過的數據報,校驗數據報的有效性,刪除報頭,使用路由選擇算法確定該數據報應該由本地處理,還是轉發出去.
網絡層另一個重要的協議是ICMP(Internet Control Message Protocol),即網際控制報文協議.該協議與ping命令聯合使用,可以查看當前計算機節點與本地網絡上其他節點的連通性.
傳輸層(Transport Layer): 對應OSI的傳輸層. 提供應用程序之間端到端的通信. 傳輸層將要發送的報文或數據流分成更小的段,即報文分組(Packet),然後把每個報文分組連同報文目的地址一併遞交給網絡層.與此同時, 傳輸層也接收來自下層的報文分組,重組成完整的報文或數據流.
傳輸層主要包括TCP(Transmission Control Protocol, 即傳輸控制協議)和UDP(User Datagram Protocol, 用戶數據報協議). TCP在IP之上提供了一個可靠的,連接式的協議,可以提供比其他協議更多的保護.TCP要求在提供相應服務之前必須先建立連接(三次握手機制),因此 TCP也被稱爲面向連接的協議(Connection-oriented).而UDP數據包傳輸基於盡力遞交,沒有差錯修正,重傳,重新排序等機制,無需 選建立連接,因此UDP也被稱爲無連接協議(Connectionless).
應用層: 對應OSI的會話層,表示層和應用層. 在應用層,用戶調用訪問網絡的應用程序,應用程序與傳輸層協議相配合,用以發送和接收用戶所需的數據.
應用層協議比較多,常見的有HTTP,FTP,POP3等. 每個應用層協議通常會使用一些指定的端口(端口類似於電視機中的頻道,將應用程序指定到正確的端口,就可以接收和發送與該端口相關的數據,TCP/IP有 65536個可用端口).一些特定用途的端口由Internet Assigned Numbers Authority(www.iana.org)分配,如HTTP使用80,FTP使用21,以及POP3使用110.
/ect/services文件中列出了操作系統所使用的TCP/IP應用層協議的完整列表.

網絡配置基本內容包括:

主機名:用於在網絡上標識一臺計算機,通常主機名在網絡上是惟一的;

IP地址:任何連接到Internet上的計算機都有一個惟一 的網 絡地址,國際網絡信息中心(NIC)會根據網絡的大小爲每一個申請者統一分配IP地址。IP地址有IPv4和IPv6兩個版本。IPv4使用點分十進制數 來描述地址,共32位長,由4個分段的十進制數組成。例如126.136.1.47。IPv6採用冒號十六進制來描述地址,共128位,由8個分段的十六 進制數組成,如FEDC:BA98:7654:3210:FEDC:BA98:7654:3210。當IPv4和IPv6節點混用時,採用另一種表示形 式,x:x:x:x:x:x:d.d.d.d,其中x是地址中6個高階16位段的十六進制值,d是地址中4個低階8位段的十進制值。
IPv4協議規定,互聯網上的IPv4地址共有A、B、C、D、E共5類。
A類地址是最大的地址組,用前面的8位來標識網絡號(規定最前面的一 們爲 “0”),其餘24位標識主機地址。A類地址的第一段取值(也即網絡號)可以是“00000001~01111111”之間的任一數字,轉換爲十進制後即 爲1~126之間的任一數字。其餘各段合在一起表示主機號。主機號沒有硬性規定,所以A類IP地址範圍爲 “1.0.0.0~128.255.255.255”,其中127.0.0.1專門用於迴環地址,127.0.0.0專門用於迴環網 絡,10.0.0.0~10.255.255.254是內部網絡地址。A類地址主要針對大型政府網絡,全世界總共只有126個可用的A類網絡,每個A類網 絡最多可連接多達16777214臺計算機。
B類IP地址用前面16位標識網絡號,其中最前面兩位規定爲 “10”,其 餘16位標識主機號,B類地址第1段取值爲“10000000~10111111”之間,即十進制的128~191。B類地址的取值範圍爲 “128.0.0.0~191.255.255.255”,其中172.16.0.0~172.31.255.254地址專門用於內部網絡。B類地址適用 於中等規模的網絡,全世界大約有16000個B類網絡,每個B類網絡最多可以連接65534臺計算機。
C類IP地址用前面24位來標識網絡號(其中最前面三位規定爲 “110”),其餘8位標識主機號。C類地址第1段取值範圍爲“11000000~11011111”之間,即十進制的192~223。C類地址範圍爲 “192.0.0.0~223.255.255.255”,其中192.168.0.0~192.168.255.255爲內部專用地址段。C類地址適用 於教室、機房等小型網絡,每個C類網絡最多可以有254臺計算機。
D類IP地址用於多重廣播組,一個多重廣播組可能包括1臺或多臺主 機,也 可能沒有主機。D類地址的最高位爲“1110”,第一段取值範圍爲224~239,其餘各位用於設定客戶機參加的特定組,取值範圍爲 “224.0.1.1~239.255.255.255”。在多重廣播操作中沒有網絡或主機位,數據包將被傳送到網絡中選定的主機子集中,只有註冊了多重 廣播地址的主機才能接收到數據包。
E類IP地址是實驗性地址,保留作爲以後使用。E類地址最高位爲“1111”,第1段取值範圍爲240~247。248~254暫無規定。

子網掩碼(subnet mask):主要用於標識子網是如何 劃分 的,即地址的哪一部分包含子網的網絡號,哪一部分是網絡中的主機號。掩碼與IP地址一樣,由32位組成,用點分十進制來描述。掩碼包含兩個域:網絡域和主 機域,通常將IP地址的網絡位號全改爲“1”,將主機號全改爲“0”。A類掩碼爲255.0.0.0.0,B類爲255.255.0.0,C類爲 255.255.255.0。

廣播地址(broadcast address):使用用戶能將消息一次性傳遞到自己所在網絡的全體成員中。廣播地址設定規則爲:主機部分被設置爲255,網絡部分保持不變,例如192.168.56.255。

網關地址(gateway):主機的IP地址設置正確後可以和同網段的其他主機進行通信,但還不能與不同網段的外網主機進行直接通信。爲了與外部網絡進行通信,需要正確設置網關地址。網關通常是提供外部網絡連接的路由器,一般至少有兩個網絡接口:一個連接局域網,另一個提供外網連接。

域名服務器地址(DNS):IP地址和網關地址只能保證用戶通過IP地址和其他主機進行通信,爲了能夠使用更爲簡易的主機域名進行通信,需要指定至少一個DNS服務器的IP地址。

DHCP服務器:爲用戶自動分配動態地址。當用戶退出網絡(關機或斷開網絡連接)時,所使用的IP地址會被釋放,可由DHCP服務器重新分配。

網絡管理常用命令

apachectl: apache HTTP服務器控制接口. (參數有configtest, graceful, fullstatus, restart, start, stop, help和status. apache的httpd命令同樣具有這些功能.)

arp: 控制系統ARP緩存. (地址解析協議 Address Resolution Protocol. arp命令可以實現從IP地址到以太網MAC地址之間的轉換. -a顯示所有記錄項, -e以默認格式顯示.)

arpwatch: 監聽ARP記錄. (跟蹤MAC地址和IP地址的對應情況,並通過Email的形式報告當前的變化. arpwatch使用pcap來偵聽本地網卡的arp數據包. 例: arpwatch -i eth0 監聽網卡eth0的ARP信息, arpwatch -i eth0 -f arp.log 把監聽到的信息記錄到arp.log文件中.)

arping: 向鄰居主機發送ARP請求. (例: arping 192.168.20.147連續不停地發送ARP數據包,直到用戶手動終止. -f得到第一個回覆時就退出. -c 5指定發送的包的數目爲5.  -q發送數據包, 但不輸出相關的調試信息.)

cu: 調用其他主機系統. (類似於終端播號程序,可以調用其它主機系統,進行主機間的通信,也可以實現沒有校驗的文件傳輸.)

gaim: 即時信息傳輸客戶端. (基於GTK的即時信息(IM)客戶端,主要針對AIM,但也支持流行的IM協議. ubuntu上找不到gaim.)

hostname: 顯示或設置當前系統的主機名.

host: dns查詢. (將指定的名字轉換爲IP地址. 如: host www.google.com.)

httpd: apache http服務器程序. (-t檢查配置文件的語法錯誤.)

ifup:啓動指定的非活動的網卡. (與ifconfig up相似. ifup lo啓動本地迴環網絡接口.)

ifdown:關閉指定的活動網卡. (與ifconifg down相似)

ifconifg: 顯示或配置網絡設備. (ifconfig顯示當前系統中活動的網卡信息. -a顯示所有網卡的信息,包括非活動的. ifconfig lo up和ifconfig lo down等同於ifup和ifdown. ifconfig eth0 192.168.20.122 broadcast 192.168.214.255 netmask 255.255.255.0設置eth0的ip地址, 廣播地址和掩碼. ifconfig eth0 add 3ffe:3240:8007:1005::2/64爲網卡eth0配置IPv6地址. ifconfig eth0 del 3ffe:3240:8007:1005::2/64爲網卡eth0刪除IPv6地址. 

iptables:IPv4的包過濾和nat的管理. (iptables是linux的第一道防火牆,提供IP包過濾機制. 默認的iptables的表名爲filter,規定了過濾包的規則. 另外還有兩個名爲mangle和nat的表, nat爲Network Address Translation,是一張轉換表,用於公共IP與私有IP的轉換, mangle主要內容是修改包的內容,如IP包的TTL值和DSCP值. DSCP: 差分服務代碼點(Differentiated Services Code Point). TTL: (Time To Live ) 生存時間, 指定數據包被路由器丟棄之前允許通過的網段數量。
iptables -t filter -L顯示過濾表. iptables -t mangle -L顯示高級表. iptables -t nat -L 顯示轉發包過濾表. iptables -P INPUT DROP設置默認規則爲DROP,即與INPUT鏈的規則不匹配的數據包將被丟棄. iptables -P OUTPUT DROP設置OUTPUT鏈表的默認規則爲DROP. iptables -P FORWARD DROP設置FORWARD鏈表的默認規則爲DROP.  
iptables -A INPUT -s 192.168.20.7 -j ACCEPT添加規則:接受源地址爲指定IP的數據包. iptables -A INPUT --dport 80 -j DROP添加規則:丟棄前往80端口的數據包. iptables -D INPUT 4刪除INPUT鏈中的第4條規則. iptables -I INPUT 2 -s 192.168.20.7 -j ACCEPT在2號規則的位置插入新的規則. iptables -R INPUT 3 -s 192.168.88.7 -j ACCEPT更換規則.)

iptables-save: 打印ip表. (-t filter指定表.)

iwconfig: 配置無線網絡設備.

mesg: 控制終端的寫入操作. (mesg y允許其他用戶發送信息到當前終端,例: write root pts/4. mesg n禁止發送.)

mingetty: 精簡版的agetty. (適用於虛擬終端上的登錄程序.)

minicom:串口通信程序。(基於文本的moderm控制與終端模擬程序。)

mkfifo:創建管道。(例:mkfifo -m 444 myfifo創建只讀管道。)

mtr:網絡診斷工具。(例:mtr 192.168.20.147診斷主機到目標機的網絡狀況。)

nc:TCP/UDP連接與偵聽。(可以創建TCP鏈接,發送 UDP數據包,偵聽TCP或UPD套接口,進行端口掃描,追蹤源路由等。nc -v -v -z -w2 192.168.20.122 1-40掃描目標機的1~40TCP端口,超時時間爲2秒。-u使用UDP而非TCP。nc www.baidu.com 80 -vv以TCP方式連接80端口。-n使用IP地址,不使用DNS查詢。)

netconfig:設置各項網絡功能。(ubuntu沒有此命令。)

netstat:顯示網絡狀態。(顯示網絡連接狀態、路由表信 息、 接口統計信息等。-r顯示路由表;-a顯示網絡詳細狀況,包括是否處於偵聽狀態和連接狀態。-u爲UDP類型。-t爲TCP類型。-n不解析主機名,直接 顯示IP地址。-p顯示每個socket所屬的進程號和程序名。-i顯示網卡列表。-g顯示組播關係。-s顯示網絡統計信息。-l查看所有處於偵聽狀態的 socket。)

nslookup:查詢DNS。(例:nslookup www.google.com或nslookup 74.125.71.99。不帶參數進入交互模式,exit退出,host查找主機信息,server指定DNS服務器,set改變查詢信息的狀態。)

route:顯示並設置路由。(不帶參數顯示路由信息。 route add -net 172.16.0.0 netmask 255.255.0.0添加路由信息。route add default gw 192.168.255.254 dev eth0添加默認網關。route del default gw 192.168.255.254 dev eth0刪除已存在的網關。)

ping:檢測主機(IPv4)。(ping使用ICMP協 議,可 以向指定的主機發送ICMP包,並等待回覆,以確定指定的主機是否存在。-c 5指定發送分組的數量。-s 6553指定分組的大小 ,最大分組不能超過65507字節。-i指定發送間隔的秒數。-t指定TTL值。)

ping6:檢測主機(IPv6)。(與ping類似,針對IPv6。)

pppd:點對點連接的守護進程。(PPP,Point- to- Point Protocol,點對點協議,提供了在串行點對點連接中傳輸數據包的方法。PPP由三部分組成:串行連接的數據包封閉方法、擴展的連接控制協議LCP, 以及用於建立和配置不同網絡層協議的網絡控制協議族NCP。數據包的封閉由內核驅動完成,pppd命令提供基本的LCP、認證支持和IPCP--用於創建 和配置Internet協議的NCP。)

pppstats:顯示PPP統計信息。

rdate:通過網絡獲取時間。(例:rdate 192.168.20.7。)

smbd:Samba服務端。(smbd是Samba服務器的 守護 進程,通過使用SMB或CIFS協議,可以給Windows用戶提供文件共享和打印服務。SMB--Server Message Block通信協議是微軟和英特爾在1987年制定的協議,主要是作爲Microsoft網絡的通信協議。簡單的說,該協議是在局域網中共享目錄和打印機 的一種協議。SMB不僅可以工作在TCP/IP之上,也可以用在其他網絡協議上,如IPX,NetBEUI等。SMB協議使用了NetBIOS的應用程序 接口--Application Program Interface,API。通過SMB協議,客戶端應用程序可以在各種不同的網絡環境下訪問服務器,並提出服務請求。SMB與LanManager協議 兼容,支持LanManager客戶端,包括MS-DOS下的MSCLIENT3.0,Windows工作組等。Samba的服務器程序實現了SMB協 議,通過運行smdb守護進程,可以把Linux系統配置成一臺Samba服務器,從而可能在安裝和使用了SMB協議的機器之間實現共享文件和打印機。 -D在後臺啓動服務。)

ssh:遠程登錄程序。(ssh 192.168.20.76 -l teacher以用戶teacher身份遠程登陸主機。)

statserial:顯示串口連接狀態。(顯示標準的9針或25針串口列表,顯示線路的連接狀態,這對於調試串口或調制解調器錯誤將非常有幫助。Ctrl+C終止。例:statserial /dev/ttyS1。)

slrn:新聞閱讀程序。(例:slrn -h news.usc.net -f /root/.jnewsrc。)

talk:與其他用戶交談。(可視化的通信程序。例:talk teacher tty4。)

tcpdump:顯示網絡中的TCP數據包。(例:tcpdump -c 5 -t -i eth0。-c連續顯示的TCP數據包的數目。-t不顯示時間。)

telnet:使用telnet進行遠程登錄。(Telnet 是位 於OSI模型的第7層---應用層上的一種協議,是一個通過創建虛擬終端提供連接到遠程主機終端仿真的TCP/IP協議。這一協議需要通過用戶名和口令進 行認證,是Internet遠程登陸服務的標準協議。應用Telnet協議能夠把本地用戶所使用的計算機變成遠程主機系統的一個終端。)

testparm:測試samba配置文件。

tracepath:追蹤路徑。(實現對主機連接到目的地址時所經過的路由的追蹤。與traceroute相似,只是不需要root權限。例:tracepath www.google.com。)

traceroute:顯示到達目標網絡主機的路由包。(追蹤網絡數據包,可以顯示到達目標網絡主機的路由包,通常用於檢測到達目的地的路由狀況。)

tty:顯示標準輸入設備名稱。(顯示當前的名稱。)

wall:發送信息。(向所有終端用戶發送廣播信息。ubuntu上使用echo hello | wall。)

wget:從互聯網上下載資源。(例:wget www.google.com可以從網上獲得index.html文件。)

ytalk:多用戶聊天程序。

FTP常用命令

FTP全稱爲文件傳輸協議,File Transfer Protocol,能夠實現文件共享、遠程文件訪問、對用戶透明的文件存儲技術以及高效可靠的數據傳輸。FTP採用客戶端/服務器模型,客戶端和服務器使 用TCP建立連接。和大多數應用層協議不同,FTP協議在兩臺主機之間建立了兩條通信鏈路,分別是控制連接和數據連接。控制連接主要負責傳送在會話過程中 用戶發送的FTP命令和FTP服務的響應,數據連接主要負責傳輸數據。

在服務器端,FTP服務器有兩個預分配的端口號,分別爲20和21。其中端口20用於發送和接收FTP數據(ASCII碼或二進制文件),該數據端 口只在傳輸數據時打開,並在傳輸結束時關閉。端口21用於發送和接收FTP的控制信息,FTP服務器通過這個端口來判斷是否有FTP客戶的連接請 求,FTP會話建立後,端口21的連接在會話期間將始終保持打開狀態。

在客戶端,當發出請求時將動態分配端口號,選擇範圍爲1024~65535。當一個FTP會話開始後,客戶端程序打開一個控制端口(如1038), 該端連接到服務器上的21端口,接收和發送控制命令;需要傳輸數據時,客戶端再打開第2個端口(如1039),連接到服務器上的20端口。每當開始傳輸文 件時,客戶端程序會打開一個新的數據端口,在文件傳輸完畢後,再自動釋放該端口。

ftp:進入交互模式。(?顯示常用命令。open IP連接FTP服務器。!執行本地命令。)

ncftp:進入FTP交互模式。(性能和便捷性方面具有優勢,有取代ftp命令的趨勢。)

ncftpget:下載文件。(不進入交互模式直接下載文件。例:ncftpget -u teacher -p 654321 192.168.20.122 / index.html用端口654321下載文件到本地根目錄。)

ncftpls:顯示文件目錄。(例:ncftpls -u teacher -p 654321 ftp://192.168.20.122。)

ncftput:上傳文件。(例:ncftpput -u teacher -p 654321 192.168.20.122 ./ *。)

tftp:文本模式的ftp命令。

UUCP常用命令

UUCP系統是一組程序,可以完成系統之間的文件傳輸、命令執行、使用情況統計、系統安全保護等功能。UUCP是各種UNIX版本包括LINUX都可用的標準網絡系統,而且UUCP部署簡便,是類UNIX系統中使用最廣泛的網絡實用系統。

uucico:UUCP文件傳輸守護進程。

uucp:在UNIX系統間傳送文件。(例:uucp -d -R /home/ teacher!~tmp。)

uupick:處理UCP文件。

uuto:文件傳送到遠端主機。

uulog:顯示uucp日誌信息。

uuname:顯示uucp遠端主機。

uustat:顯示UUCP狀態。

uux:通過UUCP在遠端主機上執行命令。

電子郵件

一個完整的Email系統一般由三個部分組成:
用戶郵件代理:Mail User Agent,簡稱MUA,是用戶與電子郵件系統的接口,負責用戶和郵件服務器之間的交互工作。大多數情況下,MUA就是運行在客戶端上的應用程序,其作用是將郵件發送到郵件服務器上和從郵件服務器上接收郵件。
郵件服務器:電子郵件系統的核心,其主要功能是發送和接收郵件,並向發件人告知郵件的傳送情況。根據其功能,郵件服務器分爲郵件傳輸服務器(SMTP服務器)和郵件接收服務器(POP3或IMAP4服務器)。
電子郵件協議:包含一系列標準規範,是TCP/IP協議體系中的一部分,主要內容包括郵件格式、郵件的傳輸、郵件的接收等。

電子郵件發送過程如下:用戶A通過MUA發送一封郵件,通過郵件傳輸代理(Mail Transport Agent,簡稱MTA,所有的SMTP服務器都可以被稱爲MTA),到達目的服務器--郵件投遞代理(Mail Delivery Agent,簡稱MDA),如果MDA確定該郵件是該服務器的用戶的郵件,則把郵件投遞到用戶的郵箱裏。當用戶B訪問該服務器時,就會發現有新的 Email。

fetchmail:收取郵件。(用於從POP、IMAP、 ETRN或ODMR-capable收取郵件,從遠端郵件服務器獲取郵件並將之發送到本地客戶端,然後可以使用通常的郵件用戶代理,如mutt、elm或 Mail處理收到的郵件。可以設置fetchmail以守護進程的方式運行,週期性地收取郵件。例:fetchmail -p POP3 -u mail.someweb.com。)

mail:收發郵件。(mail進入交互模式。mail someone@somewhere發送郵件。)

mailq:顯示發件箱的郵件。

mutt:Mutt用戶郵件代理。(基於文本的小巧且功能強大的郵件管理器,可以讀取郵件,支持彩色終端、MIME。)

pine:收發郵件。(交互式界面,可以同時給多個人發送郵件,支持MIME,可以訪問遠端或本地的郵箱。)

轉載地址:http://blog.csdn.net/yourtommy/article/details/7084482

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章