Linux软件包和进程及外存管理

tar包管理

创建tar文件

tar 【主选项+辅助选项】 文件或目录

主选项:

  • -c:创建一个新的tar文件
  • -r:在tar文件尾部追加文件
  • -t:显示tar文件内容
  • -u:更新tar文件
  • -x:从tar文件中取出文件
  • -delete:从tar文件中删除文件
  • -d:比较tar文件或文件系统的不同之处

辅助选项:

  • -f:使用tar文件
  • -v:显示处理文件的详细信息
  • -X:排除文件集合
  • -z:用gzip压缩或解压
  • -C:改变目录

例:

1)将./ccc/目录下所有文件打包成cccall.tar文件

tar -cvf cccall.tar ./ccc/*

2)把文件file1和file2打包成txt.tar文件

tar -cvf txt.tar file1 file2

3)显示tar文件内容

tar -tf aaa.tar

4)从tar文件中取出文件

tar -xvf aaa.tar

5)向aaa.tar尾部追加文件myfile

tar -rf aaa.tar myfile

Linux下常用的压缩工具

gzip压缩工具

gzip [选项] 压缩或文件

选项:

  • -c:将输出写到标准输出上,并保留原有文件
  • -d:将压缩文件解压
  • -r:递归的查找指定目录并压缩其中的所有文件或者是解压
  • -v:对每一个压缩和解压缩的文件,显示文件名和压缩比
  • -9或best:表示最慢压缩方法,系统默认值为6
  • -t:测试,检查压缩文件是否完整
  • -l:对每个压缩文件显示压缩文件的大小、未压缩文件的大小,压缩比和未压缩文件的名字

例:* 压缩当前目录下的所有文件,并且显示压缩不比,显示已经代替原来的文件**
gzip -v

提示:gzip只能对单个文件进行压缩,压缩后替换原来的文件,但不能呢个对多个文件进行压缩,正因如此,Linux提供了tar命令,用于将若干个文件或文件夹打包成一个文件,然后再压缩成一个.gz文件

gzip解压文件

使用gzip-dv*对当前目录下的压缩文件进行解压

例:
对当前文件下进行解压
gzip-dv *

在tar命令中嵌入压缩命令
.tar.gz

将当前目录下所有文件打包并压缩成ping.tar.gz并显示出来进度
tar cvzf ping.tar.gz ./*

把打包文件解压之当前目录下
tar -zxvf file.tar.gz

把打包压缩文件解压之/text中
tar -zxvf file.tar.gz -C test

zip/unzip命令

zip命令

zip 【选项】压缩后文件名  代压缩文件名或文件夹

选项:

  • -l:最快压缩,压缩率最差
  • -9:最大压缩,压缩率最高
  • -d:从zip文件中移除一个文件
  • -f:以新文件取代现有文件
  • -F:修复已经损坏的压缩文件
  • -g:将文件压缩并附加到特定文件
  • h:显示附注说明
  • -i:指定要加入的某些特定文件
  • L:显示zip命令的版权
  • -m:将特定文件移入zip文件中,并且删除原文件
  • -n:不压缩特定扩展名文件
  • -o:将zip文件的时间设成最后修正zip文件的时间
  • -r:包含子目录
  • -T:测试zip文件是否正常
  • -u:只更新改变过的文件、文件夹和新文件
  • -v:显示版本信息和详细资料
  • -x:不需要压缩的文件

提示:使用zip命令可以将许多文件压缩成一个文件,这与gzip是有区别的

例子:
1)压缩文件或文件夹
zip -r gong.zip ./*
//递归压缩当前目录和子目录下的所有文件和文件夹为gnog.zip,显示压缩过程中每个文件的压缩比

2)显示压缩文件的内容信息
zip -v gnog.zip //查看gong.zip文件内容

3)从压缩文件中删除某个文件
zip -d gong.zip smart.txt
//删除gong.zip压缩文件中smart.txt文件

4)向压缩文件中添加文件
zip -m gong.zip ./rpm_info.txt
//向压缩文件中添加一个txt文件

unzip命令
用于解压缩扩展名为zip的压缩文件。Windows下的winzip压缩的文件Linux下也可以用unzip解压

unzip 【选项】  压缩文件名.zip

选项:

  • -x: 文件列表:解压缩文件但不包括指定的文件
  • -v: 查看压缩文件目录,但不解压缩
  • -t:册设文家有无损坏,但不解压
  • -d: 目录:把压缩文件解压到指定的目录
  • -z:只显示压缩文件的注释
  • -n:不覆盖已经存在的文件
  • -o:覆盖已经存在的文件且不要求用户确认
  • -j:不重建文档的目录结构,把所有文件解压到同一目录下

(1)将压缩文件解压到当前目录

unzip gong.zip

(2)将压缩文件解压到指定目录

unzip gong.zip  -d/tmp

bzip2命令

bzip2是一个无损压缩软件,具有高质量的数据压缩能力,可以压缩到原来文件的10%-15%。
参数:

  • -c:将数据压缩或解压至标准输出
  • -d:强制解压缩
  • z:和d选项类似。
  • -t:检查指定文件的完整性,但并不对其解压缩。
  • -f:强制覆盖输出文件,通常bzip2不会覆盖已经存在的文件
  • -k:在压缩或解压缩时保留输出文件
  • -s:在压缩/解压缩以及检查时减少内存用量。采用一种修正的算法进行压缩和测试,每个数据块仅需2.5个字节
  • v:显示每个被处理文件的压缩率。

用bzip解压文件

bzip *    //用bzip命令压缩当前目录下的所有文件夹

用bunzip2解压文件

bunzip  *

提示:如果解压缩过程中有文件不是bz2后缀,则对该文件解压缩时会报错

进程管理

Linux是一个多用户、多任务操作系统。在这样的的系统中,各种计算机资源的分配和管理都以进程为单位,为了协调多个进程对这种共享资源的访问,操作系统要跟踪多种进程的活动,以及他们对系统资源的使用情况,从而实施对进程和资源的动态管理。

一、进程和作业的基本概念

1.进程

进程是指一个具有独立的程序的一次运行过程。也是系统进行资源分配和调度的基本单位,及每个程序模块和它执行时所处理的数据组成了进程。

2.作业

正在执行的一个或多个相关进程可以形成一个作业。使用管道命令和重定向命令,一个作业可以启动多个进程
根据作业的运行方式的不同,可将作业分为两大类。
前台作业:运行与前台,用户可对其进行交互操作。
后台作业:运行与后台,不接受终端的输入,单向终端输出执行结果。
作业既可以运行在前台也可以在后台,但同一时刻,每个用户只能有一个前台作业

3.进程的基本状态以及转换

进程的基本状态
通常在操作系统中,进程至少要有三种基本状态,分别为:运行态、就绪态和阻塞态。
Linux系统中进程一般有以下几种:
运行态:(Running)、就绪态(Ready)、阻塞态(Blocked)、睡眠态(Sleeping)、停止态(Task_Interruptible)、僵死态(Task_Zomie)

进程间的转换

进程的类别
交互进程:由一个shell启动的进程,每个进程都有其自己的特点和属性
批处理进程:不需要与终端相关,提交在等待队列的作业。
守候进程:Linux系统启动时自动启动,并在后台运行,用于监视特定服务

Linux守候进程介绍
守候进程是在后台运行而没有终端或登陆shell与之结合在一起的进程。守候进程在程序启动时开始运行,程序结束时停止。这些进程没有控制终端,所有称为在后台运行。Linux系统有许多标准的守候进程,其中一些周期性的运行来完成特定的任务,其余的连续运行,等待处理系统中发生的某些特定的事件。

启动守候进程有如下几种方法
在引导系统时启动:此情况下的守候进程通常在系统启动script的执行期间被启动,这些script一般存放在/etc /rc.d中
手动从shell提示符启动00000:任何具有相应的执行权限的用户都可以使用这种方法启动守候进程
使用crond守候进程启动:这个说后进程查询放在/var/spool/cron/crontabs目录中的一组文件,这些文件规定了需要周期性执行的任务。
执行at命令启动:在规定的一个日期执行一个程序。

重要的守候进程介绍

  • amd:自动安装NFS(网络文件系统)
  • apmd:高级电源管理
  • httpd:web服务器
  • xinetd:支持多种网络服务的核心守候程序
  • crond:Linux下的计划任务
  • dhcpd:启动一个DHCP(动态IP地址分配)服务器
  • gated :网管路由守候进程,使用动态的OSPF路由选择协议
  • lpd:打印服务
  • named:DNS服务
  • netfs:安装NFS、Samba、NetWare网络文件系统
  • network:激活已配置网络接口的脚本程序
  • nfsd:NFS服务器
  • sendmail:邮件服务器sendmail
  • smb:Samba文件共享/打印服务
  • snmpd:本地简单网络管理守候进程
  • Syslog:一个让系统引导时启动syslog和klogd系统日志守候进程的脚本

二、进程和作业管理

手工启动

手工启动是指由用户输入shell命令后直接启动进程
前台:一般直接输入程序名(#vi)就可以启动一个前台程序
后台:在vi后面加 &
提示:以上两种进程都是由shell进程产生的,也就是说shell创建了新进程,这种称父子关系,shell是父进程,一个父进程可以有多个子进程。

shell命令

ps命令

功能:静态显示系统进程信息

格式:ps【参数】
  • -a:显示终端上的所有进程(不包括没有终端的进程)
  • -u:显示进程所有者以及其他一些进程信息,如用户名和时间
  • -x:显示所有非控制终端的进程
  • -e:显示所有进程(不现实进程状态)
  • -f:完全显示
  • -l:以长格式显示进程信息
  • -w:宽输出
  • -pid:显示由进程ID指定的进程的信息
  • -tty:显示指定终端上的进程信息
  • -help:显示该命令的版本信息

示例:
ps -ef //显示系统中所有进程的全面信息
ps -aux//显示所有用户有关进程的所有信息

进程信息中各项参数说明:

  • USER:进程的启动项
  • PID:进程号
  • %CPU:占CPU的百分比
  • %MEM:占用内存比
  • VSZ:占用的虚拟内存大小
  • RSS:占用的物理内存大小
  • TTY:进程的工作终端(?表示没有终端)
  • STAT:进程的状态。其中R表示正在执行中;S表示休眠静止状态;T表示暂停执行;Z表示僵死状态。
  • COMMAND:运行时间

top命令:

ps命令只提供过去完成过的进程的一次性快照,top命令它提供了对系统处理器状态的实时监视,显示了系统中CPU最敏感的任务列表
功能:动态显示CPU利用率、内存利用率和进程状态等相关信息。

格式:top【选项】妙数
  • -d:指定美两次屏幕信息的刷新之间的时间间隔,用户可以使用交互命令s改变它
  • -q:使top没有任何延时的进行刷新。如果由超级用户权限,top将尽可能高的优先级运行
  • -S:使用累加模式
  • -s:使top在安全模式中运行,可以消除交互模式下的潜在危险
  • -c:显示整个命令行,而不是只显示命令名
  • -help:获取top的帮助
  • k PID:终止指定的进程
  • q:退出top

示例
top //默认每5秒刷新一次

jop命令

功能:显示当前多有作业

格式: jop【选项】
  • -p:金显示进程号
  • -l:同时显示进程号和作业

bg命令

功能:将前台作业或进程切换到后台运行,若没有指定进程号,则将当前作业切换到后台

格式:bg【作业编号】

(此外,还可以使用Ctrl+Z组合键将前台程序转入后台停止运行;使用Ctrl+C组合键终止前台程序的运行)

示例1:
//使用vi编辑file文件,用Ctrl+Z组合键挂起vi,再切换到后台
vi file ctrl+z bg l

示例2:
bg//将队首的作业调入后台运行
bg 3 //将3号作业调入后台运行

fg命令

功能:把后台的作业调入前台运行

格式:fg 【作业号】

示例:
fg //对首的作业调入前台运行
fg 2//将队列中的2号作业调入前台运行

kill命令

功能:终止正在运行的进程或作业,超级用户可以终止所有进程,普通用户只能终止自己启动的进程

格式:  kill 【选项】 PID
  • -9:示当无选项的命令不能终止进程时,可强制终止指定进程

示例:
kill -9 3 8 5//一次杀死3,8,5多个进程

killall命令

功能:终止指定程序名的所有进程

格式:killall  -9  程序名

示例:
killall -9 vsftpd//杀死所有对应vsftpd程序的进程

nice命令

功能:指定启动进程的优先级

格式:nice 【-优先级】命令

示例:

nice -5 ftp       //启动ftp程序,其优先级为5

date命令

功能:显示或设定系统日期、时间

格式:date 【MMDDhhmm[CC]YY[.ss]

示例:
date //显示日期和时间
date 102310302008.30 //设置日期和时间

id命令

功能:显示当前用户的详细ID

格式:id 【参数】
  • -a:显示所有ID信息
  • -u:显示UID
  • -g:显示用户所属组的GID
  • -G:显示用户附加组GID

二、进程调度

at调度

功能:安排系统在指定时间运行程序

格式:at 【参数】时间
  • -d:删除指定的调度作业
  • -m:任务结束后会发送mail通知用户
  • -f 文件名:从指定文件中读取执行的命令
  • -q 【a-z】:指定使用的队列
  • -l:显示等待执行的调度作业

1.时间的绝对表示方法
HH:MM (24小时表示法)
HH:MM:AM(12小时表示法)
2.时间的相对表示法

Now+时间

示例:
now+n minutes // 从现在起向后n分钟
now+n days// 从现在起向后n天
now+n hours // 从现在起向后n小时
now+n weeks // 从现在起向后n周

案例分析1:设置at调度,要求在2009年12月31日23时59分向登陆在系统上的所有用户发送”happy new year“信息:
at 23:59 12/31/2009
at>who
at>all happy new year!
at> //ctrl+d结束作业
job 1 at 2009-12-31 23:59

显示at等待队列的作业信息
atq

删除at等待队列中序号为1的作业
atrm 1

batch调度

功能:和at命令功能几乎相同,唯一区别是如果不指定运行时间,进程将在系统较短空闲时间运行

格式: batch 【选项】【时间】

cron调度

功能:安排作业让系统在指定时间周期运行
原理:cron进程,每隔一分钟,检查/var/spool/cron目录下用户提交的作业文家中有无任务需要运行

crontab命令

功能:维护用户的crontab配置文件

格式:crontab 【参数】文件名
  • -u 用户名:指定具体用户的cron文件
  • -r:删除用户的crontab文件
  • -e:创建并编辑crontab配置文件
  • -l:显示crontab配置文件内容

cron进程

cron进程在系统启动时自起启动,并一直运行在后台,负责检测crontab配置文件,并按其设置内容,定期重复执行指定的cron调度工作

案例:
要求root用户在每周二、四、六早上3点启动系统建立crontab文件
vi rootroot.cron //以root用户登陆
格式:分 时 日 月 星期 要运行的程序
实例:0 3 2,4,6 sbinshutdown -r now
运行crontab文件
crontab /root / root.cron //建立当前标准格式用户crontab文件
crontab命令提交的调度任务存放在/var/spool/cron目录中,并且以提交的用户名称命名,等待crond进程来调度执行。
通过/etc/at.deny和/etc/at.allow文件可以控制执行at命令的用户,at.deny存放禁止执行at命令用户名;at.allow存放允许执行at命令的用户名。

示例:
禁止user1用户执行at命令安排调度任务
vi /tec /at.deny
然后向文件中添加user1,最后保存文件

外存管理

Linux中无论是硬盘还是软盘都必须经过挂载才能进行文件存取操作。所谓挂载就是
将存储介质内容映射到指定的目录中,此目录即为设备的挂载点。对介质的访问就是对挂载点目录的访问。一个挂载点一次只能挂载一个设备。

磁盘管理的shell命令

free命令

功能:查看内存使用情况,包括虚拟内存、物理内存和缓冲区

free【参数】
  • -b: 以字节为单位,默认选项
  • -k: 以KB为单位
  • -m:以MB为单位

du命令

功能:显示目录中文件的空间大小

du【参数】【路径名】
  • -m:以MB为单位,统计文件的容量(默认KB)

df命令

功能:统计分区的使用情况

df【参数】【分区号/装载点】
  • -m:以MB为单位,统计使用情况

示例:
df 显示当前所有已装载的分区使用情况
df /home 显示/home分区使用情况

磁盘管理

Fdisk分区

Fdisk -l         //查看机器所有挂u硬盘个数以及分区情况
Fdisk /dev/sda   //进入设备/dev/sda

Command(m for help):

  • -m: 帮助
  • -d: 删除一个分区
  • -l: 列出分区类型
  • -n: 添加一个分区
  • -o: 创建一个分区
  • -p: ‘p’列出分区表
  • -q: 不保存退出
  • -t: 改变分区类型
  • -w: 把分区表写入硬盘并退出
  • -x: 扩展应用,专家功能

装载和卸载文件系统

1.手动命令装载

功能:装载文件系统到指定的目录,该目录即为此设备的挂载点,挂载点目录可以不为空。但是必须已经存在。文件系统挂在后,该挂载点目录的原文件暂时不能显示且不能访问,取代它的是挂载设备上的文件。该目录上原文件待到挂载设备卸载后,才能重新访问。

mount【选项】【设备名】【装载点】
  • -t 文件系统类型(type):挂载指定文件系统类型
  • -o ro:只读方式
  • -o rw:读写方式
  • -o iocharset=gb2312:显示中文

示例:
1.查看已挂载的所有文件系统:mount
Linux在启动时会自动挂载硬盘上的根分区,如果安装时建立多个分区,那么也可以查看多个分区的挂载情况。另外根据系统运行的需要,系统还自动挂载多个与存储设备无关的文件系统。
2挂载光盘:

Mkdir /mount/cdrom
Mount -t ios9660  /dev/cdrom  /mount/cdrom
Ls /mount/cdrom                              //显示光盘中的内容

挂载U盘:

Mkdir /mount/usb                      //创建目录
Mount -t vfat /dev/sdal /mount/usb    //挂载U盘
Ls /mount/usb                         //显示U盘中的内容

U盘设备在Linux上通常显示为SCSI设备,如/dev/sdal、/dev/sdbl等,如果u盘中的文件产生于windows环境,则可用‘-t vfat选项’。
通过mount可以查看挂载设备情况:

Mount  /dev/cdrom   /mnt/cdrom
Mount -t ext3 /dev/hda5   /mnt/hard5
Mount -o ro   /dev/hda6   /mnt/hard6

2.自动装载

功能:系统启动时自动装载文件系统

 vi  /etc/fstab

Fstab文件结构:

卷标       装载点   类型   装载选项    备份选项    检查顺序
/dev/hda5  /abc   ext   defaults     0          1
  • 卷标: 系统分区的表示
  • 装载选项:defaults表示默认启动时自动装载、noauto表示设定启动时不装载、rw表示读写方式装载、ro表示以只读方式装载、usrquota表示设定用户配额、grpquota表示设定组配额
  • 备份选项:针对ext2,默认值为0,表示不备份
  • 检查顺序:指fsck检查顺序,0表示不检查

示例:
把/dev/hda5在系统启动时自动装载到目录/abc下,且备份选项为0,检查顺序为1:
Vi /etc/fstab
添加如下内容:
/dev/hda5 /abc ext2 defaults 0 1

卸载文件系统ument

功能:卸载指定的设备,即可使用设备名也可使用挂载目录名

umount 【选项】【装载点】
  • -t:文件系统类型:指定文件系统类型

列子:
Umount /mnt/cdrm卸载光盘
Umount /dev/sdbl 卸载U盘

检测文件系统fsck

功能:检测并修复文件系统

fsck【设备文件名】
  • -p:自动修复检测道德错误

示例:
Fsck -p /dev/hda5 //检查硬盘某一分区上的文件系统

Df命令

功能:显示文件系统的相关信息

df【选项】
  • -a:显示全部文件系统的使用情况
  • -t: 文件系统类型:显示全部文件系统的使用情况
  • -x: 文件系统类型:仅显示指定文件系统
  • -h: 文件系统:显示除指定文件系统以外的其他文件系统的使用情况

Mkfs命令

功能:在磁盘文件系统上建立文件系统,也就是进行磁盘格式化

mkfs【选项】 设备
  • -t: 文件系统类型:建立指定的问价系统,默认值为ext2
  • -c:建立文件系统前首先检查磁盘坏块

例如:
将软盘格式化为ext2格式:
mkfs dev/fd0

磁盘配额概述

文件系统配额是一种磁盘空间的管理机制。使用文件系统配额可限制用户或组群在某个特定文件系统中所能使用的最大空间.配额管理文件保存于实施配额管理的那个文件系统的挂载目录中,其中aquota.user文件保存用户及配额的内容,而aquota.group文件保留组群级配额的内容。其中有分硬配额和软配额
应配额:是用户和群组可使用空间的最大值。不可超出
软配额:也定义用户和群组使用空间,但它在一段时间被超过后,会有7天的过渡期,此期间可以不断超过使用。

设置文件系统配额

超级用户必须首先编辑/etc /fstab文件,指定实施配额管理文件系统以及实施何种配额管理,其次应执行quotacheck命令检查进行配额管理的文件系统并创建配额管理文件,然后利用edquota命令编辑配额管理文件,最后启动配额管理即可。

quotacheck命令

功能:检查文件系统的配额限制,并可创建配额管理文件

格式:quotacheck【选项】
  • -a(all): 检查/etc/fstab文件中需要进行配额管理的分区
  • -g(group): 检查文件系统中文件和目录的数目,并可创建quota.group文件
  • -u(user): 检查文件中文件和目录的数目,并可创建quota.user文件
  • -v(verbose):显示命令的执行过程

edquota命令

功能:编辑配额管理文件

edquota【选项】
  • -用户名:设定指定用户的配额
  • -g(group)组群名:设定指定群组的配额
  • -p 用户名1 用户名2:将用户1的配额设置复制给用户2

quotaon命令

功能:启动配额管理,其主要选项与quotacheck命令相同

quotaon【选项】

配置步骤

1.检查quota软件包是否安装
rpm -q quota
2.如果未安装先安装
mount /mnt /cdrom
cd /mnt /cdrom /RedHat/RPMS
rpm -ivh quota.....
相关文件:
/sbin /quotacheck 生成配额文件
/sbin/quotaon 启动磁盘配额
/sbin /quotaoff关闭磁盘配额
/user /sbin /edquota 设定用户/组配额
/user /bin /quota 显示用户/组的配额信息

3.修改fstab文件
给相应的磁盘分区设定配额信息,即在安装选项中加入userquota或者grpquota参数
例如:/dev /hda5 /abc ext2 defaults,userquota 0 1
4.使fstab更改生效
重新启动系统,使fstab更改生效

5.在实行配额限制的磁盘分区的挂载点下创建的配额信息文件
cd /abc
touch aquota.user
touch aquota.group

6.生成标准的配额信息文件

quotacheck【参数】【挂载点】
  • -a:所有实行配额文件的系统
  • -u:生成用户配额文件
  • -g:生成组群配额文件
  • -v;显示详细信息

示例:quotacheck -uv /abc

7.设定用户或组群的配额限制

edquota【参数】【用户名/组群名】
  • -u:设置用户的quota,这是预设的参数
  • -g:设置组群的quota

8.启动用户或群组配额限制

quotaon 【参数】【挂载点】
  • -a:所有实行配额的文件系统
  • -u:生成用户配额文件
  • -g:生成组群配额文件
  • -v:显示详细信息

9.其他相关命令

quotaoff 【参数】【挂载点】   //关闭磁盘配额限制

cquotaoff -uv /home //关闭磁盘配额限制,参数同quotaon

quota<用户名/-g  组名>

quota u1 //显示U1用户的使用情况
Quota //显示当前用户使用情况

案例分析1:对文件系统实施用户级的配额管理,普通用户tom的软配额为100MB,硬配额为150MB。

1)使用文件编辑工具编辑/etc /fstab文件,对所在行进行修改,增加命令选项userquota。此时etc/fstab文件内容如下所是:
Label           /              ext3  userquota    defaults         1  1
Label=/boot     /boot          ext3               defaults         1  2
None            /dev /pts      devpts            gid=5,mod=620     0  0
None            /proc          proc               defaults         0  0
None            /dev /shm      tmpfs              defaults         0  0
/dev /sda3      swap           swap               defaults         0  0
/dev /cdrom     /mnt /cdrom    udf,iso9660    noauto,owner,kudzu   0  0
/dev /cdrom     /mnt /floppy   auto           noauto,owner,kudzu   0  0

2)使用reboot命令重新启动系统文件,文件系统会根据修改的内容重新进行挂载

3)利用quotacheck命令创建aquota.user文件
Quotacheck  -avn

4)利用edquota命令编辑aquota.user文件,设置用户tom的配额
Edquota  tom
Disk quotas for user tom(uid 500)
Filesytem                       blocks   soft   hard    inodes    soft   hard
/dev /sda1                       100     0      0       11      0      0

由此可知,实施配额管理的文件系统的逻辑卷名是/dev /sad1,tom用户已使用了100KB的磁盘空间,设置tom用户的软硬配额,默认单位为KB,如下,修改后保存:

Filesytem                      blocks   soft     hard    inodes    soft   hard
/dev /sda1                     100    102400  153600     11      0      0

5)启动配额管理
edquota  -avn
/dev /sda1 [/]:user  quotas turned  on

6)测试用户配额
把hda5分区挂载在/abc下,对该分区做磁盘配额
Mount  /dev /hds5   /abc
Vi  /etc /fstab
Label           /              ext3           defaults              1  1
Label=/boot     /boot          ext3           defaults              1  2
None            /dev /pts      devpts         gid=5,mod=620         0  0
None            /proc          proc           defaults              0  0
None            /dev /shm      tmpfs          defaults              0  0
/dev /sda3      swap           swap           defaults              0  0
/dev /cdrom     /mnt /cdrom    udf,iso9660    noauto,owner,kudzu    0  0
/dev /cdrom     /mnt /floppy   auto           noauto,owner,kudzu    0  0
/dev /hds5      /abc           ext3           defaults,userquota   1  2

建立ah用户与xh用户
Useradd  ah
Useradd   xh

设定ah用户在/abc下只允许使用的空间为5MB,使用的节点数为5.
Disk quotas for user ah(uid 501)
Filesytem                      blocks   soft     hard    inodes    soft   hard
/dev /sda5                     100    512000     0      5      0      0

设定xh用户在/abc下只允许使用的空间为10MB,使用的节点数为4
Disk quotas for user ah(uid 501)
Filesytem                      blocks   soft     hard    inodes    soft   hard
/dev /sda5                     100    1024000     0      4      0      0

分别用两个用户登陆,来进行测试
Su ah;su  xh 以两个用户身份登陆,复制文件,测试磁盘空间的使用情况。

案例分析2:对问价系统实施组群配额管理,staff组群的软配额是500MB,硬盘配额是600MB。

1)使用文件编辑工具编辑/etc /fstab文件,对所在行进行修改,增加命令选项groupquota。
此时etc/fstab文件从内容如下所示:
Label          /              ext3  userquota   defaults           1  1
Label=/boot    /boot          ext3              defaults           1  2
None           /dev /pts      devpts            gid=5,mod=620      0  0
None           /proc          proc              defaults           0  0
None           /dev /shm      tmpfs             defaults           0  0
/dev /sda3     swap           swap              defaults           0  0
/dev /cdrom    /mnt /cdrom    udf,iso9660     noauto,owner,kudzu   0  0
/dev /cdrom    /mnt /floppy   auto            noauto,owner,kudzu   0  0

2)使用reboot命令重新启动系统,文件系统会根据修改的内容重新进行挂载。

3)利用quotacheck命令创建aquota.group文件。此时查看目录可以发先系统已经新建组群级配置管理文件aquota.group

4)利用edquota命令,为staff组群设置配额
Edquota  -g  staff
输入此命令后,系统进入vi编辑界面,编辑后部分内容如下:
Disk quotas for user ah(uid 500)
Filesytem                      blocks   soft       hard    inodes    soft   hard
/dev /sda5                     100    512000     614400    11      0      0
5)最后执行”quotaon  -avg”命令,启动组群级配置管理。Staff组群中所在用户在文件系统中可使用的空间总和最多为600MB。

 上一篇
网络基础 网络基础
网络基础一、Linux网络配置基础TCP/IP是Internet网络的标准协议,也是全球使用最广泛、最重要的一种网络通信协议。目前无论是UNLX系统还是Windows系统都全面支持TCP/IP。接入TCP/IP网络的计算机一般都需要进行网络
2019-02-01
下一篇 
如何高效的读一本书 如何高效的读一本书
文/简书-萌薇 问:“我读过很多书,但后来大部分都被我忘记了,那阅读的意义是什么?” 答:“当我还是个孩子的时候,我吃过很多食物,现在已经记不起来吃过什么了。但可以肯定的是,它们中的一部分已经长成为我的骨头和肉。阅读对思想的改变也是如此!”
2019-01-30
  目录