笔记
【1】man、passwd、su、echo命令的用法
(1)获取联机帮助
1)使用man命令可以找到特定的联机帮助页,并提供简短的命令说明。一般语法格式为:
man commandname
2)联机帮助页提供了指定命令commandname的相关信息,包括:名称、函数、语法以及可选参数描述等。
无论帮助有多长,都遵循这个格式显示。在页面很多的情况下使用PageUp和PageDown键翻页。最后,使用“:q”退出帮助页面。
(2)通常联机帮助信息包括以下几个部分:
1)NAME:命令的名称
2)SYNOPSIS:命令的语法格式
3)DESCRIPTION:命令的一般描述以及用途
4)OPTIONS:描述命令所有的参数或选项
5)SEE ALSO:列出联机帮助页中与该命令直接相关或功能相近的其他命令
6)BUGS:解释命令或其输出中存在的任何已知的问题或缺陷
7)EXAMPLES:普通的用法示例
8)AUTHORS:联机帮助页以及命令的作者
(3) man 3 printf 查库函数
man 2 open 查系统调用
man -a open 会将系统中与open相关的都列出来
(4) 基本系统维护命令
1) passwd
a. 出于系统安全考虑,Linux系统中的每一个帐号都必须同时具备用户名和密码。
b. 可以使用passwd命令,为已有账户重新修改用户口令。
c. 需要说明的是,超级用户root可以修改所有其他用户的口令,而普通用户只能修改自己的用户口令,
如果确要修改超级用户或其他用户口令的话,需要具有超级用户的权限。
d. passwd命令的一般语法格式为:
passwd username
2) 单独使用passwd命令,意为修改当前用户自己的口令。下面命令实例用于修改用户自己的口令。
linux@ubuntu:~$ passwd
Changing password for linux #修改当前用户口令
(current) UNIX password: #用户输入旧口令
Enter new UNIX password: #用户输入新口令
Retype new UNIX password: #确认新口令
passwd:已成功更新密码
3)su
a. su命令用于临时改变用户身份,具有其他用户的权限。普通用户可以使用su命令临时具有超级用户的权限;
超级用户也可以使用普通用户身份完成一些操作。当需要放弃当前用户身份,可以使用exit命令切换回来。su命令的一般语法格式为:
su [-c | -m - ] username
b.选项“-c”表示执行一个命令后就结束;-m表示仍保留环境变量不变;-表示转换用户身份时,同时使用该用户的环境。
单独使用su命令,默认为要转换为超级用户root。下面命令实例临时获取超级用户root的权限。
可以从命令提示符中可以看出,“linux”用户使用su命令切换为root用户。
linux@ubuntu:~$ su
Password: #当前用户输入超级用户的口令
root@ubuntu:/home/linux#
4) echo
a.echo命令用于在标准输出——显示器上显示一段文字,一般起到提示作用。
echo命令的一般语法格式为:
echo [-n] information
b.选项-n表示输出文字后不换行。提示信息字符串可以加引号,也可以不加。
linux@ubuntu:~$ echo "Hello everyone." #输入信息字符串使用引号
Hello everyone.
linux@ubuntu:~$ echo ‘$PATH’ #严格的原样输出
$PATH.
linux@ubuntu:~$ echo Hello everyone. #输入信息字符串不使用引号,字符串之间用一个空格隔开
Hello everyone.
【2】date、clear、df、du命令的用法
(1) date
a. date命令用于显示和设置系统日期和时间。date命令的一般语法格式为:
date [-d | -s|-u ] datestr
b. 选项-s表示按照datestr日期显示格式设置日期;单独使用date命令,用于显示系统时钟中当前日期。
时间的格式为:“hh:mm:ss”,日期格式为:“mm/dd/yy”。
linux@ubuntu:~$ date #查看当前时间
2007年 09月 16日 星期日 18:44:45 CST
linux@ubuntu:~$ sudo date -s 1:19:18 #设置新时间,需要系统管理员权限
Password:
2007年 09月 16日 星期日 01:19:18 CST
(2) clear
a. clear命令用于清除屏幕上的信息。清屏后,sell命令提示符移动到屏幕左上角。
clear命令的一般语法格式为:
clear
b.由于shell命令是逐行执行,执行结果也将随即显示。因此,用户在使用命令终端窗口时,终端窗口会很快就会被字符占满。
clear可以帮助清理一下窗口中杂乱的字符显示。
(3) df
a. df命令用于查看磁盘空间的使用情况。查看磁盘空间是用户应当经常做的事情,
因为谁也不希望看到根或/var分区在不经意间填满,以便及时清理。df命令的一般格式为:
df [-a | -T | -h | -k ] Filesystem
其中,参数Filesystem表示物理文件系统。各选项的含义如表所示。
选项 含义
-a 显示所有物理文件系统的使用情况,包括虚拟文件系统,如/proc、/sys等
-T 显示物理文件系统的文件格式类型
-h 物理文件系统大小按兆字节为单位显示
-k 物理文件系统大小按千字节为单位显示
b. 从以下命令的执行结果可以看到,这台计算机只有一块硬盘(/dev/sda1),文件格式类型为Ext3,已经使用36%的存储空间。
同时,可以发现计算机上还安装了CD-ROM(/dev/hdc)、USB存储器(/dev/sdb1)。其他分区均为专用的虚拟文件系统
linux@ubuntu:~$ df –T
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda1 ext3 7850996 2664868 4787316 36% /
c. df 命令
常用参数:
-a :列出所有文件系统
-k :列出磁盘的分配情况(KB)
-h :同-k, 但大小以G、M,K单位显示
-l :仅列出本地文件系统
例:
#df -h
du命令,列出目录和文件所使用的磁盘块数,每块占512个字节。
常用参数:
-a :仅列出空闲的文件数
-h :列出磁盘的使用情况(KB)
-s :列出总的空闲空间(KB)
例:
#du –h /etc
【3】总结与思考
本节课主要介绍了linux的基本系统维护命令,包括man、passwd 、 su 、 echo、date、clear、df、du等
笔记
【1】用户管理相关文件介绍
(1)用户管理
用户的属性
1)用户名
2)口令
3)用户ID(UID)
4)用户主目录(HOME)
5)用户shell
(2)/etc/passwd文件
/etc/passwd文件是系统能够识别的用户清单。用户登陆时,系统查询这个文件,确定用户的UID并验证用户口令
1)登陆名
2)经过加密的口令
3)UID
4)默认的GID
5)个人信息
6)主目录
7)登陆shell
(3)/etc/group文件
1)包含了UNIX组的名称和每个组中成员列表
2)每一行代表一个组,包括4个字段:
组名
加密的口令
GID号
成员列表,彼此用逗号隔开
(4)添加用户
adduser
语法:adduser
实例:
# adduser newuser
添加用户名为newuser的新用户
(5)adduser配置文件
/etc/adduser.conf
FIRST_UID=1000
LAST_UID=29999
USERS_GID=100
DHOME=/home
DSHELL=/bin/bash
SKEL=/etc/skel
(6)SKEL模板
/etc/skel目录是被 /usr/sbin/useradd使用
把想要新用户拥有的配置文件从/etc/skel目录拷贝,常用的文件:
.bash_profile
.bashrc
.bash_logout
dircolors
.inputrc
.vimrc
【2】用户管理相关命令介绍
(1)添加新用户的过程
1) 系统
编辑passwd和shadow文件,定义用户帐号
设置一个初始口令
创建用户主目录,用chown和chmod命令改变主目录的属主和属性
2) 为用户所进行的步骤
将默认的启动文件复制到用户主目录中
设置用户的邮件主目录并建立邮件别名
(2) 设置初始口令
1) 使用passwd命令可以修改用户口令
2) root用户可以修改任何用户的口令
语法:passwd [-k] [-l] [u] [-f] [-d] [-S] username
使用方法:
passwd username
(3) 修改用户属性
usermod
语法:usermod [-u uid [-o]] [-g group] [-G gropup,…]
[-d home [-m]] [-s shell] [-c comment]
[-l new_name] [-f inactive][-e expire]
[-p passwd] [-L|-U] name
举例用户oldname改名为newname,注意要同时更改家目录:
usermod –d /home/newname –m –l newname oldname
(4) 删除用户
deluser
语法: deluser
使用方法:
deluser --remove-home user1
删除用户user1的同时删除用户的工作目录
(5) 添加用户组
addgroup
语法: addgroup groupname
使用方法:
addgroup groupname
(6) 删除用户组
delgroup
语法: delgroup groupname
使用方法:
delgroup groupname1
【3】总结与思考
(1)本节课主要介绍了linux系统中用户管理相关的重要配置文件以及用户管理相关的命令。
(2)思考
用户相关的文件有哪些?
简述添加用户的过程。
笔记
【1】进程的概念
(1)编译程序上的两个进程
程序的一次执行就是一个进程
程序的两次执行就
产生了p1和p2进程
【2】使用ps命令查看进程
(1)显示进程(process)?的动态
(2)语法:
ps [options]
(3)常见的参数:
-A 列出所有的行程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
(4) %CPU 占用的 CPU 使用率
%MEN 占用的记忆体使用率
VS2 占用的虚拟记忆体大小
RSS 占用的记忆体大小
STAT 该进程的状态
START 进程开始时间
TIME 执行的时间
(5)进程的状态标志
D: 不可中断的静止
R: 正在执行中
S: 阻塞状态
T: 暂停执行
Z: 不存在但暂时无法消除
<: 高优先级的进程
N: 低优先级的进程
L: 有内存分页分配并锁在内存中
(6) top命令
1)监视进程
2)通常会全屏显示,而且会随着进程状态的变化不断更新
3)整个系统的信息也会显示,为查找问题提供了便利
4)可以显示系统总共有多少CPU和内存资源以及负载平衡等信息。
(7) pstree命令
1) 将所有行程以树状图显示,树状图将会以pid(如果有指定)或是以init这个基本进程为根,
如果有指定使用者id,则树状图会只显示该使用者所拥有的进程。
2)参数:
-a 显示该进程的完整指令及参数,如果是被记忆体置换出去的进程则会加上括号
-c 如果有重覆的进程名,则分开列出
【3】使用kill命令终止进程
(1)使用kill命令终止进程
kill [-signal] PID
signal是信号,PID是进程号
kill 命令向指定的进程发出一个信号signal,在默认的情况下,kill 命令向指定进程发出信号15,
正常情况下,将杀死那些不捕捉或不忽略这个信号的进程
笔记
【1】Linux文件系统的类型
(1)在任何一个操作系统中,文件系统无疑是其最重要的组件,用于组织和管理计算机存储设备上的大量文件,
并提供用户交互接口。Linux同样具备完善的文件系统。用户既可以使用界面友好的Nautilus图形文件管理器,
也可以使用功能强大的shell文件系统管理工具。
(2)linux是一种兼容性很高的操作系统,支持的文件系统格式很多,大体可分以下几类:
1)磁盘文件系统:指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。
常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext3、Ext4、VFAT、ISO9660(通常是CD-ROM)、
UFS(Unix File System,Unix文件系统)、FAT、FAT16、FAT32、NTFS等;
2)网络文件系统:是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘文件系统,客户机通过网络远程访问数据。
常见文件系统格式有:NFS、Samba等;
3)专有/虚拟文件系统:不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)
和LOOPBACKFS(Loopback File System,回送文件系统)。
(3) 目前Ext4是Linux系统广泛使用的一种文件格式。在Ext3基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进。
最大特点是日志文件系统:可将整个磁盘的写入动作完整地记录在磁盘的某个区域上,以便在必要时回溯追踪。
(4) SCSI与IDE设备命名
1)sata硬盘的设备名称是“/dev/sda”
/dev/sda1 含义?
/dev/sdb3 含义?
2)IDE硬盘的设备名称是“/dev/hda”
/dev/hdc2 含义?
3)如果很在意系统的高性能和稳定性,应该使用SCSI硬盘
4)cat /proc/partitions
(5) Linux分区的命名方式
1)字母和数字相结合
2)前两个字母表示设备类型
“hd”代表IDE硬盘
“sd”表示SCSI或SATA硬盘
3)第三个字母说明具体的设备
“/dev/hda”表示第一个IDE硬盘
“/dev/hdb”表示第二个IDE硬盘
(6) 交换分区
1)将内存中的内容写入硬盘或从硬盘中读出,称为内存交换(swapping)
2)交换分区最小必须等于计算机的内存
3)可以创建多于一个的交换分区
4)尽量把交换分区放在硬盘驱动器的起始位置
(7) 文件系统逻辑结构
1) 某所大学的学生可能在一两万人左右,通常将学生分配在以学院-系-班为单位的分层组织机构中。若需要查找一名学生时,
最笨的办法是依次问询大学中的每一个学生,直到找到为止。如果按照从学院、到系、再到班的层次查询下去,必然可以找到该学生,且查询效率高。
这种树形的分层结构就提供了一种自顶向下的查询方法。
2) 如果把学生看作文件,院-系-班的组织结构看作是Linux文件目录结构,那么就同样可以有效地管理数量庞大的文件。
3) 一直使用微软Windows操作系统的用户似乎已经习惯了将硬盘上的几个分区,并用A:、B:、C:、D:等符号标识。
存取文件时一定要清楚存放在哪个磁盘的哪个目录下。
4) Linux的文件组织模式犹如一颗倒置的树,这与Windows文件系统有很大差别。所有存储设备作为这颗树的一个子目录。
存取文件时只需确定目录就可以了,无需考虑物理存储位置。
【2】Linux文件系统的结构
(1) 分区与目录的关系:
在Windows下,目录结构属于分区;在Linux下,分区属于目录结构。
(2) 如何知道文件存储的具体硬件位置呢?
1) 在Linux中,将所有硬件都视为文件来处理,包括硬盘分区、CD-ROM、软驱以及其他USB移动设备等。
为了能够按照统一的方式和方法访问文件资源,Linux中提供了对每种硬件设备相应的设备文件。
一旦Linux系统可以访问到硬件,就将其上的文件系统挂载到目录树中的一个子目录中。
2) 例如,用户插入USB移动存储器,Ubuntu Linux自动识别后,将其挂载到“/media/disk”目录下。
而不象Windows系统将USB存储器作为新驱动器,表示为“F:”盘。
(3) Linux文件系统就是一个树形的分层组织结构。将根(/)作为整个文件系统的惟一起点,其他所有目录都从该点出发。
将Linux的全部文件按照一定的用途归类,合理地挂载到这颗“大树”的“树枝”或“树叶”上,如图所示。
而这些全不用考虑文件的实际存储位置,无论是存在硬盘上,还是在CD-ROM或USB存储器中,甚至是网络终端。
(4) 基本目录
1) 由于Linux是完全开源的软件,各Linux发行机构都可以按照自己的需求对文件系统进行裁剪,所以如此众多的Linux发行版本的目录结构也不尽相同。
为了规范文件目录命名和存放标准,颁发了文件层次结构标准(FHS,File Hierarchy Standard),2004年发行版本FHS 2.3。Ubuntu Linux系统同样也遵循这个标准。
2) 绝对路径和相对路径
a. 在认识到Linux文件系统是树形分层的组织结构,且只有一个根节点之后。在Linux文件系统中查找一个文件,只要确定文件名和路径,就可以惟一确定这个文件。
例如 “/usr/games/gnect”
b. 绝对路径:指文件在文件系统中的准确位置。通常在本地主机上,以根目录为起点。例如“/usr/games/gnect”就是绝对路径。
c. 相对路径:指相对于用户当前位置的一个文件或目录的位置。例如,用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。
(5) Linux文件系统与Windows文件系统比较
【3】总结与思考
笔记
【1】file、mkdir、rmdir、ln命令
(1)文件和目录相关的命令
pwd ls cd touch cp mv rm cat head tail已经在C语言基础补习课程中讲过
(2)file命令
1) 在Linux文件系统中,文件扩展名不总是被使用或被一致地使用。如果一个文件没有扩展名,或者文件与其扩展名不符时怎么办呢?
file命令功能用于判定一个文件的类型。file命令一般语法格式为:
file [ filename ]
2) 其中filename是文件名。命令的输出将显示该文件是二进制文件、文本文件、目录文件、设备文件,还是Linux中其他类型的文件。
linux@ubuntu:~$ file /usr/games/banner
banner: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), stripped
linux@ubuntu:~$ file Textfile.txt
Textfile.txt: UTF-8 Unicode text
(3)mkdir命令
1)mkdir命令用于创建一个目录。mkdir命令一般语法格式为:
mkdir [ -p ] directory_name
2)其中,directory_name为要创建的目录名,并且不能是已有的目录,通常不允许嵌套创建子目录。
3)使用选项“-p”表示可以嵌套创建子目录,即多层目录。
4)需要说明的是,创建目录的用户在工作目录应具有写入权限。假设要创建下面这样结构的目录。
dir1
dir1/dir2
dir1/dir2/dir3
当然可以使用三条mkdir命令依次创建各层目录。
linux@ubuntu:~$ mkdir dir1
linux@ubuntu:~$ mkdir dir1/dir2
linux@ubuntu:~$ mkdir dir1/dir2/dir3
不过使用“-p”选项会简单许多,一步达到目标。
linux@ubuntu:~$ mkdir –p dir1/dir2/dir3
linux@ubuntu:~$ ls –R dir1
dir1:
dir2
dir1/dir2:
dir3
dir1/dir2/dir3:
5)rmdir命令用于删除一个目录。rmdir命令一般语法格式为:
rmdir [ -p ] directory_name
其中,directory_name为要删除的一个或多个目录名。
使用选项“-p”表示可以递归删除子目录,即多层目录。
需要说明的是,删除的目录必须为空目录,并且必须具有对该目录有写入权限。
假设要删除下面这样结构的目录。
dir1
dir1/dir2
dir1/dir2/dir3
当然可以使用三条rmdir命令从里向外依次删除各层目录(保证删除的目录为空)
linux@ubuntu:~$ rmdir dir1/dir2/dir3
linux@ubuntu:~$ rmdir dir1/dir2
linux@ubuntu:~$ rmdir dir1/
不过使用“-p”选项可以一步到位。
以上命令的执行效果与“rm –r dir1”执行效果相同,并且后者的效率更高,因为它不要求各层目录均为空。
linux@ubuntu:~$ rmdir –p dir1/dir2/dir3
(6)创建链接文件
1) Linux中有两种类型的链接:
a. 硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。
因此,硬链接不能跨越文件系统。
b. 软链接(符号链接)是利用文件的路径名建立链接。
通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。
2) 需要注意的是,如果是修改硬链接的目标文件名,链接依然有效;如果修改软链接的目标文件名,
则链接将断开;对一个已存在的链接文件执行移动或删除操作,有可能导致链接的断开。
假如删除目标文件后,重新创建一个同名文件,软链接将恢复,硬链接不再有效,因为文件的inode已经改变。
(7)ln命令
1)命令可以用于创建文件的链接文件。ln命令一般语法格式为:
ln [ -s ] target link_name
2)其中,选项“-s”表示为创建软链接。在缺省情况下,创建硬链接。参数target为目标文件,link_name为链接文件名。
如果链接文件名已经存在但不是目录,将不做链接。目标文件可以是任何一个文件名,也可以是一个目录。
linux@ubuntu:~$ ln -s /proc/cpuinfo mycpuinfo
linux@ubuntu:~$ ls –l mycpuinfo
lrwxrwxrwx 1 wdl wdl 13 2007-09-22 00:43 mycpuinfo -> /proc/cpuinfo
以上命令为/proc/cpuinfo文件创建了一个软链接文件。使用“ls –l”命令可以查看到新创建的链接文件所指向的目标文件名。
【2】文件的归档和压缩
(1)压缩文件
用户在进行数据备份时,需要把若干文件整合为一个文件以便保存。尽管整合为一个文件进行管理,但文件大小仍然没变。
若需要网络传输文件时,就希望将其压缩成较小的文件,以节省在网络传输的时间。因此本节介绍文件的归档与压缩。
(2)
归档文件是将一组文件或目录保存在一个文件中。
压缩文件也是将一组文件或目录保存一个文件中,并按照某种存储格式保存在磁盘上,所占磁盘空间比其中所有文件总和要少。
a. 归档文件仍是没有经过压缩的,它所使用的磁盘空间仍等于其所有文件的总和。因而,用户可以将归档文件再进行压缩,使其容量更小。
b. gzip是Linux中最流行的压缩工具,具有很好的移植性,可在很多不同架构的系统中使用。bzip2在性能上优于gzip,提供了最大限度的压缩比率。
如果用户需要经常在Linux和微软Windows间交换文件,建议使用zip。
压缩工具 解压工具 文件扩展名
gzip gunzip .gz
bzip2 bunzip2 .bz2
zip unzip .zip
(3) 目前,归档工具使用最广泛的tar命令,可以把很多文件(甚至磁带)合并到一个称为tarfile的文件中,通常文件扩展名为.tar。
然后,再使用zip、gzip或bzip2等压缩工具进行压缩。
(4) shell归档和压缩工具
使用shell归档和压缩工具可以更直接地完成文档的打包任务。由于该类shell命令是成对使用的,因此下面按对介绍相关命令。
(5) gzip与gunzip命令
与zip明显区别在于只能压缩一个文件,无法将多个文件压缩为一个文件。gzip命令符号模式的一般语法格式为:
其中,filename表示要压缩的文件名,gzip会自动在这个文件名后添加扩展名为.gz,作为压缩文件的文件名。
gzip [ -l| -d | -num ] filename
选项 描述
-l 查看压缩文件内的信息,包括文件数、大小、压缩比等参数,并不进行文件解压
-d 将文件解压,功能与gunzip相同
-num 指定压缩比率,num为1~9个等级
gunzip命令符号模式的一般语法格式为:
gunzip [ -f ] file.gz
其中,选项“-f”用于解压文件时,对覆盖同名文件不做提示。
在执行gzip命令后,它将删除旧的未压缩的文件并只保留已压缩的版本。以下命令以最大的压缩率对文件file_1进行压缩,生成file_1.gz文件。
使用“-l”选项可以查看压缩的相关信息。最后使用gunzip命令对文件进行了解压。与压缩时相反,file_1.gz文件会被删除,继之生成file_1。
linux@ubuntu:~$ gzip -9 file_1
linux@ubuntu:~$ gzip -l file_1.gz
compressed uncompressed ratio uncompressed_name
1200 4896 76.0% file_1
linux@ubuntu:~$ gunzip file_1.gz
(6) tar命令
tar命令主要用于将若干文件或目录合并为一个文件,以便备份和压缩。当然,之后出现tar程序的改进版本,可以实现在合并归档的同时进行压缩。
tar命令符号模式的一般语法格式为:
tar [ -t | -x | -u | -c | -v | -f | -j | -z ] tarfile filelist
-t 显示归档文件的内容
-x 释放归档文件
-u 更新归档文件
-c 创建一个新的归档文件
-v 显示归档和释放的过程信息
-f 用户指定归档文件的文件名,否则使用默认名称
-j 由tar生成归档,然后由bzip2压缩
-z 由tar生成归档,然后由gzip压缩
第一,将myExamples/目录下的所有文件全部归档,打包到一个文件中myExamples.tar;
第二,将myExamples/目录下的所有文件全部归档,并使用bzip2压缩成一个文件myExamples.tar.bz;
第三,将myExamples/目录下的所有文件全部归档,并使用gzip压缩成一个文件myExamples.tar.gz。
linux@ubuntu:~$ tar –cf myExamples.tar myExamples
linux@ubuntu:~$ tar -cjf myExamples.tar.bz myExamples
linux@ubuntu:~$ tar -czf myExamples.tar.gz myExamples
linux@ubuntu:~$ ls -lh myExamples.tar*
-rw-r--r-- 1 wdl wdl 9.3M 2007-09-23 00:42 myExamples.tar
-rw-r--r-- 1 wdl wdl 8.6M 2007-09-23 00:43 myExamples.tar.bz
-rw-r--r-- 1 wdl wdl 8.5M 2007-09-23 00:44 myExamples.tar.gz
如果想查看一下归档文件中的详细内容,使用类似以下命令:
linux@ubuntu~$ tar –tvf myExamples.tar.gz
使用以下命令完成tar文件的释放。其中,“tar -xjf”和“tar –xzf”等效与先解压缩后释放tar文件。
linux@ubuntu:~$ tar –xvf myExamples.tar
linux@ubuntu:~$ tar -xvjf myExamples.tar.bz
linux@ubuntu:~$ tar -xvzf myExamples.tar.gz
笔记
【1】网络配置基础
(1)用户既可以通过命令行的方式,也可以通过友好的图形界面,轻松完成网络配置。
(2)实现Linux网络配置的惟一目标就是修改系统中众多的网络配置文件,
如/etc/interfaces、/etc/hosts,/etc/resolv.conf 等等。
(3)通常,用户可能使用普通以太网卡、无线网卡、调制解调器等不同类型的设备接入网络。
不同类型的网络设备在主机中被映射为相应的网络接口,比如以太网卡映射为eth,无线网卡映射为wlan。
有时,用户还可能同时使用多个网络设备,就会出现eth0、eth1…,或wlan0、wlan1…的情况。
那么,如何标识每个连接到Internet的网络接口呢?
解决办法是:为每个网络接口分配一个全世界范围内惟一的32bit的标识符。这个标识符就是IP(Internet Protocol)地址。
【2】配置IP地址
(1)IP地址
IP地址包括三部分:Internet网络号(Net-ID)、子网号(Subnet-ID)和主机号(Host-ID)。
三级IP地址 net-id subnet-id host-id
子网掩码 1111,1111,1111,1111 1111,1111 0000,0000
(2)因而可以这样解释:一个IP地址惟一标识了,处在某个互联网中的,某个子网的,某个网络接口。
(3)根据Internet网络号的字段长度(1,2,3字节长),IP地址区分为A类、B类、C类。三类IP地址的掩码如下所示。
1) A类地址的默认子网掩码是255.0.0.0,或0xFF000000;
2) B类地址的默认子网掩码是255.255.0.0,或0xFFFF0000;
3) C类地址的默认子网掩码是255.255.255.0,或0xFFFFFF00;
(4) IP网络中通常用最小的IP地址标识网络本身,将最大的IP地址作为该网络的广播地址,其余所有IP地址都分配给网络中的主机。
然而,局域网中的主机并不能直接访问Internet,需要通过一个作为代理的网关或网络地址转换服务(NAT)才能访问Internet。
通常将IP地址的第一个或最后一个留给该网络的Internet网关。
(5) 配置IP地址
接入网络的计算机主机依靠IP地址,惟一地标识其在网络中的身份,因此为主机配置IP地址是接入网络的关键。
配置IP地址的方法有两种:
1) 配置静态IP:在主机进入网络之前,事先为主机设置固定的IP地址;
2) 配置动态IP:选择DHCP网络服务,在主机进入网络之后,动态随机获取IP地址。
【3】网络相关命令
(1) Ifconfig命令
ifconfig是GNU/Linux中配置网卡的基本命令,包含在net-tools软件包中。它可用于显示或设置网卡的配置,
如IP地址、子网掩码、最大分组传输数、IO端口等,还可以启动或禁用网卡。
ifconfig命令有以下两种格式:
ifconfig [interface]
ifconfig interface [aftype] option | address…
ifconfig的第一种格式用于查看当前系统的网络配置情况;
第二种格式用于配置网卡,包括添加、删除网卡,以及绑定多个IP地址等。
1) 如果主机安装了第二块、第三块网卡,则有eth1,eth2标识。常见的接口类型还有以下几种(N表示接口号):
2) pppN表示调制解调设备
3) wlanN表示无线网卡
4) trN表示令牌环网卡
5) 如果只是关心某个网络设备,可以在ifconfig后面加上接口名称,则只显示该设备的相关信息,例如:
linux@ubuntu:~$ ifconfig eth1
6) 假设主机现有的IP地址为192.168.182.129,需要为其重新分配IP地址192.168.182.128,即。使用ipconfig命令设置主机的第一块网卡(eth0)的IP地址。
(2) 配置动态IP地址
1) 在大型网络中,由于存在许多的移动计算机系统,随时都可能进入网络,在每次更换网络时,就不得不重新配置网络信息。
如果计算机在网络里能够自动获取IP地址、子网掩码、路由表、DNS服务器地址等网络信息,具有动态配置IP的能力,就可以大大简化客户端的网络配置难度。
动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)可以实现动态分配IP资源。
2) 只要在局域网中架设有DHCP服务器,在Ubuntu Linux中为主机配置DHCP客户端是非常容易的。需要说明的是,通常普通以太网卡和无线网卡可以配置动态IP,
而调制解调器等网络设备不能配置动态IP。
linux@ubuntu:~$ dhclient
3) 动态IP的获取过程
可比作一个“租赁”过程。DHCP服务器好比是IP地址的出租方,用户主机(即DHCP客户端)好比是IP地址的临时租用者。
如果将用户主机设置为DHCP客户端之后,手动启动网络服务,就可以从执行结果中看出获取动态IP的过程。
执行过程中包括以下四个阶段。
a. 客户端寻找DHCP服务器(DHCPDISCOVER):客户端广播申请动态IP的请求;
b. 服务器提供可分配的IP地址(DHCPOFFER):所有接收到请求的DHCP服务器都将向客户端提供一个IP地址;
c. 客户端接受IP地址租借(DHCPREQUEST):客户端从多个IP选择中挑选一个,通知DHCP服务器,并标识出所选中的服务器;
d. 服务器确认租借IP(DHCPACK):被选中的DHCP服务器最后发出一个确认信息,包含IP地址、子网掩码、默认网关、DNS服务器和租借期(客户端使用这个IP的这段时间,称为租借期)。
最终客户端临时“租借”的IP地址为192.168.182.129。
(3) IP地址存放在哪里——interfaces配置文件
无论是配置静态IP还是动态IP,计算机系统将IP信息保存放在什么地方?答案是配置文件“/etc/network/interfaces”。
在Ubuntu Linux启动时就能获得IP地址的配置信息。若是配置静态IP,就从配置文件中读取IP地址参数,直接配置网络接口设备;
若是配置动态IP,就通知主机通过DHCP协议获取网络配置。
以下分别为配置静态IP和动态IP时,配置文件“/etc/network/interfaces”的实例。
(4) DNS客户端配置文件—resolv.conf
1) Ubuntu Linux将DNS服务器地址保存在配置文件/etc/resolv.conf中。
2) 依然延续上面的例子,添加DNS服务器IP地址后,查看配置文件/etc/hosts,如下所示。
linux@ubuntu:~$ cat /etc/resolv.conf
nameserver 172.16.28.1
nameserver 202.204.58.2
nameserver 192.168.182.2
(5) ping命令
1) ping(Packet Internet Groper)命令可能是最有名气的网络连接检测工具。
它使用了Internet控制报文协议(ICMP)回送请求与回送应答报文,测试两个主机之间的连通性。该命令的一般格式如下所示。
2) ping命令测试的远程主机,既可用域名,也可用IP地址标识。
ping [DomainName | IP-address]
3) 可以使用该命令来判断主机与远程主机是否可达,或之间的网络是否拥塞。min/avg/max/mdev是ping命令的完成测试后的统计结果,
分别表示最小响应时间/平均响应时间/最大响应时间/响应时间方差。这些指标用于反应网络的联通程度。
linux@ubuntu:~$ ping www.ustb.edu.cn
4) ping命令执行时,会持续不断地向目的主机发送ICMP包。在得到对方的应答后,显示每次连接的统计数据,直到用Ctrl+C组合键中断执行。
但是,目前很多主机通过设置防火墙,对ping命令不予应答。在这种情况下,ping命令由于不停地发送测试数据包,又得不到返回任何结果,而致使ping命令僵死。
不过,使用-c参数设置发送测试数据包的次数,以便在有限时间内完成测试。
linux@ubuntu:~$ ping -c 3 www.google.com
PING www-china.l.google.com (66.249.89.99) 56(84) bytes of data.
--- www-china.l.google.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2000ms
(6) 管理DNS服务器地址
1) DNS域名解析可以在更大范围的计算机网络、Internet,提供域名到IP地址的转换。
网络中的每台计算机都是一个DNS客户端,向DNS服务器提交域名解析的请求;DNS服务器完成域名到IP地址的映射。
2) 因此DNS客户端至少有一个DNS服务器地址,作为命名解析的开端。
(7) nslookup命令
1) 使用nslookup命令可以查看当前系统所使用的DNS服务器的IP地址。
linux@ubuntu:~$ nslookup www.google.com
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
www.l.google.com canonical name = www-china.l.google.com.
Name: www-china.l.google.com
Address: 66.249.89.99
2) 服务器192.168.182.2完成了域名解析。Server表示提供服务的DNS服务器,Address中的#53表示TCP/UDP命名服务的端口号。
若所有的DNS服务器都访问失败,则出现如下的执行结果。
linux@ubuntu:~$ nslookup www.google.com
;; connection timed out; no servers could be reached