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

你可能感兴趣的:(linux,linux命令,扩展名,常用命令,网络命令)