a381d92a273f67ab7b1b180cd4fc0ccb.ppt
- Количество слайдов: 168
Linux 用户基础
用户基础--Linux培训目标 § 熟悉Linux系统的运行环境 § 掌握Linux中常用命令的使用 § 掌握Linux系统管理的相关内容 • 文件系统管理、用户管理、进程管理、 软件安装管理、TCP/IP网络配置管理 § 掌握Shell及使用 § 配置网络和网络服务 § 使用vi编辑器 § Linux程序设计简介
参考资料 (1) 参考书:《Redhat 9从入门到精通》 电子版下载地址:ftp: //202. 116. 77. 31/pub (2) LPI Certificate Exam Guide 电子书下载: ftp: //202. 116. 77. 31/pub/Linux. Exam
Linux系统概述 • UNIX与Linux简介 • Linux的组成及功能 • Linux的内核版本与发行套件 • Linux的现状与未来 • 与Linux相关的基本概念
什么是Linux? § Linux是一个功能强大的操作系统 § 同时它是一个自由软件,是免费的、 源代码开放的 § 编制它的目的是建立不受任何商品化 软件权制约的、全世界都能自由使用 的Unix兼容产品。
UNIX历史简介 § 20世纪 70年代,贝尔实验室开发出UNIX § 目前分为AT&T System V和Berkley BSD两个系列 § 目前常见的UNIX版本有: • Sun Solaris • SCO UNIX • HP-OS • AIX 注:Linux同时兼容System V和BSD两种Unix系统
Unix OS的简单历史
POSIX 简介 § POSIX – Portable Operating System Interface § 各家厂商发展自己的Unix -> 各Unix系统不兼容! § 1988年,NTST/CSL的组织召开各Unix厂商,组织和 用户共同制定了POSIX,可移植操作系统标准界面 (IEEE 1003. 1) § 结果:只要遵循POSIX, 某一个Unix环境下的软件, 只需做少许的修改,就能在其他的Unix环境下编译 成功。
Linux历史简介 § 芬兰赫尔辛基大学研究生Linus Torvalds在从 1990年底到 1991年的几个月中,利用Minix操作系 统作为开发平台,为他自己的操作系统课程和后 来的上网用途而陆续编写了若干程序。 § 1991. 10. 5 在Internet的comp. os. minix讨论区发 表了一篇文章,表明他正在研制一个要超越Minix 的操作系统,从而宣告了Linux的诞生。 § § 1993年,Linux 1. 0问世(由全球黑客合作完成) § 1999年,Linux Kernel 2. 2. x问世 § 2001年,Linux Kernel 2. 4. x问世
开放源代码(Open Source) § 宗旨 § 允许任何人自由传播复制及修改软件的程序代码, 而不在于不收费 § 起源 § 1983. 9,Richard M. Stallman (RMS) ,FSF(Free Software Foundation)的创始人,目前为GNU Project的项目主持人 § 产品种类 § - Kernel - Editor - Shell - C compiler, linker, assembler § § §
GNU&GPL 简介 § GNU – Gnu’s Not Unix • 是自由软件基金会FSF(Free Software Foundation)中头一个名为GNU的团体,目前近 400人。 § GPL – General Public License • 软件的源程序可以自由流通,软件公司不应该把 源程序拒为己有,或借发行编译过的软件赢利, 软件公司要赚取的应该是系统集成和服务的费用 • 所有的程序员可以交换心得,保证软件质量
GNU与Linux § Linus本人认为:“使Linux成为GPL的一员 是我一生中所作过的最漂亮的一件事”。 § GNU的开发过程: • 先开发gcc等强大 具,最后再开发GNU Kernel ( Hurd ) 最优秀的操作系统 Gnu’s Not Unix § Linux的出现 Linux Kernel + GNU Software Debian/Linux Hurd出现前 填补 的真空状态
Linux的特点 § § § § 开放性的系统 多用户多任务的系统 具有出色的稳定性和速度性能 具有可靠的系统安全性 提供了丰富的网络功能 标准兼容性和可移植性 提供了良好的用户界面
为什么使用Linux § Linux是一套具有Unix全部功能的免费操作系统 § Linux不仅为用户提供了强大的操作系统功能,而 且还提供了丰富的应用软件 § Linux为广大用户提供了一个在家里学习和使用 Unix操作系统的机会 § Linux能与现有存在的操作系统共存 § 随着各国政府不断加大对Linux的支持力度, 以及各 大公司的加盟,Linux将最终成为一个多平台的、 市场占有率较高的、优秀的网络操作系统。
Linux系统的组成 § § Linux内核 Linux Shell Linux文件系统 Linux实用 具 l 内核、Shell和文件系统一起形 内核 成了基本的操作系统结构
Kernel(内核)和版本 § Kernel实现操作系统的基本功能 • 硬件方面:控制硬件设备,内存管理,硬件接口,基本 I/O • 软件方面:管理文件系统,为程序分配内存和CPU时间等 § 版本号有三个数字组成:r. x. y • r:目前发布的Kernel版本 • x:偶数:稳定版本,奇数:开发中版本 • y:错误修补的次数 v 范例:kernel 2. 0. 38;kernel 2. 6. 13 -17
Linux 发行套件 • Linux 发行套件(Distribution) :以Linux Kernel为核心,搭配各种应用程序和 具。 • 目前有200余种Linux Distribution • 常见的Linux Distribution 西文版/国际版 Red. Hat Linux Mandrake Linux Debian GNU/Linux Slackware Linux Su. SE Linux Turbo Linux 中文版 Xteam Linux 红旗Linux Turbo Linux 中文版 Blue. Point Linux
Linux Shell § Shell是系统的用户界面,提供了用户与内核进行交 互操作的一种接口(命令解释器) § 它接收用户输入的命令并把它送入内核去执行 § 目前主要有下列版本的Shell有: • Bourne Shell:是贝尔实验室开发的。 • BASH:是GNU的Bourne Again Shell,是GNU操作系统 上默认的shell。 • Korn Shell:是对Bourne SHell的发展,在大部分内容上 与Bourne Shell兼容。 • C Shell:是SUN公司Shell的BSD版本,常用于嵌入式。
Linux 文件系统 § 文件系统是文件存放在磁盘等存储设备上 的组织方法。 § 主要体现在对文件和目录的组织上。 § Linux采用统一的树型结构的文件系统 § 在Linux文件系统下可以。 • 切换目录、访问文件 • 设置目录和文件的权限 • 设置文件的共享 § Linux支持多种类型的文件系统。
Linux的应用 l Linux的应用领域 • Linux服务器 (中低端的应用服务器) • 嵌入式Linux系统 (信息家电、智能仪表) • 桌面市场(办公软件、电子政务) l 典型应用 • Titanic:特效 -> 350台SGI及160台DEC Alpha 作站, 运行Red Hat 4. 1 • Linux超级电脑:Los Alamos National Laboratory利 用 70台DEC Alpha 533 Mhz,128 M内存, 3 G硬盘的 计算机,运行Red Hat 5. 0,造价 15万美元,运算速度 类似SGI Origin 2000(造价 180万美元)
学习Linux之前应该掌握的概念 § § § 磁盘及分区 理解Linux文件系统标准 掌握Linux下设备的使用方法 理解LILO和GRUB的用途 普通用户与超级用户 比较字符 作方式和图形 作方式
硬盘结构与磁盘分区
Linux常用分区类型 § Linux native主分区:用于存放文件系统 § Linux native类型:Ext 2、Ext 3 § Swap:暂时存储数据的交换分区 ,弥补内 存不足,一般来说是物理内存的1~2倍。
硬盘/光驱对照表 配置名称 说 明 /dev/hda /dev/hdb IDE 1的Master/Slave硬盘/光盘 /dev/hdc /dev/hdd IDE 2的Master/Slave硬盘/光盘 /dev/sda /dev/sdb 第一,第二个SCSI硬盘 /dev/scd 0 /dev/scd 1 第一,第二个SCSI光驱
Linux文件系统标准结构 / /bin /usr /sbin /etc bin local src rc. d rc 3. d rc 5. d /tmp /lib named init. d /var /home httpd ftp bin etc /opt pub /boot
Linux各分区功能 § /boot系统启动过程中所要用到的文件 § 注意:如果想用lilo启动red hat linux系统的话,含有/boot 的分区必须完全在柱面 1023以下。又由于8 gb后的数据lilo 不能读取,所以red hat linux要安装在 8 gb的区域以内。 § /usr分区,系统存放软件的地方 § /home分区,是用户的home目录所在地, § /var/log分区,是系统日志记录分区
Linux各分区功能 § /dev分区,存放设备文件。 § /opt分区,存放可选的安装的软件。 § /sbin分区,存放标准系统管理文件。 § /tmp分区,用来存放临时文件 § /bin分区,存放标准系统实用程序。 § /etc目录,存放系统配置文件
LILO与GRUB简介 • • LILO全称为LInux Loader GRUB全称为GRand Unified Boot loader 是位于硬盘引导扇区的一个小程序 是引导Linux系统内核的最常见的方式 可以用来引导多个操作系统 可以同时支持多个不同的系统内核映像。 为每个系统内核映像提供了密码保护。 支持位于不同磁盘和分区中的引导扇区、映象文件和 启动映像。
安装多系统的顺序 § 1、Windows 98 § 2、Windows 2000 § 3、Windows. XP § 4、Linux … …
普通用户与超级用户 § Linux是一个多用户多任务的操作系统,在同一时 刻可以有多个用户使用系统。可以将用户大致分 为两类,即普通用户和超级用户。 § 普通用户可以在其权限许可的范围内使用系统资 源,而超级用户(用户名为root)不仅可以使用系 统中的所有资源而且可以管理系统资源。 § 除了用户的概念之外,Linux中还有组的概念。组 是若干个用户的逻辑集合。
Linux的运行方式 § 命令行(字符运行)方式 • 本地虚拟终端 • 使用Telnet远程登录 • 使用SSH远程登录 § 图形运行方式 • 本地使用KDE/Gnome集成环境 • 运行X Server远程使用图形环境
Linux的安装 本节要点 § 获取和安装方式 § 安装前的准备 作 § 系统使用初步
获取方式和安装方式 § 获取方式 • 下载发布版本 • 购买发布版本 § 安装方式 • 本地安装 § 本地光盘安装 § 本地硬盘安装 • 远程网络安装 § FTP § NFS § HTTP
安装Linux前的准备 § § § 了解Linux支持的硬件 光盘启动安装不需要任何准备 本地硬盘安装和网络安装需要制作启动盘 • Boot. img • Bootnet. img • boothd. img
启动盘的制作 § 在Red Hat Linux 9安装光盘中的dosutils目录中有一个程序: rawrite. exe § 一、在dos下(或windows中的命令方式下)运 行rawrite,按提 示选择在光盘中的images中 的某个映象文件和软驱。 § 二、在Linux下运行命令: • dd if=boot. img of=/dev/fd 0 bs=1440 k
安装及图形界面使用 § 虚拟机VMware 5. 0简介 § 使用虚拟机安装Fedora core 4/5
系统虚拟控制台及其切换 § 系统提供多个虚拟控制台 § 切换各个虚拟控制台 • 字符界面 Alt + F 1 -F 7
Linux的系统运行级 0 - 系统停机状态 1 - 单用户 作状态 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) 字符方式的默认运行级 4 - 系统未使用,留给用户 5 - X 11控制台(xdm,gdm或kdm) 6 - 系统正常关闭并重新启动
文件类型 § 普通文件 • 文本文件 • 二进制文件 可执行程序,声音,图像文件 § 目录文件 § 链接文件 • 硬链接 • 软链接 § 特殊文件
特殊文件 § 设备文件 • /dev/ttys 1:标准终端 • /dev/hda:第一块IDE硬盘 § 管道文件 • 例:用户使用lp打印一个文件时, lp建立打印进程并向一个管道发 送信息
Shell的重要功能 § 命令行解释 • • § § § § 交互模式(interactive) 后台运行(run commands in the background) 命令的多种执行顺序 命令替换 (` `) I/O重定向(Input/output redirection) 管道(pipes) | 通配符(wild-card characters) 系统环境维护 Shell Script
命令规则、路径和文件 § 命令规则 • 命令动词 [参数] [操作对象] § 路径 • 绝对路径 • 相对路径 § 文件 • 命名规则
文件通配符 §* 匹配多个字符 §? 匹配单个字符 § [abc] 匹配abc中任意一个字符 § [!abc] 匹配abc之外的任意一个字符
登录、注销、关机 § 系统登录和注销的方法 • 登录系统( login) • 注销登录( logout 或 exit) 注:系统中任何用户均可使用 § 系统关机和重启的方法 • 关机( halt) • 重新启动( Reboot ) 注:只有超级用户可用
Linux常用命令 1 § • • • 文件目录操作命令 ls touch cp mv rm cd ln cat more less head tail pwd mkdir rmdir find grep tar gzip compress sort paste wc
ls § 用法:ls 参数: 用法: • -a:显示所有文件,包括隐藏文件(以. 开头的 文件) • -l:以长格式显示 • -F:在每个文件名后附上一个字符以说明该文 件的类型,“*”表示可执行的普通文件; “/”表示目录;“@”表示符号链接; “|”表示FIFOs;“=”表示套接字 (sockets)。
ls • • • -d:将目录象文件一样显示,而不是显示其下的文件 -t:按修改时间先后显示 -R:显示目录及下级子目录结构 -m: 横向输出文件名,并以“,”作分格符。 -S: 以文件大小排序。 § 范例: • ls –al. R • ls -F
用颜色代表不同文件 § § § 蓝色:目录 绿色:可执行文件 红色:压缩文件 浅蓝色:链接文件 灰色:其他文件
touch § 作用: 生成一个空文件或修改文件的时间 § 范例: • touch * :将当前目录下所有文件时间修改 为当前系统时间 • touch –d 20010602 test:将文件test的时 间修改为 20010602 • touch test 2:如果abc存在,则修改为当前 系统时间,如果不存在,则生成一个为当前 时间的空文件
cp – copy file § 用法:cp –afpx source target • • • -a:尽可能保持文件的结构和属性 -p:保持原始文件日期 -f :如果目标文件已经存在,则覆盖它 -i :提示是否覆盖现有的普通目标文件 -R:包含子目录 § 范例: • • cp cp ls. txt mydir 1 -a mydir 1 mydir 2 /etc/syslog. conf. / -a /etc/sound/ /home/so
mv – move file § 用法:mv –b source target • -b:给被覆盖的文件建立一个备份 § 范例: • • • mv mv mv abc bcd abc mydir/ -b abc mydir/ mydir
rm – remove § rm –irf 文件或目录 § i:交互模式 § r:删除目录及以下所有内容 § f:强制删除 § 注意: • Root用户在删除文件时要特别小心 • 权限问题
cd – change directory § 用法:cd [目录] § 作用:切换路径 § 范例: • cd. . • cd ~ • cd / • cd. . /usr
pwd – print work directory § 用法:pwd § 作用:显示当前 作目录 § 范例:配合cd
创建和删除目录 § mkdir • 用法: mkdir 目录名 • 作用:创建目录新的目录 • 范例:mkdir abc § rmdir • 用法: rmdir目录名 • 作用:删除空目录 • 范例:rmdir abc
file § file 文件名 § 查看文件内型 § (后面会介绍)
cat 、more、 less § cat:输出文本文件内容(文本文件合并) § 范例: • cat tt. txt • cat txta txtb > txt § more:按页显示文件 § 范例:more tt. txt § less:按页显示文件,可以使用翻页键 § 范例:less tt. txt
head、tail § head:显示文件的前?行 § 范例:head – 20 /etc/passwd § tail:显示文件的后?行(默认是 10行) § 加-f参数,会实时的监视某程序 § 范例: • tail – 20 /etc/passwd • Tail +20 /etc/passwd (模 2除后再到结尾)
sort 与 paste § sort:将文本文件排序 § 范例 • sort passwd • sort –n test :将test按照数字大小排序 • sort test 1 test 2 test 3:将文件 test 1, test 2, test 3的内容联合排序 • -o filename 把结果保存在filename中 • -u 不显示重复的行 § paste:将不同文件合并 § 范例 paste test 1 test 2 > test 3
文件的硬链接 § 相当于一个文件的两个副本,指向同一数据存储区 § 特点: • 两个文件,长度相等,总长度不变 • 删除其中一个文件,另一个仍然存在 • 修改其中一个文件,另一个也修改
文件的符号链接 § 相当于一个文件的快捷方式 § 特点: • 仅保存一个指针,长度小于原文件 • 删除符号链接,不影响原文件 • 删除原文件,符号链接即没有意义
ln 命令– link § 功能:产生链接文件 § 用法:ln –s 来源文件 目标文件 • 加-s参数:symbolic link • 不加-s参数:hard link § 范例: • ln –s /bin/less /usr/bin/less • ln myfile mylinkfile
which § 查找内部命令的完整路径和别名 § Which
whereis – where is file ? § 作用:查找文件或目录位置 § 说明:whereis并不进行磁盘级的查找,只 是在$PATH所设定的路径中去查找 § 范例:whereis ls
find § § 作用:查找文件或目录 用法:find 查找路径 匹配条件 动作 常用匹配条件 • • type d表示目录f表示文件l表示链接b块文件p管道文件 name ‘字符串’ iname ‘字符串’ 不区分大小写 user 用户名 group 组名 perm xxxx size n atime n 过去n天被访问过的 mtime n 在过去n天中被修改过的
find的范例 § § § § find. -name ls. txt –print find / -name ‘c? ? ’ –print find / -name ‘f*’ –print find. -name ‘f*’ –exec ls –l {} ; find. -name f* –ok rm {} ; find. -perm 644 –mtime 4 find. -name ‘c? ? ’ –o -name ‘d? ? ’
locate, updatedb § locate • 作用:查找文件或目录 • 范例:locate l 1. txt • 注意:不是从磁盘空间上查找,而是从 updatedb产生的文件中查找 § updatedb • 作用:更新资料库 • 说明:以root身份登录后才可以执行
grep § 功能:在文件中查找匹配的字符串 § 格式:grep [参数] “待查字符串” 文 件 • • • -v -w -i -c -n 反向匹配 完整匹配 忽略大小写 只显示有几行符号要求 在显示行前标上在文档中的行号
使用简单的正则表达式 §. 任意一个字符 § * 匹配字符的零次或多次出现 § [a-z] a到z的任意字符一个 § ^a 以字母a开始的行 § a$ 以字母a结束的行
在grep中使用正则表达式 § § § $ grep ‘[Ff]leas’ fleas $ grep -c ‘. ’ fleas $ grep -n ‘. *’ fleas > fleas. num $ grep -i ‘and’ fleas $ grep -w ‘on’ fleas
wc § wc 选项 文件 § 统计文件中的行数、单词数、字符数 • -c: 显示字节数 • -w: 显示单词数 • -l:显示行数
Linux常用命令 2 § 信息显示命令 • • • dmesg file who w whoami hostname uname du df free
dmesg § 功能 • 显示机器引导时内核显示的状态信息 § 参数 • -c : 显示出状态后删除这些信息 § 用法 • dmesg
file § file • 功能:测试文件类型 • /usr/share/magic. mime保存文件类型 § 参数 • • • -b: 不显示文件名 -f filename: 用一个文件, 文件保存的每一行作为文件去检查 -k : 搜索到第一个匹配项不停止 -z : 检查压缩文件中的每一个文件 -s /dev/hd*: 检查分区系统类型 • 范例 § file * § file –s /dev/hda 2
§ who功能 who • 查看其他登录的用户 § 参数 § § § -b: 系统最后启动时间 -a: 显示所有信息 -H: 显示项目标头 -r: 查看系统运行等级 -w,在登录帐号后面显示一个字符来表示用 户的信息状态: • +:允许写信息; -:不允许写信息; ? :不能找到终端设备。 § -q: 统计当前有多少用户登录系统
who § 输出的通用格式如下: name [state] line time [idle] [pid] [commnet] [exit] name用户的登陆名 state写到终端的能力 line在/dev中找到的行名 time自从用户登陆所用的时间 idle自从用户最后一次活动所经历的时间 pid用户的进程ID commnet注释行 exit已死进程的退出状态
W § w功能 • 查看其他登录的用户(who增强版) § 第一行输出内容:当前时间,系统启动到现在的时间,登录 用户的数目,系统在最近 1秒、5秒和15秒的平均负载 § 第二行输出内容:登录帐号、终端名称、远程主机名、登录 时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。 § *JCPU时间指的是和该终端(tty)连接的所有进程占用的时间 § *PCPU时间则是指当前进程(即在WHAT项中显示的进程)所占用的时 间
whoami § whoami的功能 • 查看登录用户自己的信息 § whoami使用范例 • whoami
whoami 和who am i区别 § who am i与whoami的区别: • whoami显示effective current username(即通 过su username 1之后, 显示的是username 1); • who am i显示的是original username(即在使用 su命令之前的username)。
hostname § hostname • 查看主机名 (根据/etc/hosts文件显示) § 参数 • -a:显示系统别名 • -d:显示系统域名 • -f: 显示FQDN名 • -i:显示本机IP地址(127. 0. 0. 1)
uname § uname • 显示系统信息 § 参数 • -s: 显示内核名 • -r: 显示内核版本 • -i: 显示硬件平台 • -p: 显示处理器内型 • -o: 显示操作系统内型
du § du • • • -c: 统计大小用K表示 -b: 用Byte表示 -s: 统计整个目录所占空间 --max-depth=N,显示几级目录 报告指定的文件(目录)已使用的磁盘空 间的总量
df § df • • • 报告文件系统磁盘空间的使用情况 -h: 更人性化显示 -i: 显示节点信息 -l: 显示本地文件系统信息 -t filesystem type: 显示指定类型的文件系统信息
free § free • 查看当前内存和交换空间的使用情况 • -t: 显示总的内存信息(物理内存+虚拟内存) • -s N: 实时监视内存,延迟N秒显示信息 *根据/proc/meminfo文件分析的结果
提高 作效率 § 自动补全 § 命令别名 § 命令历史 § 复制和粘贴
命令别名(alias)的使用 • 作用:设置命令别名 • 范例 • alias mybin=“cd /usr/bin” • alias 显示系统中现有的别名 • unalias mybin 删除系统中的别名
命令历史 § !:回忆Shell的历史记录(正序) • ! 2 第 2条命令 • !! 上次执行的命令 • ^34^3:修正上次命令的键入错误,34 3 § history :查看命令的历史记录 • $ history –w my_old_cmd (保存) • $ history –c (clear) § fc:编辑命令历史记录 • $ fc –l • $ fc –nl
Shell的高级使用 § 重定向 § 管道 § 命令替换 § 命令执行顺序
重定向 输出重定向 > 、>> 错误输出重定向 2> 、&> 输入重定向 < 、<<
管道 § 管道:将一个命令的输出传送给令一个命令, 管道: 作为另一个命令的输入 § 使用方法:命令 1|命令 2|命令 3……|命令n 使用方法: § 使用举例: • $ ls –Rl /etc |more • $ cat /etc/passwd | wc • $ cat /etc/passwd | grep lrj • $ ps –aux |tail +10 |more
命令替换 § § `cmd` 或 $(cmd) 例如: • $wall `date` • $cd `pwd`
Linux常用命令 3 § 用户通信与网络命令 • write wall telnet mail ftp
write wall mesg § write • 向另外一个用户发信息。以CTRL+D作为结束 • 使用举例 $ write webmaster § wall • • 向所有用户广播信息。 格式 wall [message] $ wall Happy new year!
ftp § FTP客户端程序 § 常用子命令 • • • open close asc bin dir/mdir ls pwd cd get/put mget/mput newer delete/mdelete mkdir/rmdir rename lcd !cmd system bye/quit help/? § 操作案例
Linux常用命令 4 § § § § 其他命令: clear wc date p 5 bc cal su passwd help man
telnet § telnet 站点名 [端口号]
clear § clear • 功能:清屏 • 用法: clear
date和clock § date • • • 功能:显示和更改系统日期 显示:date [参数] 设置: date 月月日日时时分分年年年年. 秒秒 date –r 文件名: 显示此文件最后一次修改时间 举例: § § $ date '+DATE: %m/%d/%y%n. TIME: %H: %M: %S' # date '+%j%t%U' # date –s 20011109 # date –s 09: 29: 30 § clock • # clock -w • # clock -s 间 将系统时间写入CMOS 根据CMOS时间自动设置系统时
cal § cal • 功能:显示日历 • 用法:cal [参数] 月 年 § -3: 显示前/现/下三个月的表格 § -m: 把星期一放在第一列显示 § -j :显示在本年中的第多少 天 • • • 举例: $ cal –j 2001 $ cal 1752
bc § § § § 计算器 1、算术运算 2、逻辑运算: 如: 3>5结果是 0 3<5结果是 1 3、布尔运算:(3>2)&&(3>5)结果是 0 (3>2)&&(3<5)结果是 1 4、编程:如 if(3>5) print “大” else print “小于” 5、=*, =-, =/等运算符的使用 6、函数的使用: sqrt(n), read()
su 和 passwd § su • 功能:切换登录用户 • 用法:su [用户名] • 举例: § passwd • 功能:更改用户密码 • 用法:passwd [用户名] • 举例:
help和man § help • • 用于查看Linux内置命令的帮助信息。 使用举例 $ help echo § man • 列出指定命令的帮助手册 • man ls
文本编辑器-Vi § 理解Vi的三种运行模式 § 学会进入插入模式 § 学会在编辑模式下操作 § 学会在命令模式下操作
概述 § vi是个UNIX下面的缺省的可视化的编辑器 § vi是威廉. 侨伊写的, 作为BSD UNIX的一部分. 后来AT&T也开始用vi, 于是标准UNIX也开 始采用. § 特点: • vi是个强大的编辑器 • vi非常小 • vi有些繁琐
22. 3. 1 Vi及其三种运行模式 命令模式(Command mode): § l § 任何时候,不管用户处于何种模式,只要按一下Esc键,即可使vi进入命令模式; 我们在shell环境(提示符为$)下输入启动vi的命令,进入编辑器时,也是处于该模式 下。在该模式下,用户可以输入各种合法的vi命令,对文档进行一些操作(如删除单个 字符,删除一行字符,删除一个区块等)。在这种模式下,从键盘上输入的任何字符 都被当做编辑命令来解释,若输入的字符是合法的vi命令,则vi在接受用户命令之后完 成相应的操作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符 不是vi的合法命令,vi会响铃报警。 § § l 文本输入模式(Insert mode): 在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r 或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做 文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下, 按Esc键即可。 § § 末行模式(Line mode): 在命令模式下,用户按“: ”键即可进入末行模式下,此时vi会在显示窗口的最后 一行显示一个“: ”作为末行模式的提示符,等待用户输入命令。多数对文件操作命令 都是在此模式下执行的(如查找、替换文本中的某个字符串)。末行命令执行完后,vi 自动回到命令模式。
常用命令涉及的单词或字符 § § § § w: write or word b: begin d: delete p: paste q: quit m: middle $: 尾 s: stick r: read h: home u: undo i: insert a: append l: last ^: 头
Vi 的基本操作 § 进入插入模式 • 基本命令:i, a, o § 从插入模式返回编辑模式 • insert § 命令模式下的基本操作 • : w filename • : wq • : q! • ZZ
Vi命令的数字前缀 § I 在关标位置开始插入字符,结束时按ESC键。 I 在光标所在行的最前面开始加字,结束时按ESC键。 a 在光标位置后开始加字,结束时按ESC键。 A 在光标所在行的最后面开始加字,结束时按ESC键。 o 在光标下加一空白行并开始加字,结束时按ESC键。 O 在光标上加一空白行并开始加字,结束时按ESC键。 !command执行shell指令,并把结果加在光标所在行的下一 行。
vi定位命令 § § § § Shift+h(H): 光标移到屏幕的第一行 Shift+m(M): 光标移到屏幕的中间行 Shift+l(L): 光标移到屏幕的最后一行 Ctrl+b: 向上移动一屏 Ctrl+f: 上下移动一屏 Ctrl+d: 向下半页 Ctrl+u: 向上半页 G: 文件的最后
vi定位命令 § § § <Home>: 到行首(或^、0) <End>: 到行未(或$) : number: 指定到某一行 w: 向后移动一个单词 b: 向前移动一个单词
vi编辑命令—删除 § d l 删除当前字符(与x命令功能相同) d 0 删除到某一行的开始位置 d ^ 删除到某一行的第一个字符位置(不包括 空格或TA B字符) § d w 删除到某个单词的结尾位置 d 3 w 删除到第三个单词的结尾位置 d b 删除到某个单词的开始位置 § d } 删除到某个段落的结尾位置 § d { 删除到某个段落的开始位置 § (段落以一空行分隔)
vi编辑命令—删除 § d d 删除当前行 § D or d$从当前字符删除到结尾 § d /t e x t 删除从文本中出现“ t e x t”中所指定字样 的位置,一直向前直到下一个该字样所出现的位 置(但不包括该字样)之间的内容 § 5 d d 删除从当前行所开始的5行内容 § d L 删除直到屏幕上最后一行的内容 § d H 删除直到屏幕上第一行的内容 § d G 删除直到 作缓存区结尾的内容(文尾) d 1 G 删除直到 作缓存区开始的内容 (文头)
vi编辑命令—删除 § nx 删除由光标位置起始的n个字符( 含光标位置,按一个x表示删除光标 所在的字符) n. X 删除由光标位置起始的n个字符( 不含光标位置)
vi编辑命令—修改 § c l 更改当前字符 c w 修改到某个单词的结尾位置 c 3 w 修改到第三个单词的结尾位置 c b 修改到某个单词的开始位置 § c 0 修改到某行的结尾位置 c) 修改到某个语句的结尾位置 c 4) 修改到第四个语句的结尾位置 § c( 修改到某个语句的开始位置 § c } 修改到某个段落的结尾位置 c { 修改到某个段落的开始位置 c 7 { 修改到当前段落起始位置之前的第 7个段落 位置
vi编辑命令—修改 § c tc 修改当前行直到下一个字符c所出现位 置之间的内容 § C 修改到某一行的结尾 § c c 修改当前行 § 5 c c 修改从当前行所开始的5行内容
vi编辑命令—替换 § s或c l替换当前字符 § S 将当前行替换为一个或多个字符 § 5 s 将从当前字符开始的5个字符替换为一个 或多个字符 r 修改光标文件的字符 R从光标位置开始修改,结束时按ESC键
vi编辑命令—复制、剪切、粘帖 § § yy或Y 可以把一行文本拷贝到寄存器中 dd 剪切一行 P或p 粘贴一行 寄存器: 可以存放剪切和拷贝下来的东西的地方 , § 只要有一个删除命令的话, 寄存器中的东西就没有了
vi编辑命令--撤销 § u可以撤消你刚才的操作 § U可以撤消你对当前行的修改
vi编辑命令—替换和查找 § : /string 查找string,n是查找下一处 § : %s/string 1/string 2/g 在整个文件中替换“string 1” 成“string 2” § : 3, 7 s/string 1/string 2/ 仅替换文件中的第 3行到第 7 行中的“string 1”成“string 2”。 § : %s/$/some string/g 在整个文件每一行的行尾添 加“some string” § : %s/^/some string/g 在整个文件每一行的行首添 加“some string” § %s: 表示当前文件所有行, g表示global(所有都替换) i(不区分大小写)c(每次替换确认)
vi编辑命令—宏 § : map <lhs> <rhs> ,以后在命令状态下输入 lhs就会运行<rhs>的命令 § : unmap <lhs>取消某宏 § : map #n <rhs> 将Fn功能键定义成宏
vi编辑命令—缩写 § : ab <lhs> <rhs>,以后在编辑状态下 输入lhs就会出现rhs字符串 § : unab <lhs>取消某缩写
set § : set <选项> <参数> : set <选项> ? 显示出当前这个选项的参数值 : set all 则显示所有的选项值 对那些无须参数的选项来说, 使用: set no<选项>就 可以把它给关了 § : set all 查看所有变量 § : set number 显示行号 § : set ai可以让vi自动对齐. § : set ap 每条命令之后都显示出修改之处 § : set aw 在: n, : !命令之前都自动保存文件 § : set dir= /tmp 存放缓冲区的目录名 § : set remap 允许宏指向其他的宏 § : set sh=/bin/sh指定shell
vi编辑多个文件 § vi filename 1 filename 2 …. . filename. N § : args 显示编辑名单中的各个文件名 : n 入编辑名单中的下一个文件 读 : rew 读入编辑名单中的第一个文件 : e# 读入编辑名单内的前一个文件 : e file 读入另一个文件进vi(此文件可不 在编辑名单内), 若原文件经修改还没有存 档,则应先以: w 存档。 : e! file 强迫读入另一个文件进入vi,原 文件不作存档动作。
vi编辑命令—高级复制 § : first, last co dest • 将first 到last行的数据复制到目标行(dest)下面 § : start, end m dest • 将start 到 end行的数据移动到目标行(dest)下 § n. Y • 将光标所在位置开始的n行数据暂存
vi高级用法 § § § § Ctrl+”[“或ctrl+” 3” 回到命令态 CTRL+”s” 冻住vi, Ctrl+”q”解开 : r 插入文件 “d”+光标的上下左右, 可删除两行或一字符 : sh 暂时退出vi到系统下,结束时按Ctrl + d则回到vi。 : X 保存后加密(用户输入密码) J 上下两行合并 : [m], [n]w <文件名>可以将从第m行到第n行之间的 文本保存到<文件名>所指定的文件中. § : g/^/m 0/ 倒写文档 § : f 或<Ctrl> + g 告诉用户有关现行编辑文件的数据。
vi高级用法 § § § : g/^/m 0/ : f 或<Ctrl> + g vi –r : r !<命令> : so <文件> . 倒写文档 告诉用户有关现行编辑文件的数据。 恢复系统崩溃 把<命令>的输出插入到当前文本中 读取<文件>, 再执行文件里面的命令 重复前一指令 § : so <文件> 读取<文件>, 再执行文件里面的命令
账户管理与操作权限 § 账户管理配置文件族 § 用户的添加和删除 § 组的添加和删除 § 设置操作权限
账户系统文件 § 口令文件 • /etc/passwd § 影子口令文件 • /etc/shadow § 组文件 • /etc/group
/etc/passwd &/etc/shadow § 结构: § username: passwd: UID: GID: fullname: home-dir: shel § username: passwd: last: may: must: warn: expire: reserved
与用户管理相关的文件或目录 § 用户配置文件 • /etc/login. defs • /etc/default/useradd § 新用户基本信息 • /etc/skel • 如果手 创建,则需复制该目录到用户 目录
/etc/default/useradd § GROUP=100 默认组ID是 100, 在禁止默认的 私有组时有用 § HOME=/home 用户主目录顶层目录 § INACTIVE=-1 当口令到期后,帐号变成非激 活,-1表示永远激活 § EXPIRE =MM/DD/YY 帐号将被禁止多长时间 § 注:后两项要确保系统使用shadow口令
用户分类(以UID划分) § root:管理员 • uid, gid=0 § 普通用户 • uid>500 § 伪用户(pseudo user):无shell(uid: 1 -500) • bin • sys • …
使用 useradd命令添加用户 § useradd –g group 1 –e 12/31/2001 u 1 § passwd u 1 § 常用参数 • • u:uid g: group d:dir(用户目录) s:shell c:附加信息 e:登录失效时间 M:不建立用户目录
成为超级用户 § § 把用户ID和组ID改成和root的ID一样(0, 0) 但给系统带来安全问题 用以下自动命令检查passwd中的超级用户名 /bin/grep '0: 0' /etc/passwd|awk 'BEGIN {FS=": " } {print $1}'|mail -s "`date +"%D %T"`" root § awk---一个优秀的样式扫描与处理 具
组及其分类 § 组 • 组是若干个用户的逻辑集合。 § 组分为 • 私有组 • 当在创建一个新用户user时,若没有指定他 所属于的组,系统就建立一个和该用户同 名的私有组。 • 标准组可以容纳多个用户,若使用标准组, 在创建一个新的用户时就应该指定他所属于 的组。
修改用户账户 § 手 修改账户文件 § 使用usermod命令 • usermod –l uu 1 –d /home/uu 1 –g gg 1 u 1 • 将用户u 1的登录名改为uu 1,加入到gg 1组中, 用户目录改为uu 1 • 注意: 1. 被修改后的家目录必须事先存在 2. 修改后要确认并更改家目录的权限 • usermod -G softgroup jjh • 将用户jjh添加到softgroup标准组中
修改用户帐号 § usermod –u UID username • 修改用户ID § 注:在用户主目录中所有文件自动修改所属ID为 新ID,而些目录外的文件不会自动修改 § usermod –d newdir username • 修改用户主目录 § usermod –s newshell username • 修改用户默认shell § usermod –e MM/DD/YY username • 修改帐号截止日期 § chsh username 修改用户默认的SHELL
禁用和恢复用户账户 § 禁用 • # usermod –L username • # passwd –l username § 恢复 • # usermod –U username • # passwd –u username
禁止用户登录 § 在/etc/passwd或/etc/shadow中的密码域前 加上*或!!可暂时禁止某一用户登录 § 在/etc/中创建nologin文件,包含说明原因, 可阻止除root的所有用户登录(不适合于远 程登录管理)
用userdel删除用户账户 § userdel –r u 1 • -r:删除用户目录 § 分析userdel的过程 • 从账户文件中移去用户表项 • 删除用户家目录
组的管理和使用 § groupadd –g 888 group 2 • 创建一个组group 2,其GID为 888 § groupdel group 2 • 删除组group 2 § groupmod –n group 22 • 修改group 2组名为group 22
组的管理 § 设置群组密码 § gpasswd [option] [user][group] • -a: 将用户添加入group组 • -d: 将用户从group中删除 • -r: 取消群组密码
在用户组间切换 § § groups [username] 查看当前用户属于哪些组 newgrp [group] 切换到某组运行(必须已属此组)
用户、组及权限 § 用户只能不受限制的操作自家目录及其子 目录下的所有内容 § 系统中其他目录的访问受到限制 • 同组 • 其他人
文件和目录的操作权限 § 文件和目录的使用者 • 超级用户 • 文件或目录的属主 • 属主的同组人 • 其他人 § 对每一类使用者设置对文件的操作权 • 读(r) • 写(w) • 执行(x)
文件和目录的三种访问权限 代表字符 权限 对文件的含义 对目录的含义 r 读权限 可以读文件的内容 可以列出目录中的文 件列表 W 写权限 可以修改该文件 可以在该目录中创建、 删除文件 X 执行权限 可以执行该文件 可以使用cd命令进入 该目录
文件权限的数字表示法(2,3,4位) 数字 0 1 2 4 3 5 6 7 代表的权限 没有权限 Excute Write Read 1+2 excute+write 1+4 excute+read 2+4 write + read 1+2+4 read+write+excute
文件权限的数字表示法(第 1位) 数字 1 2 4 3 5 6 7 代表的权限 Sticky bit(在内存中保存镜像) Group ID bit User ID bit 1+2 1+4 2+4 1+2+4
对文件权限的文字设定法 § 权限字符 • r(读) • w(写) • x(执行) § 设定方法 • + :增加权限 • - :删除权限 • = :分配权限,同时删除旧的权限
chmod § 作用:改变文件或目录的权限 § 范例: 命令 作用 权限 chmod 751 a 1. txt文件所属用户可以读,写和执行,所属 群组可以读取及执行,其他用户只能读取 -rwxr-xr-- chmod 444 a 1. txt 所有用户都具有只读权限 -r—r—r-- chmod 4755 a 1. txt 设置GID bit,所属用户可以读,写和执行,所 -r w x r - x 属群组和其他用户可以读取和执行
chown § 功能:改变文件或目录的属主(所有者) § 范例: • chown lrj file 1 (将文件file 1的所有者改为lrj) • chown –R lrj mydir 1/ (将目录mydir 1中所有文 件的所有者改为lrj) • chown –h lrj wtb (改变链接文件所有者,但不 改变原文件) • 注:只有root用户修改, 或文件的所有者改变文 件的所有组为它另一所属的组
chgrp § 作用:改变文件或目录所属组 § 范例: • chgrp users file 1 • (改变文件file 1的所属群组为users) • chgrp –R ftpusers mydir 1/ • (将目录mydir 1所有文件的所属群组改成ftp)
umask § 功能 功能 • 设置文件的缺省生成掩码。缺省的生成掩码告诉系统 当创建一个文件或目录时不应该赋予其哪些权限。 § 格式 • umask xxx • 其中xxx表示的是不允许有的权限。 • $ umask 022 • 表示不允许同组用户和其他用户有写权限。 • $ umask • 显示当前的缺省生成掩码。
Linux网络基础 § 在使用Internet之前对TCP/IP有一个大致的 了解: • • 什么是Internet的由来和发展历程 Internet提供的主要服务有哪些 Internet的应用
TCP/IP协议 § TCP/IP协议最初是为支持ARPANET(一个美国国 防部资助的试验性网络)上计算机进行数据通讯而 设计的。在经证实成功以后,于1975年转入正常运 行。在ARPANET中提出的一些网络概念,如,包 交换(又称为分组交换)和协议分层(上层协议使 用其下层协议提供的服务)对后来的计算机网络技 术的发展产生了深远的影响。ARPANET于1990年 停止使用, 取而代之的是在ARPANET的基础上迅 速发展起来的Internet。
TCP/IP分层模型与协议族 (ftp、http…) (DNS、SMTP…) TCP UDP 应用层 传输层 网际层 Internet Protocol、ICMP… NIC drivers… 网络接口层
Internet 网际协议(IP) § IP地址 § 在TCP/IP网络中,每个主机都有唯一的地址,它是通过IP 协议来实现的。IP协议要求在每次与TCP/IP网络建立连接 时,每台主机都必须为这个连接分配一个唯一的32位地址, 因为在这个 32位IP地址中,不但可以用来识别某一台主机, 而且还隐含着网际间的路径信息。需要强调指出的,这里 的主机是指网络上的一个节点,不能简单地理解为一台计 算机,实际上IP地址是分配给计算机的网络适配器(即网 卡)的,一台计算机可以有多个网络适配器,就可以有多 个IP地址,一个网络适配器就是一个节点。 § IP地址为 32位地址,一般以 4个字节表示。每个字节的数 字又用十进制表示,即每个字节的数的范围是 0~255,且 每个数字之间用点隔开,例如: 192. 168. 101. 5,这种记录 方法称为“点-分”十进制记号法。IP地址的结构如下所示: 网络类型 网络号 主机号
IP地址的分类 § A类地址:可以拥有很大数量的主机,最高位为 0,紧跟的7 位表示网络号,其余 24位表示主机号,总共允许有126个网 络。 § B类地址:被分配到中等规模和大规模的网络中,最高两位 总被置于二进制的10,允许有16384个网络。 § C类地址:被用于局域网。高三位被置为二进制的110,允 许大约 200万个网络。 § D类地址:被用于多路广播组用户,高四位总被置为 1110, 余下的位用于标明客户机所属的组。 § E类地址:保留供试验用的地址。
内部(私有)IP地址与保留的IP地址 § 因特网地址管理局(Internet Assigned Numbers Authority,IANA)在 A、 B和C类地址中保留了一些网络号,处于这些网络中的IP地址(内部地址) 无需注册就可以使用。这些地址只在内部网络中有效,而且(理论上) 不会路由到实际的因特网站点中(即,对内部网以外的主机是不可见的 )。这些保留的网络号如下: • A类中的保留的网络号: 10. 0 • B类中的保留的网络号: 172. 16. 0. 0 - 172. 31. 0. 0 • C类中的保留的网络号: 192. 168. 0. 0 - 192. 168. 255. 0 § IANA还保留了以下几类特殊的IP地址: • ① 网络号为 127的A类地址,又称为回送地址( 127. 0. 0. 1~127. 255. 254)。所有这些地址被保留作回路及诊断 功能,例如经常使用命令ping 127. 0. 0. 1测试网卡是否 作正常。 • ② 主机号的各位均为 1的地址。这些地址被协议定义为网内的广播地 址,而不再作为一个主机号。 • ③ 主机号的各位均为 0的地址。这些地址被作为网络的网络地址来使 用。 • ④ IP地址各位全为 0(即 0. 0),指当前主机。 • ⑤ 以零开头的地址表示当前网络中的本地节点。例如,0. 0. 0. 23 指 当前网络中的 23 号 作站。
子网及子网掩码 § 子网是指在一个IP地址上生成的逻辑网络,它使用 源于单个IP地址的IP寻址方案,把一个网络分成多 个子网,要求每个子网使用不同的网络号,通过把 主机号(主机号)分成两个部分,为每个子网生成 唯一的网络号。一部分用于标识作为唯一网络的子 网,另一部分用于标识子网中的主机,这样原来的 IP地址结构变成如下三层结构: 网络地址部分 子网地址部分 主机地址部 分
§ 子网掩码是一个 32位地址,它用于屏蔽IP地址的一 部分以区别网络ID和主机ID;用来将网络分割为多 个子网;判断目的主机的IP地址是在本局域网或是 在远程网。在TCP/IP网络上的每一个主机都要求有 子网掩码。这样当TCP/IP网络上的主机相互通信时, 就可用子网掩码来判断这些主机是否在相同的网络 段内。
§ 具体的运算步骤如下: § 例如: 192. 168. 101. 5的二进制表示为 11000000 10101000 01100101 00000101 B;子网掩码为 255. 0,其二进制值为 11111111 0000,则当 192. 168. 101. 5和 255. 0进行逻辑与运算: § 11000000 10101000 01100101 00000101 § 11111111 0000 § 11000000 10101000 01100101 0000 § 所得出结果为 11000000 10101000 01100101 0000,其中非 0的三个字节,即 192. 168. 101 为该网络号,剩余的字节(即 5)为主机号。若该 网络的另一台的IP地址为 192. 168. 101. 250,子网掩 码也为 255. 0,则同样会得到网络ID为 192. 168. 101,因此这两台主机在同一网段内。
IP路由 § 路由是数据从一个节点传输到另一个节点的过程。 例如,要出发到某地,一般先确定到达目的地的路 线。在TCP/IP网络中,同一网络区段中的计算机可 以直接通信,不同网络区段中的计算机要相互通信, 则必须借助于IP路由。 § 在TCP/IP网络中,IP路由器又叫IP网关。每一个节 点都有自己的网关。IP报头指定的目的地址不在同 一网络区段中,就会将数据报传送给该节点的网关, 如果网关知道数据报的去向,就将其转发到目的地。 每一网关都有一组定义好的路由表,指明网关到特 定目的地的路由。网关不可能知道每一个IP地址的 位置,因此网关也有自己的网关,通过不断转发、 寻找路径,直到数据报到达目的地为止。
§ 根据路由器采用的路由方式,IP路由分为静态IP路由和动态 IP路由两种。路由方式决定了路由器如何获得路由信息(路 由表中的表项)。 § 静态路由是IP协议的函数实现,需要系统管理员手 创建( /sbin/route命令)路由表并进行人 刷新。当网络变化导致路 由改变时,静态方式的路由器并不通知彼此的变化,也不会 与动态方式的路由器进行交换。 § 动态路由是路由协议的函数实现,相关的协议如:路由信息 协议RIP和开放式最短路径协议OSPF等。动态路由适用于大 型网络,出于冗余/故障恢复的目的,通常安装了多个路由 器,指向同一远程网络。根据路由设备之间所交换的信息动 态地构造、更新路由信息。自动调节路由来适应不断变化的 网络条件。缺点是设备间的路由信息交换会消耗相当大的带 宽。Linux网络中采用的是静态和动态路由的组合。
ARP 协议 § ARP(Address Resolution Protocol)协议的功能是实现将IP地 址转换(解析)为物理地址。按照TCP/IP的分层分 的原则, 在以太网(或其他类型的局域网)中,IP分组的传输实际上 是将数据分组封装成为其下层(网络接口层)的通信单元— 帧,并由网络接口层完成帧的传输,从而实现IP分组在局域 网中的传输。数据帧的传输使用的是物理地址(MAC地址), 物理地址是固化在网络接口卡中的地址(长度为 48位,且全 球唯一),常常也将物理地址称为网卡地址或硬件地址。以 太网中,一个主机向另一主机(目标主机)发送IP数据分组 时,所知道的只是目标主机的IP地址,因此在将IP分组封装 成帧交由下层协议发送之前,必须首先将对方(目标)主机 的IP地址映射为物理地址。将主机IP地址映射为物理地址的 过程称为地址解。
§ 地址解析的 作流程如下: § ① 当一台主机要与别的主机通信时,初始化ARP请求。当 该IP断定IP地址是本地时,源主机在ARP缓存中查找目标主 机的物理地址。 § ② 要是找不到映射的话,ARP建立一个请求,源主机IP地址 和物理地址会被包括在请求ARP包中,该ARP包通过广播, 使所有本地主机均能接收并处理。 § ③ 本地网上的每个主机都收到广播并寻找相符的IP地址。 § ④ 当目标主机断定请求中的IP地址与自己的相符时,则从发 来的ARP请求包中取出源主机的物理地址,向源主机直接发 送一个ARP应答包(包含目标主机的物理地址)进行应答, 同时也将源主机的IP地址和物理地址更新它的ARP缓存。源 主机收到应答后便建立起了通信。
TCP与UDP协议及其端口 § TCP是位于传输层中的一种可靠的面向连接的传送服务。它 在传送数据时是分段进行的,主机交换数据必须建立一个会 话。它用比特流通信,即数据被作为无结构的字节流。通过 每个TCP传输的字段指定顺序号,以获得可靠性。如果一个 分段被分解成几个小段,接收主机会知道是否所有小段都已 收到。通过发送应答,用以确认别的主机收到了数据。对于 发送的每一个小段,接收主机必须在一个指定的时间返回一 个确认。如果发送者未收到确认,数据会被重新发送;如果 收到的数据包损坏,接收主机会舍弃它,因为确认未被发送, 发送者会重新发送分段。 § 传输层中的另一个协议是用户数据报协议(UDP),UDP提供 无连接的数据报服务。它适用于无须应答并且通常一次只传 送少量数据的应用软件。
§ 端口(port)是在传输层定义的一种标识号,用于标识传输层 所提供的数据传输服务。根据提供的服务不同,对应有不同 的端口号,端口范围取值 0到 65535之间的任何数字。小于 256的端口号被系统保留用作提供系统的标准服务,这些端 口称为常用端口或熟知端口。其余的端口号在服务请求时, 作为操作系统为客户端应用程序动态分配的端口号。以下所 列的是部分常用的端口号。 熟知端口(Well-known ports)及其提供的服务: 15 NETSTAT 网络状态 21 FTP 数据传输服务 80 HTTP 超文本传输协议 53 DOMAIN 域名服务器 69 TFTP 普通文件传送协议 137 NETBIOS-NS NETBIOS命令服务 138 NETBIOS-DGM NETBIOS数据报服务 161 SNMP SNMP网络监视器
a381d92a273f67ab7b1b180cd4fc0ccb.ppt