slide1
Download
Skip this Video
Download Presentation
Linux

Loading in 2 Seconds...

play fullscreen
1 / 168

Linux - PowerPoint PPT Presentation


  • 189 Views
  • Uploaded on

Linux. 用户基础. 用户基础 -- Linux 培训目标. 熟悉 Linux 系统的运行环境 掌握 Linux 中常用命令的使用 掌握 Linux 系统管理的相关内容 文件系统管理、用户管理、进程管理、 软件安装管理、 TCP/IP 网络配置管理 掌握 Shell 及使用 配置网络和网络服务 使用 vi 编辑器 Linux 程序设计简介. 参考资料. (1) 参考书: 《Redhat 9 从入门到精通 》 电子版下载地址: ftp://202.116.77.31/pub (2) LPI Certificate Exam Guide

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Linux' - tuwa


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Linux

用户基础

slide2

用户基础--Linux培训目标

  • 熟悉Linux系统的运行环境
  • 掌握Linux中常用命令的使用
  • 掌握Linux系统管理的相关内容
    • 文件系统管理、用户管理、进程管理、

软件安装管理、TCP/IP网络配置管理

  • 掌握Shell及使用
  • 配置网络和网络服务
  • 使用vi编辑器
  • Linux程序设计简介
slide3

参考资料

(1) 参考书:《Redhat 9从入门到精通》

电子版下载地址:ftp://202.116.77.31/pub

(2) LPI Certificate Exam Guide

电子书下载: ftp://202.116.77.31/pub/LinuxExam

slide4

Linux系统概述

  • UNIX与Linux简介
  • Linux的组成及功能
  • Linux的内核版本与发行套件
  • Linux的现状与未来
  • 与Linux相关的基本概念
slide5

什么是Linux?

  • Linux是一个功能强大的操作系统
  • 同时它是一个自由软件,是免费的、源代码开放的
  • 编制它的目的是建立不受任何商品化软件权制约的、全世界都能自由使用的Unix兼容产品。
slide6

UNIX历史简介

  • 20世纪70年代,贝尔实验室开发出UNIX
  • 目前分为AT&T System V和Berkley BSD两个系列
  • 目前常见的UNIX版本有:
    • Sun Solaris
    • SCO UNIX
    • HP-OS
    • AIX

注:Linux同时兼容System V和BSD两种Unix系统

slide8

POSIX 简介

  • POSIX – Portable Operating System Interface
  • 各家厂商发展自己的Unix -> 各Unix系统不兼容!
  • 1988年,NTST/CSL的组织召开各Unix厂商,组织和用户共同制定了POSIX,可移植操作系统标准界面(IEEE 1003.1)
  • 结果:只要遵循POSIX,某一个Unix环境下的软件,只需做少许的修改,就能在其他的Unix环境下编译成功。
slide9

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问世
slide10

开放源代码(Open Source)

  • 宗旨
  • 允许任何人自由传播复制及修改软件的程序代码,而不在于不收费
  • 起源
  • 1983.9,Richard M. Stallman (RMS) ,FSF(Free Software Foundation)的创始人,目前为GNU Project的项目主持人
  • 产品种类
  • - Kernel
  • - Editor
  • - Shell
  • - C compiler,linker,assembler
slide11

GNU&GPL简介

  • GNU – Gnu’s Not Unix
    • 是自由软件基金会FSF(Free Software Foundation)中头一个名为GNU的团体,目前近400人。
  • GPL – General Public License
    • 软件的源程序可以自由流通,软件公司不应该把源程序拒为己有,或借发行编译过的软件赢利,软件公司要赚取的应该是系统集成和服务的费用
    • 所有的程序员可以交换心得,保证软件质量
slide12

GNU与Linux

  • Linus本人认为:“使Linux成为GPL的一员是我一生中所作过的最漂亮的一件事”。
  • GNU的开发过程:
    • 先开发gcc等强大工具,最后再开发GNU Kernel ( Hurd )  最优秀的操作系统Gnu’s Not Unix
  • Linux的出现  Linux Kernel + GNU Software  Debian/Linux填补Hurd出现前的真空状态
linux
Linux的特点
  • 开放性的系统
  • 多用户多任务的系统
  • 具有出色的稳定性和速度性能
  • 具有可靠的系统安全性
  • 提供了丰富的网络功能
  • 标准兼容性和可移植性
  • 提供了良好的用户界面
linux1
为什么使用Linux
  • Linux是一套具有Unix全部功能的免费操作系统
  • Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件
  • Linux为广大用户提供了一个在家里学习和使用Unix操作系统的机会
  • Linux能与现有存在的操作系统共存
  • 随着各国政府不断加大对Linux的支持力度,以及各大公司的加盟,Linux将最终成为一个多平台的、市场占有率较高的、优秀的网络操作系统。
linux2
Linux系统的组成
  • Linux内核
  • Linux Shell
  • Linux文件系统
  • Linux实用工具
  • 内核、Shell和文件系统一起形

成了基本的操作系统结构

slide16

Kernel(内核)和版本

  • Kernel实现操作系统的基本功能
    • 硬件方面:控制硬件设备,内存管理,硬件接口,基本I/O
    • 软件方面:管理文件系统,为程序分配内存和CPU时间等
  • 版本号有三个数字组成:r.x.y
    • r:目前发布的Kernel版本
    • x:偶数:稳定版本,奇数:开发中版本
    • y:错误修补的次数
    • 范例:kernel 2.0.38;kernel 2.6.13-17
slide17

西文版/国际版

中文版

RedHat Linux

Mandrake Linux

Debian GNU/Linux

Slackware Linux

SuSE Linux

Turbo Linux

Xteam Linux

红旗Linux

Turbo Linux 中文版

BluePoint Linux

Linux 发行套件

  • Linux 发行套件(Distribution) :以Linux Kernel为核心,搭配各种应用程序和工具。
  • 目前有200余种Linux Distribution
  • 常见的Linux Distribution
linux shell
Linux Shell
  • Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器)
  • 它接收用户输入的命令并把它送入内核去执行
  • 目前主要有下列版本的Shell有:
    • Bourne Shell:是贝尔实验室开发的。
    • BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。
    • Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
    • C Shell:是SUN公司Shell的BSD版本,常用于嵌入式。
slide19

Linux 文件系统

  • 文件系统是文件存放在磁盘等存储设备上的组织方法。
  • 主要体现在对文件和目录的组织上。
  • Linux采用统一的树型结构的文件系统
  • 在Linux文件系统下可以。
    • 切换目录、访问文件
    • 设置目录和文件的权限
    • 设置文件的共享
  • Linux支持多种类型的文件系统。
linux3
Linux的应用
  • Linux的应用领域
    • Linux服务器 (中低端的应用服务器)
    • 嵌入式Linux系统 (信息家电、智能仪表)
    • 桌面市场(办公软件、电子政务)
  • 典型应用
    • Titanic:特效 -> 350台SGI及160台DEC Alpha工作站,运行Red Hat 4.1
    • Linux超级电脑:Los Alamos National Laboratory利用70台DEC Alpha 533Mhz,128M内存, 3G硬盘的计算机,运行Red Hat 5.0,造价15万美元,运算速度类似SGI Origin 2000(造价180万美元)
slide21

学习Linux之前应该掌握的概念

  • 磁盘及分区
  • 理解Linux文件系统标准
  • 掌握Linux下设备的使用方法
  • 理解LILO和GRUB的用途
  • 普通用户与超级用户
  • 比较字符工作方式和图形工作方式
slide23

Linux常用分区类型

  • Linux native主分区:用于存放文件系统
  • Linux native类型:Ext2、Ext3
  • Swap:暂时存储数据的交换分区 ,弥补内存不足,一般来说是物理内存的1~2倍。
slide24

配置名称

说 明

/dev/hda

/dev/hdb

IDE 1的Master/Slave硬盘/光盘

/dev/hdc

/dev/hdd

IDE 2的Master/Slave硬盘/光盘

/dev/sda

/dev/sdb

第一,第二个SCSI硬盘

/dev/scd0

/dev/scd1

第一,第二个SCSI光驱

硬盘/光驱对照表

slide25

/

/bin

/usr

/sbin

/etc

/tmp

/lib

/var

/home

/opt

/boot

named

httpd

ftp

bin

local

src

rc.d

rc3.d

rc5.d

init.d

bin

etc

pub

Linux文件系统标准结构

slide26

Linux各分区功能

  • /boot系统启动过程中所要用到的文件
  • 注意:如果想用lilo启动red hat linux系统的话,含有/boot的分区必须完全在柱面1023以下。又由于8gb后的数据lilo不能读取,所以red hat linux要安装在8gb的区域以内。
  • /usr分区,系统存放软件的地方
  • /home分区,是用户的home目录所在地,
  • /var/log分区,是系统日志记录分区
slide27

Linux各分区功能

  • /dev分区,存放设备文件。 
  • /opt分区,存放可选的安装的软件。 
  • /sbin分区,存放标准系统管理文件。
  • /tmp分区,用来存放临时文件
  • /bin分区,存放标准系统实用程序。 
  • /etc目录,存放系统配置文件
slide28

LILO与GRUB简介

  • LILO全称为LInux Loader
  • GRUB全称为GRand Unified Boot loader
  • 是位于硬盘引导扇区的一个小程序
  • 是引导Linux系统内核的最常见的方式
  • 可以用来引导多个操作系统
  • 可以同时支持多个不同的系统内核映像。
  • 为每个系统内核映像提供了密码保护。
  • 支持位于不同磁盘和分区中的引导扇区、映象文件和启动映像。
slide29

安装多系统的顺序

  • 1、Windows98
  • 2、Windows2000
  • 3、WindowsXP
  • 4、Linux

… …

slide30
普通用户与超级用户
  • Linux是一个多用户多任务的操作系统,在同一时刻可以有多个用户使用系统。可以将用户大致分为两类,即普通用户和超级用户。
  • 普通用户可以在其权限许可的范围内使用系统资源,而超级用户(用户名为root)不仅可以使用系统中的所有资源而且可以管理系统资源。
  • 除了用户的概念之外,Linux中还有组的概念。组是若干个用户的逻辑集合。
linux4
Linux的运行方式
  • 命令行(字符运行)方式
    • 本地虚拟终端
    • 使用Telnet远程登录
    • 使用SSH远程登录
  • 图形运行方式
    • 本地使用KDE/Gnome集成环境
    • 运行X Server远程使用图形环境
slide32

Linux的安装

本节要点

  • 获取和安装方式
  • 安装前的准备工作
  • 系统使用初步
slide33

获取方式和安装方式

  • 获取方式
    • 下载发布版本
    • 购买发布版本
  • 安装方式
    • 本地安装
      • 本地光盘安装
      • 本地硬盘安装
    • 远程网络安装
      • FTP
      • NFS
      • HTTP
slide34

安装Linux前的准备

  • 了解Linux支持的硬件
  • 光盘启动安装不需要任何准备
  • 本地硬盘安装和网络安装需要制作启动盘
    • Boot.img
    • Bootnet.img
    • boothd.img
slide35

启动盘的制作

  • 在Red Hat Linux9安装光盘中的dosutils目录中有一个程序:rawrite.exe
  • 一、在dos下(或windows中的命令方式下)运行rawrite,按提 示选择在光盘中的images中的某个映象文件和软驱。
  • 二、在Linux下运行命令:
    • dd if=boot.img of=/dev/fd0 bs=1440k
slide36

安装及图形界面使用

  • 虚拟机VMware5.0简介
  • 使用虚拟机安装Fedora core 4/5
slide37
系统虚拟控制台及其切换
  • 系统提供多个虚拟控制台
  • 切换各个虚拟控制台
    • 字符界面 Alt + F1-F7
linux5
Linux的系统运行级

0 - 系统停机状态

1 - 单用户工作状态

2 - 多用户状态(没有NFS)

3 - 多用户状态(有NFS)

字符方式的默认运行级

4 - 系统未使用,留给用户

5 - X11控制台(xdm,gdm或kdm)

6 - 系统正常关闭并重新启动

slide39
文件类型
  • 普通文件
    • 文本文件
    • 二进制文件

可执行程序,声音,图像文件

  • 目录文件
  • 链接文件
    • 硬链接
    • 软链接
  • 特殊文件
slide40
特殊文件
  • 设备文件
    • /dev/ttys1:标准终端
    • /dev/hda:第一块IDE硬盘
  • 管道文件
    • 例:用户使用lp打印一个文件时,lp建立打印进程并向一个管道发送信息
shell
Shell的重要功能
  • 命令行解释
    • 交互模式(interactive)
    • 后台运行(run commands in the background)
  • 命令的多种执行顺序
  • 命令替换 (` `)
  • I/O重定向(Input/output redirection)
  • 管道(pipes) |
  • 通配符(wild-card characters)
  • 系统环境维护
  • Shell Script
slide42
命令规则、路径和文件
  • 命令规则
    • 命令动词 [参数] [操作对象]
  • 路径
    • 绝对路径
    • 相对路径
  • 文件
    • 命名规则
slide43
文件通配符
  • *

匹配多个字符

匹配单个字符

  • [abc]

匹配abc中任意一个字符

  • [!abc]

匹配abc之外的任意一个字符

slide44
登录、注销、关机
  • 系统登录和注销的方法
    • 登录系统( login)
    • 注销登录( logout 或 exit)

注:系统中任何用户均可使用

  • 系统关机和重启的方法
    • 关机( halt)
    • 重新启动( Reboot )

注:只有超级用户可用

linux 1
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
slide46
ls
  • 用法:ls 参数:
    • -a:显示所有文件,包括隐藏文件(以.开头的文件)
    • -l:以长格式显示
    • -F:在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;

“/”表示目录;“@”表示符号链接;

“|”表示FIFOs;“=”表示套接字(sockets)。

slide47

ls

    • -d:将目录象文件一样显示,而不是显示其下的文件
    • -t:按修改时间先后显示
    • -R:显示目录及下级子目录结构
    • -m:  横向输出文件名,并以“,”作分格符。
    • -S:  以文件大小排序。
  • 范例:
    • ls –a
    • ls –alR
    • ls -F
slide48
用颜色代表不同文件
  • 蓝色:目录
  • 绿色:可执行文件
  • 红色:压缩文件
  • 浅蓝色:链接文件
  • 灰色:其他文件
touch
touch
  • 作用:生成一个空文件或修改文件的时间
  • 范例:
    • touch * :将当前目录下所有文件时间修改为当前系统时间
    • touch –d 20010602 test:将文件test的时间修改为20010602
    • touch test2:如果abc存在,则修改为当前系统时间,如果不存在,则生成一个为当前时间的空文件
cp copy file
cp – copy file
  • 用法:cp –afpx source target
    • -a:尽可能保持文件的结构和属性
    • -p:保持原始文件日期
    • -f :如果目标文件已经存在,则覆盖它
    • -i :提示是否覆盖现有的普通目标文件
    • -R:包含子目录
  • 范例:
    • cp ls.txt mydir1
    • cp -a mydir1 mydir2
    • cp /etc/syslog.conf ./
    • cp -a /etc/sound/ /home/so/
mv move file
mv – move file
  • 用法:mv –b source target
    • -b:给被覆盖的文件建立一个备份
  • 范例:
    • mv abc bcd
    • mv abc mydir/
    • mv -b abc mydir/
rm remove
rm – remove
  • rm –irf 文件或目录
      • i:交互模式
      • r:删除目录及以下所有内容
      • f:强制删除
  • 注意:
    • Root用户在删除文件时要特别小心
    • 权限问题
cd change directory
cd – change directory
  • 用法:cd [目录]
  • 作用:切换路径
  • 范例:
    • cd ..
    • cd .
    • cd ~
    • cd /
    • cd ../usr
pwd print work directory
pwd – print work directory
  • 用法:pwd
  • 作用:显示当前工作目录
  • 范例:配合cd
slide55
创建和删除目录
  • mkdir
    • 用法: mkdir 目录名
    • 作用:创建目录新的目录
    • 范例:mkdir abc
  • rmdir
    • 用法: rmdir目录名
    • 作用:删除空目录
    • 范例:rmdir abc
slide56
file
  • file 文件名
  • 查看文件内型
  • (后面会介绍)
cat more less
cat 、more、 less
  • cat:输出文本文件内容(文本文件合并)
  • 范例:
    • cat tt.txt
    • cat txta txtb > txt
  • more:按页显示文件
  • 范例:more tt.txt
  • less:按页显示文件,可以使用翻页键
  • 范例:less tt.txt
head tail
head、tail
  • head:显示文件的前?行
  • 范例:head –20 /etc/passwd
  • tail:显示文件的后?行(默认是10行)
  • 加-f参数,会实时的监视某程序
  • 范例:
    • tail –20 /etc/passwd
    • Tail +20 /etc/passwd (模2除后再到结尾)
sort paste
sort 与 paste
  • sort:将文本文件排序
  • 范例
    • sort passwd
    • sort –n test :将test按照数字大小排序
    • sort test1 test2 test3:将文件test1,test2,test3的内容联合排序
    • -o filename 把结果保存在filename中
    • -u 不显示重复的行
  • paste:将不同文件合并
  • 范例

paste test1 test2 > test3

slide60
文件的硬链接
  • 相当于一个文件的两个副本,指向同一数据存储区
  • 特点:
    • 两个文件,长度相等,总长度不变
    • 删除其中一个文件,另一个仍然存在
    • 修改其中一个文件,另一个也修改
slide61
文件的符号链接
  • 相当于一个文件的快捷方式
  • 特点:
    • 仅保存一个指针,长度小于原文件
    • 删除符号链接,不影响原文件
    • 删除原文件,符号链接即没有意义
ln link
ln 命令– link
  • 功能:产生链接文件
  • 用法:ln –s 来源文件 目标文件
    • 加-s参数:symbolic link
    • 不加-s参数:hard link
  • 范例:
    • ln –s /bin/less /usr/bin/less
    • ln myfile mylinkfile
which
which
  • 查找内部命令的完整路径和别名
  • Which
whereis where is file
whereis – where is file ?
  • 作用:查找文件或目录位置
  • 说明:whereis并不进行磁盘级的查找,只是在$PATH所设定的路径中去查找
  • 范例:whereis ls
slide65
find
  • 作用:查找文件或目录
  • 用法:find 查找路径 匹配条件
  • 动作 常用匹配条件
  • - type d表示目录f表示文件l表示链接b块文件p管道文件
    • name ‘字符串’
    • iname ‘字符串’ 不区分大小写
    • user 用户名
    • group 组名
    • perm xxxx
    • size n
    • atime n 过去n天被访问过的
    • mtime n 在过去n天中被修改过的
slide66
find的范例
  • find . -name ls.txt
  • 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,updatedb
  • locate
    • 作用:查找文件或目录
    • 范例:locate l1.txt
    • 注意:不是从磁盘空间上查找,而是从

updatedb产生的文件中查找

  • updatedb
    • 作用:更新资料库
    • 说明:以root身份登录后才可以执行
slide68
grep
  • 功能:在文件中查找匹配的字符串
  • 格式:grep [参数] “待查字符串” 文件
    • -v 反向匹配
    • -w 完整匹配
    • -i 忽略大小写
    • -c 只显示有几行符号要求
    • -n 在显示行前标上在文档中的行号
slide69
使用简单的正则表达式
  • .任意一个字符
  • *匹配字符的零次或多次出现
  • [a-z]a到z的任意字符一个
  • ^a以字母a开始的行
  • a$以字母a结束的行
slide70
在grep中使用正则表达式
  • $ grep ‘[Ff]leas’ fleas
  • $ grep -c ‘.’ fleas
  • $ grep -n ‘.*’ fleas > fleas.num
  • $ grep -i ‘and’ fleas
  • $ grep -w ‘on’ fleas
slide71
wc
  • wc 选项 文件
  • 统计文件中的行数、单词数、字符数
    • -c:显示字节数
    • -w:显示单词数
    • -l:显示行数
linux 2
Linux常用命令 2
  • 信息显示命令
    • dmesg
    • file
    • who w whoami
    • hostname uname
    • du df free
dmesg
dmesg
  • 功能
    • 显示机器引导时内核显示的状态信息
  • 参数
    • -c :显示出状态后删除这些信息
  • 用法
    • dmesg
slide74
file
  • file
    • 功能:测试文件类型
    • /usr/share/magic.mime保存文件类型
  • 参数
    • -b:不显示文件名
    • -f filename:用一个文件,文件保存的每一行作为文件去检查
    • -k :搜索到第一个匹配项不停止
    • -z :检查压缩文件中的每一个文件
    • -s /dev/hd*:检查分区系统类型
    • 范例
      • file *
      • file –s /dev/hda2
slide75
who
  • who功能
    • 查看其他登录的用户
  • 参数
  • -b:系统最后启动时间
  • -a:显示所有信息
  • -H:显示项目标头
  • -r:查看系统运行等级
  • -w,在登录帐号后面显示一个字符来表示用户的信息状态:
    • +:允许写信息;-:不允许写信息;?:不能找到终端设备。
  • -q:统计当前有多少用户登录系统
slide76
who
  • 输出的通用格式如下:name [state] line time [idle] [pid] [commnet] [exit] name用户的登陆名 state写到终端的能力 line在/dev中找到的行名 time自从用户登陆所用的时间 idle自从用户最后一次活动所经历的时间 pid用户的进程ID commnet注释行 exit已死进程的退出状态
slide77
W
  • w功能
    • 查看其他登录的用户(who增强版)
  • 第一行输出内容:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1秒、5秒和15秒的平均负载
  • 第二行输出内容:登录帐号、终端名称、远程主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。
  • *JCPU时间指的是和该终端(tty)连接的所有进程占用的时间
  • *PCPU时间则是指当前进程(即在WHAT项中显示的进程)所占用的时间
whoami
whoami
  • whoami的功能
    • 查看登录用户自己的信息
  • whoami使用范例
    • whoami
whoami who am i
whoami 和who am i区别
  • who am i与whoami的区别:
    • whoami显示effective current username(即通过su username1之后, 显示的是username1);
    • who am i显示的是original username(即在使用su命令之前的username)。
hostname
hostname
  • hostname
    • 查看主机名 (根据/etc/hosts文件显示)
  • 参数
    • -a:显示系统别名
    • -d:显示系统域名
    • -f: 显示FQDN名
    • -i:显示本机IP地址(127.0.0.1)
uname
uname
  • uname
    • 显示系统信息
  • 参数
    • -s:显示内核名
    • -r:显示内核版本
    • -i:显示硬件平台
    • -p:显示处理器内型
    • -o:显示操作系统内型
slide82
du
  • du
    • -c: 统计大小用K表示
    • -b: 用Byte表示
    • -s: 统计整个目录所占空间
    • --max-depth=N,显示几级目录
    • 报告指定的文件(目录)已使用的磁盘空间的总量
slide83
df
  • df
    • 报告文件系统磁盘空间的使用情况
    • -h:更人性化显示
    • -i: 显示节点信息
    • -l: 显示本地文件系统信息
    • -t filesystem type: 显示指定类型的文件系统信息
slide84
free
  • free
    • 查看当前内存和交换空间的使用情况
    • -t:显示总的内存信息(物理内存+虚拟内存)
    • -s N:实时监视内存,延迟N秒显示信息

*根据/proc/meminfo文件分析的结果

slide85
提高工作效率
  • 自动补全
  • 命令别名
  • 命令历史
  • 复制和粘贴
alias
命令别名(alias)的使用
  • 命令别名(alias)的使用
  • 作用:设置命令别名
  • 范例
    • alias mybin=“cd /usr/bin”
    • alias  显示系统中现有的别名
    • unalias mybin  删除系统中的别名
slide87
命令历史
  • !:回忆Shell的历史记录(正序)
    • ! 2 第2条命令
    • !! 上次执行的命令
    • ^34^3:修正上次命令的键入错误,343
  • history :查看命令的历史记录
    • $ history
    • $ history –w my_old_cmd (保存)
    • $ history –c (clear)
  • fc:编辑命令历史记录
    • $ fc
    • $ fc –l
    • $ fc –nl
shell1
Shell的高级使用
  • 重定向
  • 管道
  • 命令替换
  • 命令执行顺序
slide89
重定向

输出重定向

错误输出重定向

输入重定向

> 、>>

2> 、&>

< 、<<

slide90
管道
  • 管道:将一个命令的输出传送给令一个命令,

作为另一个命令的输入

  • 使用方法:命令1|命令2|命令3……|命令n
  • 使用举例:
    • $ ls –Rl /etc |more
    • $ cat /etc/passwd | wc
    • $ cat /etc/passwd | grep lrj
    • $ ps –aux |tail +10 |more
slide91
命令替换
  • `cmd`
  • $(cmd)
  • 例如:
    • $wall `date`
    • $cd `pwd`
linux 3
Linux常用命令 3
  • 用户通信与网络命令
    • write wall telnet mail ftp
write wall mesg
write wall mesg
  • write
    • 向另外一个用户发信息。以CTRL+D作为结束
    • 使用举例 $ write webmaster
  • wall
    • 向所有用户广播信息。
    • 格式
    • wall [message]
    • $ wall Happy new year!
slide94
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
Linux常用命令 4
  • 其他命令:
  • clear
  • wc
  • date p5
  • bc
  • cal
  • su passwd
  • help man
telnet
telnet
  • telnet 站点名 [端口号]
clear
clear
  • clear
    • 功能:清屏
    • 用法: clear
date clock
date和clock
  • date
    • 功能:显示和更改系统日期
    • 显示:date [参数]
    • 设置: date 月月日日时时分分年年年年.秒秒
    • date –r 文件名:显示此文件最后一次修改时间
    • 举例:
      • $ date \'+DATE:%m/%d/%y%nTIME:%H:%M:%S\'
      • # date \'+%j%t%U\'
      • # date –s 20011109
      • # date –s 09:29:30
  • clock
    • # clock -w 将系统时间写入CMOS
    • # clock -s 根据CMOS时间自动设置系统时间
slide99
cal
  • cal
    • 功能:显示日历
    • 用法:cal [参数] 月 年
      • -3:显示前/现/下三个月的表格
      • -m:把星期一放在第一列显示
      • -j :显示在本年中的第多少天
    • 举例:
    • $ cal –j 2001
    • $ cal 1752
slide100
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 和 passwd
  • su
    • 功能:切换登录用户
    • 用法:su [用户名]
    • 举例:
  • passwd
    • 功能:更改用户密码
    • 用法:passwd [用户名]
    • 举例:
help man
help和man
  • help
    • 用于查看Linux内置命令的帮助信息。
    • 使用举例
    • $ help
    • $ help echo
  • man
    • 列出指定命令的帮助手册
    • man ls
slide103
文本编辑器-Vi
  • 理解Vi的三种运行模式
  • 学会进入插入模式
  • 学会在编辑模式下操作
  • 学会在命令模式下操作
slide104
概述
  • vi是个UNIX下面的缺省的可视化的编辑器
  • vi是威廉.侨伊写的,作为BSD UNIX的一部分. 后来AT&T也开始用vi, 于是标准UNIX也开始采用. 
  • 特点:
    • vi是个强大的编辑器
    • vi非常小
    • vi有些繁琐
22 3 1 vi
22.3.1 Vi及其三种运行模式
  • l命令模式(Command mode):
  • 任何时候,不管用户处于何种模式,只要按一下Esc键,即可使vi进入命令模式;我们在shell环境(提示符为$)下输入启动vi的命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的vi命令,对文档进行一些操作(如删除单个字符,删除一行字符,删除一个区块等)。在这种模式下,从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的vi命令,则vi在接受用户命令之后完成相应的操作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是vi的合法命令,vi会响铃报警。
  • l文本输入模式(Insert mode):
  • 在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按Esc键即可。
  • 末行模式(Line mode):
  • 在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行显示一个“:”作为末行模式的提示符,等待用户输入命令。多数对文件操作命令都是在此模式下执行的(如查找、替换文本中的某个字符串)。末行命令执行完后,vi自动回到命令模式。
slide106
常用命令涉及的单词或字符
  • w:write or word r:read
  • b:begin h:home
  • d:delete u:undo
  • p:paste i:insert
  • q:quit a:append
  • m:middle l:last
  • $:尾 ^:头
  • s:stick
slide107
Vi 的基本操作
  • 进入插入模式
    • 基本命令:i, a, o
  • 从插入模式返回编辑模式
    • insert
  • 命令模式下的基本操作
    • :w filename
    • :wq
    • :q :q!
    • ZZ
slide108
Vi命令的数字前缀
  • I 在关标位置开始插入字符,结束时按ESC键。I 在光标所在行的最前面开始加字,结束时按ESC键。a 在光标位置后开始加字,结束时按ESC键。A  在光标所在行的最后面开始加字,结束时按ESC键。o 在光标下加一空白行并开始加字,结束时按ESC键。O 在光标上加一空白行并开始加字,结束时按ESC键。!command执行shell指令,并把结果加在光标所在行的下一行。
slide109
vi定位命令
  • Shift+h(H):光标移到屏幕的第一行
  • Shift+m(M):光标移到屏幕的中间行
  • Shift+l(L):光标移到屏幕的最后一行
  • Ctrl+b:向上移动一屏
  • Ctrl+f:上下移动一屏
  • Ctrl+d:向下半页
  • Ctrl+u:向上半页
  • G:文件的最后
slide110
vi定位命令
  • <Home>:到行首(或^、0)
  • <End>:到行未(或$)
  • :number:指定到某一行
  • w:向后移动一个单词
  • b:向前移动一个单词
slide111
vi编辑命令—删除
  • d l 删除当前字符(与x命令功能相同)d 0 删除到某一行的开始位置d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符)
  • d w 删除到某个单词的结尾位置d 3 w 删除到第三个单词的结尾位置d b 删除到某个单词的开始位置
  • d } 删除到某个段落的结尾位置
  • d { 删除到某个段落的开始位置
  • (段落以一空行分隔)
slide112
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 删除直到工作缓存区开始的内容 (文头)
slide113
vi编辑命令—删除
  • nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)nX  删除由光标位置起始的n个字符(不含光标位置)
slide114
vi编辑命令—修改
  • c l 更改当前字符c w 修改到某个单词的结尾位置c 3 w 修改到第三个单词的结尾位置c b 修改到某个单词的开始位置
  • c 0 修改到某行的结尾位置c) 修改到某个语句的结尾位置c 4) 修改到第四个语句的结尾位置
  • c( 修改到某个语句的开始位置
  • c } 修改到某个段落的结尾位置c { 修改到某个段落的开始位置c 7 { 修改到当前段落起始位置之前的第7个段落位置
slide115
vi编辑命令—修改
  • c tc 修改当前行直到下一个字符c所出现位置之间的内容
  • C 修改到某一行的结尾
  • c c 修改当前行
  • 5 c c 修改从当前行所开始的5行内容
slide116
vi编辑命令—替换
  • s或c l替换当前字符
  • S 将当前行替换为一个或多个字符
  • 5 s 将从当前字符开始的5个字符替换为一个或多个字符r 修改光标文件的字符R从光标位置开始修改,结束时按ESC键
slide117
vi编辑命令—复制、剪切、粘帖
  • yy或Y 可以把一行文本拷贝到寄存器中
  • dd 剪切一行
  • P或p 粘贴一行
  • 寄存器:可以存放剪切和拷贝下来的东西的地方 ,
  • 只要有一个删除命令的话,寄存器中的东西就没有了
slide118
vi编辑命令--撤销
  • u可以撤消你刚才的操作
  • U可以撤消你对当前行的修改
slide119
vi编辑命令—替换和查找
  • :/string 查找string,n是查找下一处
  • :%s/string1/string2/g 在整个文件中替换“string1”成“string2”
  • :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
  • :%s/$/some string/g 在整个文件每一行的行尾添加“some string”
  • :%s/^/some string/g 在整个文件每一行的行首添加“some string”
  • %s:表示当前文件所有行,g表示global(所有都替换)i(不区分大小写)c(每次替换确认)
slide120
vi编辑命令—宏
  • :map <lhs> <rhs> ,以后在命令状态下输入lhs就会运行<rhs>的命令
  • :unmap <lhs>取消某宏
  • :map #n <rhs> 将Fn功能键定义成宏
slide121
vi编辑命令—缩写
  • :ab <lhs> <rhs>,以后在编辑状态下输入lhs就会出现rhs字符串
  • :unab <lhs>取消某缩写
slide122
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
slide123
vi编辑多个文件
  • vi filename1 filename2 …..filenameN
  • :args 显示编辑名单中的各个文件名:n读入编辑名单中的下一个文件:rew读入编辑名单中的第一个文件:e# 读入编辑名单内的前一个文件:e file 读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则应先以: w 存档。 :e! file强迫读入另一个文件进入vi,原文件不作存档动作。
slide124
vi编辑命令—高级复制
  • :first,last co dest 
    • 将first 到last行的数据复制到目标行(dest)下面
  • :start,end m dest
    • 将start 到 end行的数据移动到目标行(dest)下
  • nY  
    • 将光标所在位置开始的n行数据暂存
slide125
vi高级用法
  • Ctrl+”[“或ctrl+”3” 回到命令态
  • CTRL+”s” 冻住vi,Ctrl+”q”解开
  • :r 插入文件
  • “d”+光标的上下左右,可删除两行或一字符
  • :sh 暂时退出vi到系统下,结束时按Ctrl + d则回到vi。
  • :X 保存后加密(用户输入密码)
  • J 上下两行合并 
  • :[m],[n]w  <文件名>可以将从第m行到第n行之间的文本保存到<文件名>所指定的文件中. 
  • :g/^/m0/  倒写文档
  • :f 或<Ctrl> + g 告诉用户有关现行编辑文件的数据。
slide126
vi高级用法
  • :g/^/m0/  倒写文档
  • :f 或<Ctrl> + g 告诉用户有关现行编辑文件的数据。
  • vi –r 恢复系统崩溃
  • :r !<命令>  把<命令>的输出插入到当前文本中 
  • :so <文件>  读取<文件>,再执行文件里面的命令
  • . 重复前一指令
  • :so <文件> 读取<文件>,再执行文件里面的命令
slide127
账户管理与操作权限
  • 账户管理配置文件族
  • 用户的添加和删除
  • 组的添加和删除
  • 设置操作权限
slide128
账户系统文件
  • 口令文件
    • /etc/passwd
  • 影子口令文件
    • /etc/shadow
  • 组文件
    • /etc/group
etc passwd etc shadow
/etc/passwd &/etc/shadow
  • 结构:
  • username:passwd:UID:GID:fullname:home-dir:shel
  • username:passwd:last:may:must:warn:expire:reserved
slide130
与用户管理相关的文件或目录
  • 用户配置文件
    • /etc/login.defs
    • /etc/default/useradd
  • 新用户基本信息
    • /etc/skel
    • 如果手工创建,则需复制该目录到用户目录
etc default useradd
/etc/default/useradd
  • GROUP=100 默认组ID是100,在禁止默认的私有组时有用
  • HOME=/home 用户主目录顶层目录
  • INACTIVE=-1 当口令到期后,帐号变成非激活,-1表示永远激活
  • EXPIRE =MM/DD/YY 帐号将被禁止多长时间
  • 注:后两项要确保系统使用shadow口令
slide132
用户分类(以UID划分)
  • root:管理员
    • uid,gid=0
  • 普通用户
    • uid>500
  • 伪用户(pseudo user):无shell(uid:1-500)
    • bin
    • sys
useradd
使用 useradd命令添加用户
  • useradd –g group1 –e 12/31/2001 u1
  • passwd u1
  • 常用参数
    • u:uid
    • g: group
    • d:dir(用户目录)
    • s:shell
    • c:附加信息
    • e:登录失效时间
    • M:不建立用户目录
slide134
成为超级用户
  • 把用户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---一个优秀的样式扫描与处理工具
slide135
组及其分类
    • 组是若干个用户的逻辑集合。
  • 组分为
    • 私有组
      • 当在创建一个新用户user时,若没有指定他所属于的组,系统就建立一个和该用户同名的私有组。
    • 标准组
      • 标准组可以容纳多个用户,若使用标准组,在创建一个新的用户时就应该指定他所属于的组。
slide136
修改用户账户
  • 手工修改账户文件
  • 使用usermod命令
    • usermod –l uu1 –d /home/uu1 –g gg1 u1
    • 将用户u1的登录名改为uu1,加入到gg1组中,用户目录改为uu1
    • 注意: 1. 被修改后的家目录必须事先存在

2. 修改后要确认并更改家目录的权限

    • usermod -G softgroup jjh
    • 将用户jjh添加到softgroup标准组中
slide137
修改用户帐号
  • 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
slide138
禁用和恢复用户账户
  • 禁用
    • # usermod –L username
    • # passwd –l username
  • 恢复
    • # usermod –U username
    • # passwd –u username
slide139
禁止用户登录
  • 在/etc/passwd或/etc/shadow中的密码域前加上*或!!可暂时禁止某一用户登录
  • 在/etc/中创建nologin文件,包含说明原因,可阻止除root的所有用户登录(不适合于远程登录管理)
userdel
用userdel删除用户账户
  • userdel –r u1
    • -r:删除用户目录
  • 分析userdel的过程
    • 从账户文件中移去用户表项
    • 删除用户家目录
slide141
组的管理和使用
  • groupadd –g 888 group2
    • 创建一个组group2,其GID为888
  • groupdel group2
    • 删除组group2
  • groupmod –n group2 group22
    • 修改group2组名为group22
slide142
组的管理
  • 设置群组密码
  • gpasswd [option] [user][group]
    • -a:将用户添加入group组
    • -d:将用户从group中删除
    • -r:取消群组密码
slide143
在用户组间切换
  • groups [username]
  • 查看当前用户属于哪些组
  • newgrp [group]
  • 切换到某组运行(必须已属此组)
slide144
用户、组及权限
  • 用户只能不受限制的操作自家目录及其子目录下的所有内容
  • 系统中其他目录的访问受到限制
    • 同组
    • 其他人
slide145
文件和目录的操作权限
  • 文件和目录的使用者
    • 超级用户
    • 文件或目录的属主
    • 属主的同组人
    • 其他人
  • 对每一类使用者设置对文件的操作权
    • 读(r)
    • 写(w)
    • 执行(x)
slide146

代表字符

权限

对文件的含义

对目录的含义

r

读权限

可以读文件的内容

可以列出目录中的文件列表

W

写权限

可以修改该文件

可以在该目录中创建、删除文件

X

执行权限

可以执行该文件

可以使用cd命令进入该目录

文件和目录的三种访问权限
2 3 4

数字

代表的权限

0

没有权限

1

Excute

2

Write

4

Read

3

1+2 excute+write

5

1+4 excute+read

6

2+4 write + read

7

1+2+4 read+write+excute

文件权限的数字表示法(2,3,4位)
slide148

数字

代表的权限

1

Sticky bit(在内存中保存镜像)

2

Group ID bit

4

User ID bit

3

1+2

5

1+4

6

2+4

7

1+2+4

文件权限的数字表示法(第1位)
slide149
对文件权限的文字设定法
  • 权限字符
    • r(读)
    • w(写)
    • x(执行)
  • 设定方法
    • + :增加权限
    • - :删除权限
    • = :分配权限,同时删除旧的权限
chmod

命令

作用

权限

chmod 751 a1.txt

a1.txt文件所属用户可以读,写和执行,所属群组可以读取及执行,其他用户只能读取

-rwxr-xr--

chmod 444 a1.txt

所有用户都具有只读权限

-r—r—r--

chmod 4755 a1.txt

设置GID bit,所属用户可以读,写和执行,所属群组和其他用户可以读取和执行

-rwxr-xr-x

chmod
  • 作用:改变文件或目录的权限
  • 范例:
chown
chown
  • 功能:改变文件或目录的属主(所有者)
  • 范例:
    • chown lrj file1 (将文件file1的所有者改为lrj)
    • chown –R lrj mydir1/ (将目录mydir1中所有文件的所有者改为lrj)
    • chown –h lrj wtb (改变链接文件所有者,但不改变原文件)
    • 注:只有root用户修改,或文件的所有者改变文件的所有组为它另一所属的组
chgrp
chgrp
  • 作用:改变文件或目录所属组
  • 范例:
    • chgrp users file1
    • (改变文件file1的所属群组为users)
    • chgrp –R ftpusers mydir1/
    • (将目录mydir1所有文件的所属群组改成ftp)
umask
umask
  • 功能
    • 设置文件的缺省生成掩码。缺省的生成掩码告诉系统当创建一个文件或目录时不应该赋予其哪些权限。
  • 格式
    • umask xxx
    • 其中xxx表示的是不允许有的权限。
      • $ umask 022
      • 表示不允许同组用户和其他用户有写权限。
      • $ umask
      • 显示当前的缺省生成掩码。
linux6
Linux网络基础
  • 在使用Internet之前对TCP/IP有一个大致的了解:
    • 什么是Internet
    • Internet的由来和发展历程
    • Internet提供的主要服务有哪些
    • Internet的应用
tcp ip
TCP/IP协议
  • TCP/IP协议最初是为支持ARPANET(一个美国国防部资助的试验性网络)上计算机进行数据通讯而设计的。在经证实成功以后,于1975年转入正常运行。在ARPANET中提出的一些网络概念,如,包交换(又称为分组交换)和协议分层(上层协议使用其下层协议提供的服务)对后来的计算机网络技术的发展产生了深远的影响。ARPANET于1990年停止使用, 取而代之的是在ARPANET的基础上迅速发展起来的Internet。
tcp ip1

(ftp、http…)

(DNS、SMTP…)

应用层

TCP

UDP

传输层

Internet Protocol、ICMP…

网际层

NIC drivers…

网络接口层

TCP/IP分层模型与协议族
internet ip
Internet 网际协议(IP)
  • IP地址
  • 在TCP/IP网络中,每个主机都有唯一的地址,它是通过IP协议来实现的。IP协议要求在每次与TCP/IP网络建立连接时,每台主机都必须为这个连接分配一个唯一的32位地址,因为在这个32位IP地址中,不但可以用来识别某一台主机,而且还隐含着网际间的路径信息。需要强调指出的,这里的主机是指网络上的一个节点,不能简单地理解为一台计算机,实际上IP地址是分配给计算机的网络适配器(即网卡)的,一台计算机可以有多个网络适配器,就可以有多个IP地址,一个网络适配器就是一个节点。
  • IP地址为32位地址,一般以4个字节表示。每个字节的数字又用十进制表示,即每个字节的数的范围是0~255,且每个数字之间用点隔开,例如:192.168.101.5,这种记录方法称为“点-分”十进制记号法。IP地址的结构如下所示:

网络类型

网络号

主机号

slide158
IP地址的分类
  • A类地址:可以拥有很大数量的主机,最高位为0,紧跟的7位表示网络号,其余24位表示主机号,总共允许有126个网络。
  • B类地址:被分配到中等规模和大规模的网络中,最高两位总被置于二进制的10,允许有16384个网络。
  • C类地址:被用于局域网。高三位被置为二进制的110,允许大约200万个网络。
  • D类地址:被用于多路广播组用户,高四位总被置为1110,余下的位用于标明客户机所属的组。
  • E类地址:保留供试验用的地址。
ip ip
内部(私有)IP地址与保留的IP地址
  • 因特网地址管理局(Internet Assigned Numbers Authority,IANA)在 A、B和C类地址中保留了一些网络号,处于这些网络中的IP地址(内部地址)无需注册就可以使用。这些地址只在内部网络中有效,而且(理论上)不会路由到实际的因特网站点中(即,对内部网以外的主机是不可见的)。这些保留的网络号如下:
    • A类中的保留的网络号: 10.0.0.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.255.254)。所有这些地址被保留作回路及诊断功能,例如经常使用命令ping127.0.0.1测试网卡是否工作正常。
    • ② 主机号的各位均为1的地址。这些地址被协议定义为网内的广播地址,而不再作为一个主机号。
    • ③ 主机号的各位均为0的地址。这些地址被作为网络的网络地址来使用。
    • ④ IP地址各位全为0(即0.0.0.0),指当前主机。
    • ⑤ 以零开头的地址表示当前网络中的本地节点。例如,0.0.0.23 指当前网络中的 23 号工作站。
slide160
子网及子网掩码
  • 子网是指在一个IP地址上生成的逻辑网络,它使用源于单个IP地址的IP寻址方案,把一个网络分成多个子网,要求每个子网使用不同的网络号,通过把主机号(主机号)分成两个部分,为每个子网生成唯一的网络号。一部分用于标识作为唯一网络的子网,另一部分用于标识子网中的主机,这样原来的IP地址结构变成如下三层结构:

网络地址部分

子网地址部分 主机地址部分

slide161
子网掩码是一个32位地址,它用于屏蔽IP地址的一部分以区别网络ID和主机ID;用来将网络分割为多个子网;判断目的主机的IP地址是在本局域网或是在远程网。在TCP/IP网络上的每一个主机都要求有子网掩码。这样当TCP/IP网络上的主机相互通信时,就可用子网掩码来判断这些主机是否在相同的网络段内。子网掩码是一个32位地址,它用于屏蔽IP地址的一部分以区别网络ID和主机ID;用来将网络分割为多个子网;判断目的主机的IP地址是在本局域网或是在远程网。在TCP/IP网络上的每一个主机都要求有子网掩码。这样当TCP/IP网络上的主机相互通信时,就可用子网掩码来判断这些主机是否在相同的网络段内。
slide162
具体的运算步骤如下:
  • 例如:192.168.101.5的二进制表示为 11000000 10101000 01100101 00000101B;子网掩码为255.255.255.0,其二进制值为11111111 11111111 11111111 00000000,则当192.168.101.5和255.255.255.0进行逻辑与运算:
  • 11000000 10101000 01100101 00000101
  • 11111111 11111111 11111111 00000000
  • 11000000 10101000 01100101 00000000
  • 所得出结果为11000000 10101000 01100101 00000000,其中非0的三个字节,即192.168.101为该网络号,剩余的字节(即5)为主机号。若该网络的另一台的IP地址为192.168.101.250,子网掩码也为255.255.255.0,则同样会得到网络ID为192.168.101,因此这两台主机在同一网段内。
slide163
IP路由
  • 路由是数据从一个节点传输到另一个节点的过程。例如,要出发到某地,一般先确定到达目的地的路线。在TCP/IP网络中,同一网络区段中的计算机可以直接通信,不同网络区段中的计算机要相互通信,则必须借助于IP路由。
  • 在TCP/IP网络中,IP路由器又叫IP网关。每一个节点都有自己的网关。IP报头指定的目的地址不在同一网络区段中,就会将数据报传送给该节点的网关,如果网关知道数据报的去向,就将其转发到目的地。每一网关都有一组定义好的路由表,指明网关到特定目的地的路由。网关不可能知道每一个IP地址的位置,因此网关也有自己的网关,通过不断转发、寻找路径,直到数据报到达目的地为止。
slide164
根据路由器采用的路由方式,IP路由分为静态IP路由和动态IP路由两种。路由方式决定了路由器如何获得路由信息(路由表中的表项)。根据路由器采用的路由方式,IP路由分为静态IP路由和动态IP路由两种。路由方式决定了路由器如何获得路由信息(路由表中的表项)。
  • 静态路由是IP协议的函数实现,需要系统管理员手工创建(/sbin/route命令)路由表并进行人工刷新。当网络变化导致路由改变时,静态方式的路由器并不通知彼此的变化,也不会与动态方式的路由器进行交换。
  • 动态路由是路由协议的函数实现,相关的协议如:路由信息协议RIP和开放式最短路径协议OSPF等。动态路由适用于大型网络,出于冗余/故障恢复的目的,通常安装了多个路由器,指向同一远程网络。根据路由设备之间所交换的信息动态地构造、更新路由信息。自动调节路由来适应不断变化的网络条件。缺点是设备间的路由信息交换会消耗相当大的带宽。Linux网络中采用的是静态和动态路由的组合。
slide165
ARP 协议
  • ARP(Address Resolution Protocol)协议的功能是实现将IP地址转换(解析)为物理地址。按照TCP/IP的分层分工的原则,在以太网(或其他类型的局域网)中,IP分组的传输实际上是将数据分组封装成为其下层(网络接口层)的通信单元—帧,并由网络接口层完成帧的传输,从而实现IP分组在局域网中的传输。数据帧的传输使用的是物理地址(MAC地址),物理地址是固化在网络接口卡中的地址(长度为48位,且全球唯一),常常也将物理地址称为网卡地址或硬件地址。以太网中,一个主机向另一主机(目标主机)发送IP数据分组时,所知道的只是目标主机的IP地址,因此在将IP分组封装成帧交由下层协议发送之前,必须首先将对方(目标)主机的IP地址映射为物理地址。将主机IP地址映射为物理地址的过程称为地址解。
slide166
地址解析的工作流程如下:
  • ① 当一台主机要与别的主机通信时,初始化ARP请求。当该IP断定IP地址是本地时,源主机在ARP缓存中查找目标主机的物理地址。
  • ② 要是找不到映射的话,ARP建立一个请求,源主机IP地址和物理地址会被包括在请求ARP包中,该ARP包通过广播,使所有本地主机均能接收并处理。
  • ③ 本地网上的每个主机都收到广播并寻找相符的IP地址。
  • ④ 当目标主机断定请求中的IP地址与自己的相符时,则从发来的ARP请求包中取出源主机的物理地址,向源主机直接发送一个ARP应答包(包含目标主机的物理地址)进行应答,同时也将源主机的IP地址和物理地址更新它的ARP缓存。源主机收到应答后便建立起了通信。
tcp udp
TCP与UDP协议及其端口
  • TCP是位于传输层中的一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。通过每个TCP传输的字段指定顺序号,以获得可靠性。如果一个分段被分解成几个小段,接收主机会知道是否所有小段都已收到。通过发送应答,用以确认别的主机收到了数据。对于发送的每一个小段,接收主机必须在一个指定的时间返回一个确认。如果发送者未收到确认,数据会被重新发送;如果收到的数据包损坏,接收主机会舍弃它,因为确认未被发送,发送者会重新发送分段。
  • 传输层中的另一个协议是用户数据报协议(UDP),UDP提供无连接的数据报服务。它适用于无须应答并且通常一次只传送少量数据的应用软件。
slide168
端口(port)是在传输层定义的一种标识号,用于标识传输层所提供的数据传输服务。根据提供的服务不同,对应有不同的端口号,端口范围取值0到65535之间的任何数字。小于256的端口号被系统保留用作提供系统的标准服务,这些端口称为常用端口或熟知端口。其余的端口号在服务请求时,作为操作系统为客户端应用程序动态分配的端口号。以下所列的是部分常用的端口号。端口(port)是在传输层定义的一种标识号,用于标识传输层所提供的数据传输服务。根据提供的服务不同,对应有不同的端口号,端口范围取值0到65535之间的任何数字。小于256的端口号被系统保留用作提供系统的标准服务,这些端口称为常用端口或熟知端口。其余的端口号在服务请求时,作为操作系统为客户端应用程序动态分配的端口号。以下所列的是部分常用的端口号。

熟知端口(Well-known ports)及其提供的服务:

15 NETSTAT  网络状态

21 FTP 数据传输服务

80 HTTP 超文本传输协议

53DOMAIN  域名服务器

69TFTP  普通文件传送协议

137NETBIOS-NSNETBIOS命令服务

138NETBIOS-DGMNETBIOS数据报服务

161SNMPSNMP网络监视器

ad