Linux
This presentation is the property of its rightful owner.
Sponsored Links
1 / 168

Linux PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Linux

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


Linux

Linux

用户基础


Linux

用户基础--Linux培训目标

  • 熟悉Linux系统的运行环境

  • 掌握Linux中常用命令的使用

  • 掌握Linux系统管理的相关内容

    • 文件系统管理、用户管理、进程管理、

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

  • 掌握Shell及使用

  • 配置网络和网络服务

  • 使用vi编辑器

  • Linux程序设计简介


Linux

参考资料

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

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

(2) LPI Certificate Exam Guide

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


Linux

Linux系统概述

  • UNIX与Linux简介

  • Linux的组成及功能

  • Linux的内核版本与发行套件

  • Linux的现状与未来

  • 与Linux相关的基本概念


Linux

什么是Linux?

  • Linux是一个功能强大的操作系统

  • 同时它是一个自由软件,是免费的、源代码开放的

  • 编制它的目的是建立不受任何商品化软件权制约的、全世界都能自由使用的Unix兼容产品。


Linux

UNIX历史简介

  • 20世纪70年代,贝尔实验室开发出UNIX

  • 目前分为AT&T System V和Berkley BSD两个系列

  • 目前常见的UNIX版本有:

    • Sun Solaris

    • SCO UNIX

    • HP-OS

    • AIX

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


Linux

Unix OS的简单历史


Linux

POSIX 简介

  • POSIX – Portable Operating System Interface

  • 各家厂商发展自己的Unix -> 各Unix系统不兼容!

  • 1988年,NTST/CSL的组织召开各Unix厂商,组织和用户共同制定了POSIX,可移植操作系统标准界面(IEEE 1003.1)

  • 结果:只要遵循POSIX,某一个Unix环境下的软件,只需做少许的修改,就能在其他的Unix环境下编译成功。


Linux

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


Linux

开放源代码(Open Source)

  • 宗旨

  • 允许任何人自由传播复制及修改软件的程序代码,而不在于不收费

  • 起源

  • 1983.9,Richard M. Stallman (RMS) ,FSF(Free Software Foundation)的创始人,目前为GNU Project的项目主持人

  • 产品种类

  • - Kernel

  • - Editor

  • - Shell

  • - C compiler,linker,assembler


Linux

GNU&GPL简介

  • GNU – Gnu’s Not Unix

    • 是自由软件基金会FSF(Free Software Foundation)中头一个名为GNU的团体,目前近400人。

  • GPL – General Public License

    • 软件的源程序可以自由流通,软件公司不应该把源程序拒为己有,或借发行编译过的软件赢利,软件公司要赚取的应该是系统集成和服务的费用

    • 所有的程序员可以交换心得,保证软件质量


Linux

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和文件系统一起形

    成了基本的操作系统结构


Linux

Kernel(内核)和版本

  • Kernel实现操作系统的基本功能

    • 硬件方面:控制硬件设备,内存管理,硬件接口,基本I/O

    • 软件方面:管理文件系统,为程序分配内存和CPU时间等

  • 版本号有三个数字组成:r.x.y

    • r:目前发布的Kernel版本

    • x:偶数:稳定版本,奇数:开发中版本

    • y:错误修补的次数

    • 范例:kernel 2.0.38;kernel 2.6.13-17


Linux

西文版/国际版

中文版

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版本,常用于嵌入式。


Linux

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万美元)


Linux

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

  • 磁盘及分区

  • 理解Linux文件系统标准

  • 掌握Linux下设备的使用方法

  • 理解LILO和GRUB的用途

  • 普通用户与超级用户

  • 比较字符工作方式和图形工作方式


Linux

硬盘结构与磁盘分区


Linux

Linux常用分区类型

  • Linux native主分区:用于存放文件系统

  • Linux native类型:Ext2、Ext3

  • Swap:暂时存储数据的交换分区 ,弥补内存不足,一般来说是物理内存的1~2倍。


Linux

配置名称

说 明

/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光驱

硬盘/光驱对照表


Linux

/

/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文件系统标准结构


Linux

Linux各分区功能

  • /boot系统启动过程中所要用到的文件

  • 注意:如果想用lilo启动red hat linux系统的话,含有/boot的分区必须完全在柱面1023以下。又由于8gb后的数据lilo不能读取,所以red hat linux要安装在8gb的区域以内。

  • /usr分区,系统存放软件的地方

  • /home分区,是用户的home目录所在地,

  • /var/log分区,是系统日志记录分区


Linux

Linux各分区功能

  • /dev分区,存放设备文件。 

  • /opt分区,存放可选的安装的软件。 

  • /sbin分区,存放标准系统管理文件。

  • /tmp分区,用来存放临时文件

  • /bin分区,存放标准系统实用程序。 

  • /etc目录,存放系统配置文件


Linux

LILO与GRUB简介

  • LILO全称为LInux Loader

  • GRUB全称为GRand Unified Boot loader

  • 是位于硬盘引导扇区的一个小程序

  • 是引导Linux系统内核的最常见的方式

  • 可以用来引导多个操作系统

  • 可以同时支持多个不同的系统内核映像。

  • 为每个系统内核映像提供了密码保护。

  • 支持位于不同磁盘和分区中的引导扇区、映象文件和启动映像。


Linux

安装多系统的顺序

  • 1、Windows98

  • 2、Windows2000

  • 3、WindowsXP

  • 4、Linux

    … …


Linux

普通用户与超级用户

  • Linux是一个多用户多任务的操作系统,在同一时刻可以有多个用户使用系统。可以将用户大致分为两类,即普通用户和超级用户。

  • 普通用户可以在其权限许可的范围内使用系统资源,而超级用户(用户名为root)不仅可以使用系统中的所有资源而且可以管理系统资源。

  • 除了用户的概念之外,Linux中还有组的概念。组是若干个用户的逻辑集合。


Linux4

Linux的运行方式

  • 命令行(字符运行)方式

    • 本地虚拟终端

    • 使用Telnet远程登录

    • 使用SSH远程登录

  • 图形运行方式

    • 本地使用KDE/Gnome集成环境

    • 运行X Server远程使用图形环境


Linux

Linux的安装

本节要点

  • 获取和安装方式

  • 安装前的准备工作

  • 系统使用初步


Linux

获取方式和安装方式

  • 获取方式

    • 下载发布版本

    • 购买发布版本

  • 安装方式

    • 本地安装

      • 本地光盘安装

      • 本地硬盘安装

    • 远程网络安装

      • FTP

      • NFS

      • HTTP


Linux

安装Linux前的准备

  • 了解Linux支持的硬件

  • 光盘启动安装不需要任何准备

  • 本地硬盘安装和网络安装需要制作启动盘

    • Boot.img

    • Bootnet.img

    • boothd.img


Linux

启动盘的制作

  • 在Red Hat Linux9安装光盘中的dosutils目录中有一个程序:rawrite.exe

  • 一、在dos下(或windows中的命令方式下)运行rawrite,按提 示选择在光盘中的images中的某个映象文件和软驱。

  • 二、在Linux下运行命令:

    • dd if=boot.img of=/dev/fd0 bs=1440k


Linux

安装及图形界面使用

  • 虚拟机VMware5.0简介

  • 使用虚拟机安装Fedora core 4/5


Linux

系统虚拟控制台及其切换

  • 系统提供多个虚拟控制台

  • 切换各个虚拟控制台

    • 字符界面 Alt + F1-F7


Linux5

Linux的系统运行级

0 - 系统停机状态

1 - 单用户工作状态

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

3 - 多用户状态(有NFS)

字符方式的默认运行级

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

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

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


Linux

文件类型

  • 普通文件

    • 文本文件

    • 二进制文件

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

  • 目录文件

  • 链接文件

    • 硬链接

    • 软链接

  • 特殊文件


Linux

特殊文件

  • 设备文件

    • /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


Linux

命令规则、路径和文件

  • 命令规则

    • 命令动词 [参数] [操作对象]

  • 路径

    • 绝对路径

    • 相对路径

  • 文件

    • 命名规则


Linux

文件通配符

  • *

    匹配多个字符

  • 匹配单个字符

  • [abc]

    匹配abc中任意一个字符

  • [!abc]

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


Linux

登录、注销、关机

  • 系统登录和注销的方法

    • 登录系统( 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


Linux

ls

  • 用法:ls 参数:

    • -a:显示所有文件,包括隐藏文件(以.开头的文件)

    • -l:以长格式显示

    • -F:在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;

      “/”表示目录;[email protected]

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


Linux

ls

  • -d:将目录象文件一样显示,而不是显示其下的文件

  • -t:按修改时间先后显示

  • -R:显示目录及下级子目录结构

  • -m:  横向输出文件名,并以“,”作分格符。

  • -S:  以文件大小排序。

  • 范例:

    • ls –a

    • ls –alR

    • ls -F


  • Linux

    用颜色代表不同文件

    • 蓝色:目录

    • 绿色:可执行文件

    • 红色:压缩文件

    • 浅蓝色:链接文件

    • 灰色:其他文件


    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


    Linux

    创建和删除目录

    • mkdir

      • 用法: mkdir 目录名

      • 作用:创建目录新的目录

      • 范例:mkdir abc

    • rmdir

      • 用法: rmdir目录名

      • 作用:删除空目录

      • 范例:rmdir abc


    Linux

    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


    Linux

    文件的硬链接

    • 相当于一个文件的两个副本,指向同一数据存储区

    • 特点:

      • 两个文件,长度相等,总长度不变

      • 删除其中一个文件,另一个仍然存在

      • 修改其中一个文件,另一个也修改


    Linux

    文件的符号链接

    • 相当于一个文件的快捷方式

    • 特点:

      • 仅保存一个指针,长度小于原文件

      • 删除符号链接,不影响原文件

      • 删除原文件,符号链接即没有意义


    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


    Linux

    find

    • 作用:查找文件或目录

    • 用法:find 查找路径 匹配条件

    • 动作 常用匹配条件

    • - type d表示目录f表示文件l表示链接b块文件p管道文件

      • name ‘字符串’

      • iname ‘字符串’ 不区分大小写

      • user 用户名

      • group 组名

      • perm xxxx

      • size n

      • atime n 过去n天被访问过的

      • mtime n 在过去n天中被修改过的


    Linux

    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身份登录后才可以执行


    Linux

    grep

    • 功能:在文件中查找匹配的字符串

    • 格式:grep [参数] “待查字符串” 文件

      • -v 反向匹配

      • -w 完整匹配

      • -i 忽略大小写

      • -c 只显示有几行符号要求

      • -n 在显示行前标上在文档中的行号


    Linux

    使用简单的正则表达式

    • .任意一个字符

    • *匹配字符的零次或多次出现

    • [a-z]a到z的任意字符一个

    • ^a以字母a开始的行

    • a$以字母a结束的行


    Linux

    在grep中使用正则表达式

    • $ grep ‘[Ff]leas’ fleas

    • $ grep -c ‘.’ fleas

    • $ grep -n ‘.*’ fleas > fleas.num

    • $ grep -i ‘and’ fleas

    • $ grep -w ‘on’ fleas


    Linux

    wc

    • wc 选项 文件

    • 统计文件中的行数、单词数、字符数

      • -c:显示字节数

      • -w:显示单词数

      • -l:显示行数


    Linux 2

    Linux常用命令 2

    • 信息显示命令

      • dmesg

      • file

      • who w whoami

      • hostname uname

      • du df free


    Dmesg

    dmesg

    • 功能

      • 显示机器引导时内核显示的状态信息

    • 参数

      • -c :显示出状态后删除这些信息

    • 用法

      • dmesg


    Linux

    file

    • file

      • 功能:测试文件类型

      • /usr/share/magic.mime保存文件类型

    • 参数

      • -b:不显示文件名

      • -f filename:用一个文件,文件保存的每一行作为文件去检查

      • -k :搜索到第一个匹配项不停止

      • -z :检查压缩文件中的每一个文件

      • -s /dev/hd*:检查分区系统类型

      • 范例

        • file *

        • file –s /dev/hda2


    Linux

    who

    • who功能

      • 查看其他登录的用户

    • 参数

    • -b:系统最后启动时间

    • -a:显示所有信息

    • -H:显示项目标头

    • -r:查看系统运行等级

    • -w,在登录帐号后面显示一个字符来表示用户的信息状态:

      • +:允许写信息;-:不允许写信息;?:不能找到终端设备。

    • -q:统计当前有多少用户登录系统


    Linux

    who

    • 输出的通用格式如下:name [state] line time [idle] [pid] [commnet] [exit] name用户的登陆名 state写到终端的能力 line在/dev中找到的行名 time自从用户登陆所用的时间 idle自从用户最后一次活动所经历的时间 pid用户的进程ID commnet注释行 exit已死进程的退出状态


    Linux

    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:显示操作系统内型


    Linux

    du

    • du

      • -c: 统计大小用K表示

      • -b: 用Byte表示

      • -s: 统计整个目录所占空间

      • --max-depth=N,显示几级目录

      • 报告指定的文件(目录)已使用的磁盘空间的总量


    Linux

    df

    • df

      • 报告文件系统磁盘空间的使用情况

      • -h:更人性化显示

      • -i: 显示节点信息

      • -l: 显示本地文件系统信息

      • -t filesystem type: 显示指定类型的文件系统信息


    Linux

    free

    • free

      • 查看当前内存和交换空间的使用情况

      • -t:显示总的内存信息(物理内存+虚拟内存)

      • -s N:实时监视内存,延迟N秒显示信息

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


    Linux

    提高工作效率

    • 自动补全

    • 命令别名

    • 命令历史

    • 复制和粘贴


    Alias

    命令别名(alias)的使用

    • 命令别名(alias)的使用

    • 作用:设置命令别名

    • 范例

      • alias mybin=“cd /usr/bin”

      • alias  显示系统中现有的别名

      • unalias mybin  删除系统中的别名


    Linux

    命令历史

    • !:回忆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的高级使用

    • 重定向

    • 管道

    • 命令替换

    • 命令执行顺序


    Linux

    重定向

    输出重定向

    错误输出重定向

    输入重定向

    > 、>>

    2> 、&>

    < 、<<


    Linux

    管道

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

      作为另一个命令的输入

    • 使用方法:命令1|命令2|命令3……|命令n

    • 使用举例:

      • $ ls –Rl /etc |more

      • $ cat /etc/passwd | wc

      • $ cat /etc/passwd | grep lrj

      • $ ps –aux |tail +10 |more


    Linux

    命令替换

    • `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!


    Linux

    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时间自动设置系统时间


    Linux

    cal

    • cal

      • 功能:显示日历

      • 用法:cal [参数] 月 年

        • -3:显示前/现/下三个月的表格

        • -m:把星期一放在第一列显示

        • -j:显示在本年中的第多少天

      • 举例:

      • $ cal –j 2001

      • $ cal 1752


    Linux

    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


    Linux

    文本编辑器-Vi

    • 理解Vi的三种运行模式

    • 学会进入插入模式

    • 学会在编辑模式下操作

    • 学会在命令模式下操作


    Linux

    概述

    • 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自动回到命令模式。


    Linux

    常用命令涉及的单词或字符

    • w:write or wordr:read

    • b:beginh:home

    • d:deleteu:undo

    • p:pastei:insert

    • q:quita:append

    • m:middlel:last

    • $:尾^:头

    • s:stick


    Linux

    Vi 的基本操作

    • 进入插入模式

      • 基本命令:i, a, o

    • 从插入模式返回编辑模式

      • insert

    • 命令模式下的基本操作

      • :w filename

      • :wq

      • :q :q!

      • ZZ


    Linux

    Vi命令的数字前缀

    • I 在关标位置开始插入字符,结束时按ESC键。I 在光标所在行的最前面开始加字,结束时按ESC键。a 在光标位置后开始加字,结束时按ESC键。A  在光标所在行的最后面开始加字,结束时按ESC键。o 在光标下加一空白行并开始加字,结束时按ESC键。O 在光标上加一空白行并开始加字,结束时按ESC键。!command执行shell指令,并把结果加在光标所在行的下一行。


    Linux

    vi定位命令

    • Shift+h(H):光标移到屏幕的第一行

    • Shift+m(M):光标移到屏幕的中间行

    • Shift+l(L):光标移到屏幕的最后一行

    • Ctrl+b:向上移动一屏

    • Ctrl+f:上下移动一屏

    • Ctrl+d:向下半页

    • Ctrl+u:向上半页

    • G:文件的最后


    Linux

    vi定位命令

    • <Home>:到行首(或^、0)

    • <End>:到行未(或$)

    • :number:指定到某一行

    • w:向后移动一个单词

    • b:向前移动一个单词


    Linux

    vi编辑命令—删除

    • d l 删除当前字符(与x命令功能相同)d 0 删除到某一行的开始位置d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符)

    • d w 删除到某个单词的结尾位置d 3 w 删除到第三个单词的结尾位置d b 删除到某个单词的开始位置

    • d } 删除到某个段落的结尾位置

    • d { 删除到某个段落的开始位置

    • (段落以一空行分隔)


    Linux

    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 删除直到工作缓存区开始的内容 (文头)


    Linux

    vi编辑命令—删除

    • nx 删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)nX  删除由光标位置起始的n个字符(不含光标位置)


    Linux

    vi编辑命令—修改

    • c l 更改当前字符c w 修改到某个单词的结尾位置c 3 w 修改到第三个单词的结尾位置c b 修改到某个单词的开始位置

    • c 0 修改到某行的结尾位置c) 修改到某个语句的结尾位置c 4) 修改到第四个语句的结尾位置

    • c( 修改到某个语句的开始位置

    • c } 修改到某个段落的结尾位置c { 修改到某个段落的开始位置c 7 { 修改到当前段落起始位置之前的第7个段落位置


    Linux

    vi编辑命令—修改

    • c tc 修改当前行直到下一个字符c所出现位置之间的内容

    • C 修改到某一行的结尾

    • c c 修改当前行

    • 5 c c 修改从当前行所开始的5行内容


    Linux

    vi编辑命令—替换

    • s或c l替换当前字符

    • S 将当前行替换为一个或多个字符

    • 5 s 将从当前字符开始的5个字符替换为一个或多个字符r 修改光标文件的字符R从光标位置开始修改,结束时按ESC键


    Linux

    vi编辑命令—复制、剪切、粘帖

    • yy或Y 可以把一行文本拷贝到寄存器中

    • dd 剪切一行

    • P或p 粘贴一行

    • 寄存器:可以存放剪切和拷贝下来的东西的地方 ,

    • 只要有一个删除命令的话,寄存器中的东西就没有了


    Linux

    vi编辑命令--撤销

    • u可以撤消你刚才的操作

    • U可以撤消你对当前行的修改


    Linux

    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(每次替换确认)


    Linux

    vi编辑命令—宏

    • :map <lhs> <rhs> ,以后在命令状态下输入lhs就会运行<rhs>的命令

    • :unmap <lhs>取消某宏

    • :map #n <rhs> 将Fn功能键定义成宏


    Linux

    vi编辑命令—缩写

    • :ab <lhs> <rhs>,以后在编辑状态下输入lhs就会出现rhs字符串

    • :unab <lhs>取消某缩写


    Linux

    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


    Linux

    vi编辑多个文件

    • vi filename1 filename2 …..filenameN

    • :args 显示编辑名单中的各个文件名:n读入编辑名单中的下一个文件:rew读入编辑名单中的第一个文件:e# 读入编辑名单内的前一个文件:e file 读入另一个文件进vi(此文件可不在编辑名单内),若原文件经修改还没有存档,则应先以: w 存档。 :e! file强迫读入另一个文件进入vi,原文件不作存档动作。


    Linux

    vi编辑命令—高级复制

    • :first,last co dest 

      • 将first 到last行的数据复制到目标行(dest)下面

    • :start,end m dest

      • 将start 到 end行的数据移动到目标行(dest)下

    • nY  

      • 将光标所在位置开始的n行数据暂存


    Linux

    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 告诉用户有关现行编辑文件的数据。


    Linux

    vi高级用法

    • :g/^/m0/  倒写文档

    • :f 或<Ctrl> + g 告诉用户有关现行编辑文件的数据。

    • vi –r 恢复系统崩溃

    • :r !<命令> 把<命令>的输出插入到当前文本中 

    • :so <文件> 读取<文件>,再执行文件里面的命令

    • . 重复前一指令

    • :so <文件> 读取<文件>,再执行文件里面的命令


    Linux

    账户管理与操作权限

    • 账户管理配置文件族

    • 用户的添加和删除

    • 组的添加和删除

    • 设置操作权限


    Linux

    账户系统文件

    • 口令文件

      • /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


    Linux

    与用户管理相关的文件或目录

    • 用户配置文件

      • /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口令


    Linux

    用户分类(以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:不建立用户目录


    Linux

    成为超级用户

    • 把用户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---一个优秀的样式扫描与处理工具


    Linux

    组及其分类

      • 组是若干个用户的逻辑集合。

    • 组分为

      • 私有组

        • 当在创建一个新用户user时,若没有指定他所属于的组,系统就建立一个和该用户同名的私有组。

      • 标准组

        • 标准组可以容纳多个用户,若使用标准组,在创建一个新的用户时就应该指定他所属于的组。


    Linux

    修改用户账户

    • 手工修改账户文件

    • 使用usermod命令

      • usermod –l uu1 –d /home/uu1 –g gg1 u1

      • 将用户u1的登录名改为uu1,加入到gg1组中,用户目录改为uu1

      • 注意: 1. 被修改后的家目录必须事先存在

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

      • usermod -G softgroup jjh

      • 将用户jjh添加到softgroup标准组中


    Linux

    修改用户帐号

    • 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


    Linux

    禁用和恢复用户账户

    • 禁用

      • # usermod –L username

      • # passwd –l username

    • 恢复

      • # usermod –U username

      • # passwd –u username


    Linux

    禁止用户登录

    • 在/etc/passwd或/etc/shadow中的密码域前加上*或!!可暂时禁止某一用户登录

    • 在/etc/中创建nologin文件,包含说明原因,可阻止除root的所有用户登录(不适合于远程登录管理)


    Userdel

    用userdel删除用户账户

    • userdel –r u1

      • -r:删除用户目录

    • 分析userdel的过程

      • 从账户文件中移去用户表项

      • 删除用户家目录


    Linux

    组的管理和使用

    • groupadd –g 888 group2

      • 创建一个组group2,其GID为888

    • groupdel group2

      • 删除组group2

    • groupmod –n group2 group22

      • 修改group2组名为group22


    Linux

    组的管理

    • 设置群组密码

    • gpasswd [option] [user][group]

      • -a:将用户添加入group组

      • -d:将用户从group中删除

      • -r:取消群组密码


    Linux

    在用户组间切换

    • groups [username]

    • 查看当前用户属于哪些组

    • newgrp [group]

    • 切换到某组运行(必须已属此组)


    Linux

    用户、组及权限

    • 用户只能不受限制的操作自家目录及其子目录下的所有内容

    • 系统中其他目录的访问受到限制

      • 同组

      • 其他人


    Linux

    文件和目录的操作权限

    • 文件和目录的使用者

      • 超级用户

      • 文件或目录的属主

      • 属主的同组人

      • 其他人

    • 对每一类使用者设置对文件的操作权

      • 读(r)

      • 写(w)

      • 执行(x)


    Linux

    代表字符

    权限

    对文件的含义

    对目录的含义

    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位)


    Linux

    数字

    代表的权限

    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位)


    Linux

    对文件权限的文字设定法

    • 权限字符

      • 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地址的结构如下所示:

    网络类型

    网络号

    主机号


    Linux

    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 号工作站。


    Linux

    子网及子网掩码

    • 子网是指在一个IP地址上生成的逻辑网络,它使用源于单个IP地址的IP寻址方案,把一个网络分成多个子网,要求每个子网使用不同的网络号,通过把主机号(主机号)分成两个部分,为每个子网生成唯一的网络号。一部分用于标识作为唯一网络的子网,另一部分用于标识子网中的主机,这样原来的IP地址结构变成如下三层结构:

    网络地址部分

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


    Linux

    • 子网掩码是一个32位地址,它用于屏蔽IP地址的一部分以区别网络ID和主机ID;用来将网络分割为多个子网;判断目的主机的IP地址是在本局域网或是在远程网。在TCP/IP网络上的每一个主机都要求有子网掩码。这样当TCP/IP网络上的主机相互通信时,就可用子网掩码来判断这些主机是否在相同的网络段内。


    Linux

    • 具体的运算步骤如下:

    • 例如: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,因此这两台主机在同一网段内。


    Linux

    IP路由

    • 路由是数据从一个节点传输到另一个节点的过程。例如,要出发到某地,一般先确定到达目的地的路线。在TCP/IP网络中,同一网络区段中的计算机可以直接通信,不同网络区段中的计算机要相互通信,则必须借助于IP路由。

    • 在TCP/IP网络中,IP路由器又叫IP网关。每一个节点都有自己的网关。IP报头指定的目的地址不在同一网络区段中,就会将数据报传送给该节点的网关,如果网关知道数据报的去向,就将其转发到目的地。每一网关都有一组定义好的路由表,指明网关到特定目的地的路由。网关不可能知道每一个IP地址的位置,因此网关也有自己的网关,通过不断转发、寻找路径,直到数据报到达目的地为止。


    Linux

    • 根据路由器采用的路由方式,IP路由分为静态IP路由和动态IP路由两种。路由方式决定了路由器如何获得路由信息(路由表中的表项)。

    • 静态路由是IP协议的函数实现,需要系统管理员手工创建(/sbin/route命令)路由表并进行人工刷新。当网络变化导致路由改变时,静态方式的路由器并不通知彼此的变化,也不会与动态方式的路由器进行交换。

    • 动态路由是路由协议的函数实现,相关的协议如:路由信息协议RIP和开放式最短路径协议OSPF等。动态路由适用于大型网络,出于冗余/故障恢复的目的,通常安装了多个路由器,指向同一远程网络。根据路由设备之间所交换的信息动态地构造、更新路由信息。自动调节路由来适应不断变化的网络条件。缺点是设备间的路由信息交换会消耗相当大的带宽。Linux网络中采用的是静态和动态路由的组合。


    Linux

    ARP 协议

    • ARP(Address Resolution Protocol)协议的功能是实现将IP地址转换(解析)为物理地址。按照TCP/IP的分层分工的原则,在以太网(或其他类型的局域网)中,IP分组的传输实际上是将数据分组封装成为其下层(网络接口层)的通信单元—帧,并由网络接口层完成帧的传输,从而实现IP分组在局域网中的传输。数据帧的传输使用的是物理地址(MAC地址),物理地址是固化在网络接口卡中的地址(长度为48位,且全球唯一),常常也将物理地址称为网卡地址或硬件地址。以太网中,一个主机向另一主机(目标主机)发送IP数据分组时,所知道的只是目标主机的IP地址,因此在将IP分组封装成帧交由下层协议发送之前,必须首先将对方(目标)主机的IP地址映射为物理地址。将主机IP地址映射为物理地址的过程称为地址解。


    Linux

    • 地址解析的工作流程如下:

    • ① 当一台主机要与别的主机通信时,初始化ARP请求。当该IP断定IP地址是本地时,源主机在ARP缓存中查找目标主机的物理地址。

    • ② 要是找不到映射的话,ARP建立一个请求,源主机IP地址和物理地址会被包括在请求ARP包中,该ARP包通过广播,使所有本地主机均能接收并处理。

    • ③ 本地网上的每个主机都收到广播并寻找相符的IP地址。

    • ④ 当目标主机断定请求中的IP地址与自己的相符时,则从发来的ARP请求包中取出源主机的物理地址,向源主机直接发送一个ARP应答包(包含目标主机的物理地址)进行应答,同时也将源主机的IP地址和物理地址更新它的ARP缓存。源主机收到应答后便建立起了通信。


    Tcp udp

    TCP与UDP协议及其端口

    • TCP是位于传输层中的一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。通过每个TCP传输的字段指定顺序号,以获得可靠性。如果一个分段被分解成几个小段,接收主机会知道是否所有小段都已收到。通过发送应答,用以确认别的主机收到了数据。对于发送的每一个小段,接收主机必须在一个指定的时间返回一个确认。如果发送者未收到确认,数据会被重新发送;如果收到的数据包损坏,接收主机会舍弃它,因为确认未被发送,发送者会重新发送分段。

    • 传输层中的另一个协议是用户数据报协议(UDP),UDP提供无连接的数据报服务。它适用于无须应答并且通常一次只传送少量数据的应用软件。


    Linux

    • 端口(port)是在传输层定义的一种标识号,用于标识传输层所提供的数据传输服务。根据提供的服务不同,对应有不同的端口号,端口范围取值0到65535之间的任何数字。小于256的端口号被系统保留用作提供系统的标准服务,这些端口称为常用端口或熟知端口。其余的端口号在服务请求时,作为操作系统为客户端应用程序动态分配的端口号。以下所列的是部分常用的端口号。

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

    15 NETSTAT  网络状态

    21 FTP 数据传输服务

    80 HTTP 超文本传输协议

    53DOMAIN  域名服务器

    69TFTP  普通文件传送协议

    137NETBIOS-NSNETBIOS命令服务

    138NETBIOS-DGMNETBIOS数据报服务

    161SNMPSNMP网络监视器


  • Login