任务五:管理Linux系统的用户与用户组
第一步:查看LINUX系统中的用户
系统中所有的用户存放文件/etc/passwd 可通过【vim /etc/passwd】命令打开查看。
passwd文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有信息。每条记录由7个字段组成,字段间用冒号:隔开,其格式如图所示。
(1)用户名:它唯一地标识了一个用户帐号,用户在登录时使用的就是它。
(2)加密的口令:passwd文件中存放的密码是经过加密处理的。Linux的加密算法很严密,其中的口令几乎是不可能被破解的。盗用帐号的人一般都借助专门的黑客程序,构造出无数个密码,然后使用同样的加密算法将其加密,再和本字段进行比较,如果相同的话,就代表构造出的口令是正确的。因此,建议不要使用生日、常用单词等作为口令,它们在黑客程序面前几乎是不堪一击的。特别是对那些直接连入较大网络的系统来说,系统安全性显得尤为重要。
(3)用户ID:用户识别码,简称UID。Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。普通用户的UID默认是从500开始的。
(4)组ID:用户组识别码,简称GID。不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。普通用户的GID默认是从500开始的。UID与GID默认情况下是一致的。
(5)用户描述:这是给用户帐号做的注解。它一般是用户真实姓名、电话号码、住址等,当然也可以是空的。
(6)主目录:这个目录属于该帐号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。
(7)登录shell:用户登录后执行的命令。一般来说,这个命令将启动一个shell程序。例如,用bbs帐号登录后,会直接进入bbs系统,这是因为bbs帐号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。
第2步:查看用户密码以及有效期的文件。
用户密码以及有效期的存放文件/etc/shadow 可通过如下命令【vim /etc/shadow】打开查看。
shadow文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有用户密码以及有效期等信息。每条记录由8个字段组成,字段间用冒号:隔开,其格式如图所示。
(1)“用户名”是与/etc/passwd文件中的登录名相一致的用户账号
(2)“加密口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,能够登录但是不需要口令;如果是两个感叹号,则表示该用户没有设置密码,不能登录进系统,如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
(3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
(4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
(5)“最大时间间隔”指的是口令保持有效的最大天数。
(6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
(7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
(8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
系统帐号,系统中还有一些默认的帐号,如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(*)号表示,代表它们不能在登录时使用。
【vim /etc/shadow 】编辑用户密码的存放文件,把第一个冒号与第二个冒号之间的字符删除掉,设置 user2 的密码为空。
第3步:查看账号所属组文件。
/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的。
Linux中每当建立一个用户时,同时也建立一个同名的组,此用户默认是加入到此组中。组用户文件存放在/etc/group里面,可以通过【vim /etc/group】命令查看,如图所示。
在图所示的文件中,有四列,每一列对应的释义如下:
第一列:用户组名称;
第二列:用户组密码;
第三列:GID,即组ID;
第四列:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名。
第4步:查看用户组密码文件。
/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码;
通过命令【vim /etc/gshadow】 查看用户组密码存放文件,每个用户组独占一行,如图所示。
在图所示的文件中,有四列,每一列对应的释义如下:
第一列:用户组名称;
第二列:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;
第三列:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用“,”号分割;
第四列:组成员,如果有多个成员,用,号分割。
第5步:建立与删除用户
CentOS中,建立与删除用户的主要命令以及释义如下:
【useradd yhy】新建yhy用户。
【passwd yhy】为yhy用户设置密码,密码输入时无任何显示。
【useradd ybs –d /home/y】新建ybs用户,并指定家目录为/home/y。
【useradd user1 –d / home/user1】此处可以不加【-d】参数,因为用户的默认家目录就在/home下的与用户名相同的目录下。
【useradd user2】增加新用户user2,用户默认家目录为:/ home/user2。
【userdel yhy】表示删除用户,但不删除家目录。
【userdel -r ybs】删除ybs用户,并删除用户家目录。
【usermod –l user2 user1】修改用户user1名称为user2。
【usermod –L user2】锁定用户名user2 ,锁定后user2不能登录。
【usermod –U user2】解锁用户名user2。
【su - user1】root用户切换到普通用户不需要密码。
【su - root】普通用户切换到root用户需要root密码。
备注:【su】命令后加“-”横杆,切换用户时切换到用户的家目录,否则,不改变当前路径。
第6步:建立与管理用户组
CentOS中,建立与管理用户组的主要命令以及释义如下:
【groupadd grp1】新建用户组grp1。
【groupdel grp1】删除用户组 grp1。
【groupmod grp2 grp1】修改用户组名称grp1为grp2。
【gpasswd –a user2 grp2】把用户user2加入到用户组grp2中。
【gpasswd –d user2 grp2】把用户user2加入从用户组grp2中删除。
第7步:几个重要的命令补充
有关用户的操作还有以下命令,详细释义如下:
【who am i 】显示当前以哪个用户登录。
【w】显示目前登入系统的用户详细信息,包括登录IP地址等。
【who】显示目前登入系统的用户简要信息。
【last】记录每个用户的登录次数和持续时间等信息【finger】查找并显示用户信 如finger zhangs表示查看zhangs用户信息。
【su user】 切换用户但不切换当前目录。
【su – user1】切换用户并切换到user的家目录。
【ntsysv】 启动/关闭系统中的服务。
【setup】设置系统运行参数。
任务六 管理Linux系统的文件权限
【任务说明】
由于不可能为每个用户都单独提供完全独立、相互隔离的文件系统,多用户操作系统必须提供一种安全的访问控制机制,使得用户既能和其他用户共享某些文件,又能保证各个用户的文件不会被非法存取或破坏。因而Linux对文件所有者、用户和其他用户,分别设置了存取控制权限,也即读、写和执行权限。
文件的权限有两种表示方法,一种是符号化表示法,另一种是十进制数字表示法。 符号化表示法使用英文字母r(Read)、w(Write)和x(execute)来分别表示读、写 和执行权限。用符号化表示法表示的文件权限共九位,每三位为一组,每一组都是rwx的三个符号与“-”符号的组合,其中“-”符号表示没有该权限。每组分别代表文件所属用户、同组用户和其他非本组用户对该文件的读(r)、写(w)、执行权限(x)。
本任务的主要目的是要自由灵活的管理Linux系统中的文件权限。
【任务实施】
第1步:认识文件权限说明:
当执行【ls -l 】或【 ls –al】 或【ll】命令后显示的结果如图所示。
最前面的第2~10个字符是用来表示一般权限。第一个字符一般用来区分文件和目录:d表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。-:表示这是一个普通的文件。l: 表示这是一个符号链接文件,实际上它指向另一个文件。b.c:分别表示区块设备和其他的外围设备,是特殊类型的文件。s.p:这些文件关系到系统的数据结构和管道,通常很少见到。
第2~10个字符当中的每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。这三个一组共9个字符,代表的意义如表所示:
权限 | 对文件而言 | 对目录来说 |
r(Read读取) | 读取文件内容的权限 | 具有浏览目录的权 |
w(Write写入) | 新增.修改文件内容的权限 | 删除、移动目录内文件的权限 |
x(execute执行) | 执行文件的权限 | 进入目录的权限 |
-(短横杠) | 不具有该项权限 | 不具有该项权限 |
下面以表举例说明:
所有者 | 所属组 | 其他人 | |
-rwx------: | 有读、写和执行 | 无权限 | 无权限 |
-rwxr--r-- | 有读、写与执行 | 读取 | 读取 |
-rw-rw-r-x: | 读取、写入 | 读取、写入 | 读取、执行 |
drwx--x--x | 读、写、进入目录 | 进入该目录,却无法读取任何数据 | 进入该目录,却无法读取任何数据 |
每个用户都拥有自己的专属目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------:表示目录所有者本身具有所有权限,其他用户无法进入该目录。执行mkdir命令所创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。
文件和目录的权限表示,是用rwx这三个字符来代表所有者,用户组和其他用户的权限。有时候,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需三个数字。我们把r、w、x分别用数字4、2、1来表示,权限数字之和即可代表对应的权限:
r: 对应数值4;
w: 对应数值2;
x:对应数值1;
-:对应数值0;
rwx合起来就是4+2+1=7,一个rwxrwxrwx权限全开放的文件,数值表示为777;而完全不开放权限的文件“---------”其数字表示为000。下面以表2-3为例说明字母所对应的数字权限关系。
-rwx------ | 4+2+1,0+0+0,0+0+0 | 700 |
-rwxr--r-- | 4+2+1,4+0+0,4+0+0 | 744 |
-rw-rw-r-x | 4+2+1,4+2+0,4+0+1 | 665 |
drwx―x―x | 4+2+1,0+0+1,0+0+1 | 711 |
drwx------ | 4+2+1,0+0+0,0+0+0 | 700 |
第2步:使用chmod改变文件或目录的访问权限
在文本模式下,可执行chmod命令去改变文件和目录的权限。
【chmod 777 123.txt】把123.txt 文件的权限设置为777。
【chmod 777 /home/user】仅把/home/user目录的权限设置为rwxrwxrw。
【chmod -R 777 /home/user】表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx。
【chmod u=rwx,g=rx,o=rx 123.txt】把123.txt文件设置为755的权限。
这里的u=rwx代表user(文件的拥有者)的权限等于rwx,g=rx代表group(所属组)的权限等于rx,o=rx代表other(其他人)的权限等于rx。
第3步:更改文件的所有者以及所属组
文件与目录不仅可以改变权限,使用chown命令还可以改变其所有者及所属用户组。
先使用【touch 123.txt】命令创建一个文件后再执行【ls –l】或【ll】命令看看文件的情况,如图所示。
从上图所示可以看到123.txt文件的所有者为root,所属用户组为root。
执行下面命令,把123.txt文件的所有权转移到用户yhy,如图所示。
【chown yhy 123.txt】把123.txt文件的拥有者改为yhy用户。
【 ls –l】查看文件详细系统。
要改变所属组,可使用【chown :yhy 123.txt】命令把123.txt文件的所属组改为yhy ,然后使用【ls –l】命令查看文件详细系统,如图所示。
要修改目录的权限,使用-R参数就可以了,方法和前面一样。
除了可以通过【chown】命令改变文件的拥有者以及所属组外,还可以通过【chgrp】改变文件的所属组。
【chgrp yangs /etc/123.txt】修改/etc/a.txt属组为yangs。
【chmod yhy.zck a.txt】或【chmod yhy:zck a.txt】把a.txt文件的拥有者改为yhy,所属组改为zck。
当然,前提条件是yhy用户以及zck用户组需要存在在系统中。然后可以【ls -l】看一下执行后的结果。
第4步:认识umask
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般可在/etc/profile./etc/bashrc.$ [HOME]/.bash_profile.$[HOME]/.profile或$[HOME]/.bashrc中设置umask值。具体取决于Linux发行版,
默认的权限可用【umask】命令修改,用法非常简单,只需执行【umask 777】 命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000,依次类推,如图所示。
如上图所示,当我们执行【umask 777】 后,再建立的文件夹的权限默认为000。
通常root帐号搭配【umask】命令的数值为022.027和 077,普通用户则是采用002,这样所产生的权限依次为755、750、700和775。用户登录系统时,用户环境就会自动执行【umask】命令来决定文件、目录的默认权限。
第5步:识别特殊权限
Linux引入suid、sgid、sticky这三种特殊权限,能够更加方便、有效和安全地控制文件。
当在一个目录或文件上加入suid特殊权限时,如过原来目录或文件的属主具有x(执行)权限,就会用小写的s来替代x;如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替x。
同样,sgid、sticky和suid相同,如过原来目录或文件的属组具有x(执行)权限,就会用小写的s来替代x;如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替X。
如果在一个文件或目录上加入sticky权限时,若原文件或目录的其他用户有x(可执行)权限时,就用小写t代替x;如果原文件或目录没有x权限时,就用大写T替代x权限。
可以chmod的字符或数字的方式修改特殊权限。
从上图的操作结果来看,对于test1这个文件,属主、属组、其他人都没执行权限,其权限用数字表示为644,通过【chmod 7644 test1】命令都加上特殊权限,然后再通过【ll】命令查看,发现属主、属组、其他用户的执行权限变为S、S、T。
对于test2这个文件,属主、属组、其他人都执行权限,其权限用数字表示为755,通过【chmod 7755 test1】命令都加上特殊权限,然后再通过【ll】命令查看,发现属主、属组、其他用户的执行权限变为s、s、t。
备注:特殊权限对可执行文件的作用:
在一个目录上设置了sticky特殊权限,只有文件的所有者和用户才能删除该目录的文件,而不理会属组和其他用户的写权限。
在一个目录上设置sgid特殊权限,则只要是同组成员,都可以在此目录查看、创建、删除文件。
经常会对目录设置sticky和suid权限以方便管理。即同组成员可以查看和写入本目录下的各个文件,却不能删除。
从安全方面来讲,对于特殊权限,最好不要设置,不然会带来很严重的安全问题。
第6步:识别文件颜色
从上图中,我们可以看出,在Linux中,文件的颜色都是有含义的。其中, Linux中文件名颜色不同,代表文件类型不一样。如下所示:
浅蓝色:表示链接文件;
灰色:表示其他文件;
绿色:表示可执行文件;
红色:表示压缩文件;
蓝色:表示目录;
红色闪烁:表示链接的文件有问题了;
黄色:表示设备文件,包括block,char,fifo。
用【dircolors -p】命令可以看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等的定义。
【touch a.txt】创见的一般文件,文件颜色为白色。
【chmod 775 a.txt】增加可执行权限后,文件颜色变为为绿色。
【ln /etc/abc.txt 345.txt 】执行该命令后,文件颜色变为为天蓝色(建立345.txt为/etc/abc.txt的快捷方式)。
第7步:总结常用的几个命令
CentOS中常用的有关权限的几个命令以及释义如下,熟悉他们会让你的运维会事半功倍。
【chmod u+x,g-x,o=x test】 所有者加上执行权限,组成员减少执行权限,其他成员设置为执行权限。
【chmod –R 766 ./】修改当前目录权限,要求里面的所有文件和文件夹的权限修改为766。
【chown user1:G3 zip.zip】修改zip.zip的所有者为user1,所有组为G3。
【umask】查看当前umask参数。
【touch /home/dir1】在/home目录下创建新目录 dir1。
【ll /home/dir1】显示目录dir1的详细信息,记录目录的权限信息。
【umask 066】改变umask参数为066。
【chmod g+w /home/dir1】为dir1的同组用户增加写权限。
【chmod 755 /home/dir1】改变file1的文件权限为755。
任务七 管理 rpm 软件包与压缩包
【任务实施】
为了简化此任务的实施,我们把此任务分解成下面的几个子任务来学习。
【子任务一】管理rpm软件包;
【子任务二】管理压缩软件包。
【子任务一】管理rpm软件包
rpm有五种操作模式,分别为:安装、卸载、升级、查询和验证。
第1步:查询RPM软件是否已经安装。
在安装一个软件之前,往往需要先确认该软件是否已经安装,通过【rpm –q 软件包名】查询命令或在-q参数后面直接加其他的参数来查询软件包的安装信息,具体用法以及释义如下:
【rpm -qa | grep tomcat4】查询已经安装的 tomcat4 的所有套件。
【rpm -qip example.rpm】查询 example.rpm 安装包的信息。
【rpm -qif /bin/df】查询/bin/df 文件所在安装包的信息。
【rpm -qlf /bin/df】查询/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下。
备注:其中-q参数表示查询,参数a表示查询所有套件,参数i表示显示套件的相关信息,参数l 显示安装包中的所有文件被安装到哪些目录下;参数s 显示安装版中的所有文件状态及被安装到哪些目录下;参数p 查询指定的RPM套件档;参数f 查询拥有指定文件的套件;
第2步:安装RPM软件包
rpm软件包的安装可以使用程序rpm来完成,安装rpm软件的时候,当前工作目录下必须有该软件包存在,否则必须跟软件包的绝对路径。通过【rpm –i 软件包名】命令或在-i参数后面直接加其他的参数来安装软件包,具体用法以及释义如下:
【rpm -i example.rpm】安装 example.rpm 包。
【rpm -iv example.rpm】安装 example.rpm 包并在安装过程中显示正在安装的文件信息。
【rpm -ivh example.rpm】安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度。
备注:-i 表示安装指定的软件包 -v 显示安装时详细信息 -h 显示安装进程。
第3步:升级RPM软件包
当一个软件包已经安装,需要对其升级操作,采用【rpm -U 软件包名】命令,对其进行升级操作,命令格式以及释义如下:
【rpm -U example.rpm】升级 example.rpm 软件包。
【rpm -Uvh example.rpm】加v参数显示升级时详细信息,加h参数显示安装进程。
第4步:卸载RPM软件包
使用【rpm -e软件包名】命令卸载已经安装好的软件包,
【rpm -e tomcat4】卸载 tomcat4 软件包。
备注:包名可以包含版本号等信息,但是不可以有后缀.rpm,比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:
【rpm -e proftpd-1.2.8-1】
【rpm -e proftpd-1.2.8】
【rpm -e proftpd-】
【rpm -e proftpd】
有时会出现一些错误或者警告: ... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载,可以用【rpm -e --nodeps】强制卸载。
第5步:熟悉RPM 的其他附加命令
在实际软件安装、卸载、升级等的操作中,可能还存在软件的依赖等等一系列问题,在加上面步骤中的参数的同时,还可以加如下参数:
--force 强制操作,如强制安装删除等;
--requires 显示该包的依赖关系;
--nodeps 忽略依赖关系并继续操作;
【rpm –e --nodeps vsftpd】忽略依赖关系并继续删除vdftpd软件包。
【rpm –i --nodeps vsftpd】忽略依赖关系并继续安装vdftpd软件包。
【rpm –i --requires vsftpd】显示该包的依赖关系并安装vdftpd软件包。
【rpm –i -- force vsftpd】强制安装vdftpd软件包。
第6步:总结rpm的命名规则
假设一个软件包的名称为:abc-1.3.20-16.i386.rpm
abc代表软件包的名称;1.3.20表示版本号;16表示发行次数;i386表示适用平台为intel x86,除了i386选项外常见的还有:sparc(指sparc 平台)、alpha (指Alpha平台)、src (指软件源代码)。
【子任务二】管理压缩软件包
在Linux系统世界中,除了rpm软件包,还有很多压缩软件包,所以在此子任务中,需要熟悉压缩软件包的管理等操作。
第1步:管理tar软件包
使用tar命令加各种参数来管理tar软件包,具体的命令使用以及释义如下:
【tar cvf aa.tar aa.txt】建立一个tar包(把aa.txt压缩到文件aa.tar中)。
【tar xvf aa.tar】解压一个tar包。
【tar cvfz aa.tar.gz aa.txt】建立一个tar.gz包。
备注:在上面的命令中,加的cvf、xvf、cvfz等参数,他们的具体释义如下:
c表示创建一个新tar包;
v参数显示运行过程信息;
f参数指定文件名;
x参数解开一个tar包;
z参数调用zip;
t参数查看压缩包内容;
r参数添加文件。
第2步:管理zip包
zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。使用zip命令加各种参数来管理zip软件包,具体的命令使用以及释义如下:
【zip yhy.zip yhy.txt】通过zip命令压缩yhy.txt文件为yhy.zip。
【zip -r test.zip ./*】将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件。
【zip test2.zip test2/*】 打包目录。
【zip -d yhy.zip yhy.txt】删除压缩文件yhy.zip中yhy.txt文件。
【 zip –d yhy.zip yhy/ln.log】删除打包文件目录下的文件。
【zip -m yhy1.zip yhy1.txt】向压缩文件yhy1.zip中添加yhy1.txt文件。
【zip yhy3.zip yhy3s/* -x yhy3s/ln.log】压缩文件时排除某个文件。
第3步:解压zip包
unzip为.zip压缩文件的解压缩程序。zip包的的解压一般采用unzip命令,具体的命令使用以及释义如下:
【unzip yhy.zip】将压缩文件yhy.zip在当前目录下解压缩。
【unzip -n yhy.zip -d /tmp】将压缩文件yhy1.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
【unzip -o test.zip -d tmp/】将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
【unzip -v yhy.zip】查看压缩文件目录,但不解压。
【unzip a.zip】解压一个zip包。
第4步:gzip和gunzip等其他的压缩软件以及常用命令
Linux系统中还有其他的一些压缩工具以及命令,比如gz、tat.gz、bz2、tgz等等,熟悉他们会让你们的运维管理事半功倍。
1、【gzip –d a.gz 3.tar.gz】解压一个gz包。
2、【tar xvzf abc.tar.gz】解压一个tar.gz包。
3、【gunzip abc.tgz】解压一个.tgz包。
4、【tar xvzf a.tar.z】解压一个tar.z包。
5、【bunzip2 b.txt.bz2】解压一个bz2包。
6、【find / -name "*.zip"】将系统中所有的.zip文件名显示出来。
7、【find / -name "*.gz" |wc –l】查找系统中有多少个.gz的文件,并统计数量。
8、在你的家目录中创建如下内容,以便进行后面的命令操作。
【mkdir /home/dir1 dir2 dir3】在家目录中建立三个目录。
【touch /home/dir1/file1 /home/dir1/file2 /home/dir1/file3】在新建的目录中建立文件。
9、【zip -q -r /root/ys1.zip /root/*】将家目录下的所有文件(不包括目录)压缩成文件ys1.zip。
10、【zip -m ys1.zip install.log】将/root/install.log添加到ys1.zip中。
11、【unzip -v ys1.zip】显示一下ys1.zip中包含的文件信息。
12、【mkdir /tmp/unzip-ys1】 建立unzip-ys1 目录(此目录需要先建立)。
【unzip ys1.zip -d /tmp/unzip-ys1/】将ys1.zip解压至/tmp/unzip-ys1下。
13、【zip -r /root/ys2.zip /root/*】将家目录下的所有文件(包括目录)压缩成文件ys2.zip。
14、【mkdir /tmp/unzip-ys2】建立unzip-ys2 目录(此目录需要先建立)。
【unzip ys2.zip -d /tmp/unzip-ys2】将ys2.zip解压至/tmp/unzip-ys2 目录下。
15、将第8中的文件file1. file2. file3分别压缩成.gz的形式。
【tar -czvf file1.tar.gz dir1/file1】将dir1/file1文件压缩成file1.tar.gz。
【tar -czvf file2.tar.gz dir1/file2】将dir1/file2文件压缩成file2.tar.gz。
【tar -czvf file3.tar.gz dir1/file3】将dir1/file3文件压缩成file3.tar.gz。
16. 将第15中形成的.gz压缩文件拷贝到/tmp/gunzip目录并解压。
【mkdir /tmp/gunzip】建立gunzip目录。
【cp dir1/file1.gz dir1/file2.gz dir1/file3.gz /tmp/gunzip】复制压缩文件到新建的目录中。
【gzip -dv /tmp/gunzip/*】压缩gunzip目录下的所有文件。
任务八 YUM源的配置与软件的YUM安装
【任务实施】
为了简化此任务的学习,我们通过下面的几个子任务的学习来达到我们的目的。
【子任务一】配置本地yum源;
【子任务二】配置国内网络yum源。
【子任务一】配置本地 YUM 源
在CentOS系统的安装光盘中,存放了许多我们常用的软件包,使用起来非常方便,在没有外网的环境中,我们只需搭建好本地的yum源,即可进行大部分的软件安装。
第1步:查看系统默认安装的yum
安装CentOS操作系统是基本都会默认安装yum,不需要另外安装,输入命令查询即可:
【rpm –qa yum】查看安装的yum主程序。
【rpm -qa |grep yum】查看安装的yum相关程序。
一般情况下yum软件本身是在安装操作系统的时候就安装上去了的。
第2步:挂载系统安装光盘
把光盘放入光驱,然后使用如下命令把光盘挂在/mnt这个常用的挂载点下。
【mount /dev/cdrom /mnt/】挂载光盘挂载成功后会在/mnt目录下看到光盘中的文件。
第3步:备份默认yum配置文件
在修改配置文件之前,先备份要修改的文件,养成好的工程习惯。
【cd /etc/yum.repos.d/】进入yum配置的目录下
【ls】会看到CentOS系统的默认四个以repo为后缀的配置文件
【mkdir /etc/yum.repos.d/bak】建立备份文件夹
【mv /etc/yum.repos.d/Cent* /etc/yum.repos.d//bak/】备份原来的配置文件
移动原有的配置文件到备份文件夹中。(注:CentOS-Base.repo 是yum 网络源的配置文件,CentOS-Media.repo 是yum 本地源的配置文件),如图所示。
第4步:编辑自己的repo文件
使用下面的命令新建一个自己的yum源。
【vim /etc/yum.repos.d/local.repo】新建local.repo文件。
备注:新建的文件必须以.repo为后缀,local可以自己取名)
然后按【ESC】健,后输入【:wq】保存退出!然后使用yum list命令更新yum配置即可查看到配置好的yum源。
备注:baseurl=file:///mnt/ yum源地址,光盘的挂载点,需要注意的是file后有有3个斜杠,前两个表示地址格式,后面一个斜杠表示根目录。
第5步:总结repo 文件的格式
所有repository服务器设置都应该遵循如下格式:
[serverid]
name=Some name for this server
baseurl=url://path/to/repository/
serverid 是用于区别各个不同的repository,必须有一个独一无二的名称;
name 是对repository 的描述,支持像$releasever $basearch这样的变量;
baseurl 是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
baseurl=url://server1/path/repository/
url://server2/path/repository/
url://server3/path/repository/
其中url 支持的协议有 http:// ftp:// file:// 三种。baseurl 后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl 只能有一个,也就是说不能像如下格式:
baseurl=url://server1/path/repository/
baseurl=url://server2/path/repository/
baseurl=url://server3/path /repository/
其中url 指向的目录必须是这个repository header 目录的上一级,它也支持$releasever $basearch 这样的变量。
url 之后可以加上多个选项,如gpgcheck.exclude.failovermethod 等
第6步:使用yum源安装软件。
yum命令搭配install参数表示安装指定的软件,详细使用方法以及释义如下:
【yum install –y dialog】通过yum源安装dialog软件。
【yum install yum-fastestmirror】自动搜索最快镜像插件。
【yum install yumex】安装yum图形窗口插件。
【yum localinstall –y dialog】安装本地的rpm软件包。
备注:在上面的命令中,-y选项表示对所有的提问都回答“yes”;如果不加-y选项,安装过程会要求用户手动确认安装过程中的问题。除了-y选项,还有其他的选项可以使用,他们的具体释义如下:
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
第7步:使用yum更新软件。
yum命令搭配update参数表示更新指定的软件,详细使用方法以及释义如下:
【yum update –y dialog】更新dialog软件包。
【yum check-update –y dialog】检查是否有可用的更新dialog软件包。
【yum localupdate –y dialog】如果有dialog的新版本,而且你也下载到来本地,就可以这样本地更新dialog了。
【yum update】全部更新yum源。
第8步:使用yum卸载软件。
yum命令搭配remove参数表示卸载、或删除指定的软件,详细使用方法以及释义如下:
【yum remove –y dialog】卸载dialog软件包。
【yum remove | erase package1】 删除程序包package1。
第9步:yum命令的其他选项。
yum命令搭配其他参数详细使用方法以及释义如下:
【yum list dialog】:显示dialog软件包的信息。
【yum search dialog】:检查dialog软件包的信息。
【yum info dialog】:显示指定的dialog软件包的描述信息和概要信息。
【yum clean】:清理yum过期的缓存。
【yum shell】:进入yum的shell提示符;
【yum resolvedep dialog】显示dialog软件包的依赖关系。
【yum deplist dialog】:显示dialog软件包的所有依赖关系。
【yum clean packaes】 清除缓存目录下的软件包。
【yum clean headers】 清除缓存目录下的headers。
【yum clean oldheaders】清除缓存目录下旧的 headers。
第10步:查询已安装的dialog软件。
通过yum安装的软件,依然使用rpm命令来查询软件的安装情况:
【rpm –qa dialog】查询dialog软件安装信息。
【子任务二】配置国内网络yum源
本地yum源地址指向光盘。但光盘中的软件毕竟有限,系统默认的yum 源(红帽官方的yum源)速度往往不尽人意,为了达到快速安装的目的,有时还需要把yum源指向国内的地址。
第1步:配置上海交通大学yum源
第2步:企业yum源列表:
搜狐开源镜像站:http://mirrors.sohu.com/。
网易开源镜像站:http://mirrors.163.com/。
第3步:大学教学yum源列表:
北京理工大学:
http://mirror.bit.edu.cn (IPv4 only)。
http://mirror.bit6.edu.cn (IPv6 only)。
北京交通大学:
http://mirror.bjtu.edu.cn (IPv4 only)。
http://mirror6.bjtu.edu.cn (IPv6 only)。
http://debian.bjtu.edu.cn (IPv4+IPv6)。
兰州大学:http://mirror.lzu.edu.cn/。
厦门大学:http://mirrors.xmu.edu.cn/。
清华大学:
http://mirrors.tuna.tsinghua.edu.cn/ (IPv4+IPv6)。
http://mirrors.6.tuna.tsinghua.edu.cn/ (IPv6 only)。
http://mirrors.4.tuna.tsinghua.edu.cn/ (IPv4 only)。
天津大学:http://mirror.tju.edu.cn/。
中国科学技术大学:
http://mirrors.ustc.edu.cn/ (IPv4+IPv6)。
东北大学:
http://mirror.neu.edu.cn/ (IPv4 only)。
http://mirror.neu6.edu.cn/ (IPv6 only)。
电子科技大学:http://ubuntu.uestc.edu.cn/。