项目二 Linux的基本操作命令

任务二      认识Linux系统

【子任务一  】 熟悉Linux系统中的目录结构
第一步:理解Linux系统的目录结构树
Linux使用标准的目录结构,在安装的时候,安装程序已经为用户创建了文件系统和完整而故此那个的目录组成形式,并指定了每个目录的作用和其中的文件类型,如下图所示:
项目二 Linux的基本操作命令

Linux系统的目录结构采用的是树形结构。最上层是根目录,其他的所有目录都是由根目录而生成的,微软的DOS和Widows也是采用树形结构,但是在DOS和Windows中,这样的树形结构的根是磁盘分区的盘符,有几个分区就有几个树形结构,它们之间的关系是并列的。但是在Linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个,从结构上讲,各个磁盘分区上的树形目录不一定是并列的。


第二步:对比理解Linux系统的文档结构
有一块磁盘,分成了的哥风趣,分别是/、/boot、/usr和Windows下的FAT,对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。
如果把Windows下发FAT分区挂载到/mnt/winc下(挂载将【子任务四】中介绍),那么对于/mnt/winc和/usr或/mnt/winc和/boot来说,它们是从属与目录树上没有任何关系的两个分支。

因为Linux是多用户系统,所以要制定一个固定的目录规划,这样有助于对系统文件和不同的用户文件进行统一管理,但就是这一点让很多从Windows转到Linux的初学者感到头痛。


第三步:列出Linux下一些常用的目录的功能

/,根目录。
/bin,存放必要的命令。
/boot,存放内核以及启动所需的文件(最好占一个分区)。
/dev,存放设备文件。
/etc,存放系统配置文件(最好占一个分区)。
/home,普通用户的宿主目录,用户数据存放在其主目录中(推荐占一个分区)。
/lib,存放必要的运行库。
/mnt,皴法临时的映射文件系统,通常用来挂载。
/proc,存放存储进程和系统信息,。
/root,超级用户的主目录(推荐占一个分区)。
/sbin,存放系统管理程序。
/tmp,存放临时文件。
/usr,存放应用程序,命令程序文件,程序库,手册和其他文档(推荐占一个分区)。

/var,在正常操作中被改变。


【子任务二】了解Linux系统中的路径规则

在Linux系统中什么是一个文件路径呢,路径就是一个文件存在的地方。如果告诉这个文件的路径,那么系统就可以找到这个文件,在Linux中,存在着绝对路径和先对路径。

第一步:理解绝对路径

绝对路径:路径的写法一定由根目录“/”写起,例如/usr/local/mysql就是绝对路径。

第二步:理解相对路径

相对路径:路径的写法不是由根目录“/”写起,例如,首先用户进到/,然后在进入到home,命令【cd/home】,然后使用【cd test】命令,此时用户所在的路径为/home/test.第一个cd命令后跟/home,第二个cd命令后跟test,并没有斜杠,这个test是相对于/home目录而言的,所以叫做相对路径。

项目二 Linux的基本操作命令

【子任务三】掌握Linux中的基本命令

对于一个Linux新手来说,使用Linux命令来帮助执行任务是一个最基本的要求。下面这些命令是每一个Linux系统管理员都必须掌握的基本命令。

第1步:使用【pwd】命令打印出当前所在的目录

在Linux系统中,只显示单钱工作的目录,没有显示完整的路径,使用【pwd】命令打印当前完整的工作路径如图:
项目二 Linux的基本操作命令

第2步:使用【cd】命令进入文件的目录

【cd】命令是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用【cd】命令基础之上的,所以,学习Linux常用的命令,首先就要学好【cd】命令的使用方法与技巧。
【cd /usr /local】进入到/usr/local目录。
【pwd】打印当前工作目录。
【cd . /】还是当前目录。

【cd . . /】进入当前目录的上级目录。

项目二 Linux的基本操作命令

在上面的命令中,首先进入/usr/local/lib/目录下,然后再进入./,其实还是进入到当前目录下,用【pwd】命令查看当前的工作路径,并没有发生变化,然后再进入. ./,则是进入到/usr/local/目录下,即/usr/local/lib目录的上一级目录。

路径【./】指的是当前目录,【. . /】指的是当前目录的上一级目录。

第3步:使用【ls】命令显示文件信息

【ls】命令是列表命令,在【ls】命令后加上-l就是以长列表的形式显示出来,内容比【ls】命令更加具体。
【ls-l】或【ll】显示当前文件夹内文件详细信息。
【ls-a】显示当前文件夹内隐藏文件。

【ls~】显示用户宿主目录的文件信息。

项目二 Linux的基本操作命令

第4步:使用【more】以一页一页的形式显示文件;按Space键向后翻页;按b键向前翻页。

【less】命令作用与【more】命令相似,都可以用来浏览文字档案的内容,不同的是【less】命令允许使用者前往回卷动的方式查看文件,浏览速度叫vi文本编辑块;【j】以行为单位向下;【k】以行为单位向上。

项目二 Linux的基本操作命令

同时,在使用【less】命令查看文件时,可以输入vi命令进行文本编译。

【ls /etc |more】让/etc中文件与目录分屏显示,只能向下查看。若要再输入命令,按enter键或方向下键一直查看完其中的内容。

项目二 Linux的基本操作命令

【ls /etc |less】让/etc中文件与目录分屏显示,可以上下查看。调到最后要退出时按:shift+: ,之后输入:!q ,强制退出,继续输入指令

项目二 Linux的基本操作命令

【less /etc/squid/squid.conf】分屏显示squid.conf中的内容。

第5步:使用【cat】命令查看文件内容

【cat】命令是Linux下的一个一个文本输出命令,通常是用于查看某文件的内容。【cat】命令主要有3大功能:
(1)一次显示整个文件:【cat filename】;
(2)从键盘创建一个文件:【cat>filename】,只能创建新的文件,不能编辑已有文件。
(3)将几个文件合并一个文件:【cat file file2>file】。
【cat /etc /passwd】查看文件passwd文件的内容。
【cat /etc /passwd | less】查看文件passwd文件中的内容,可以上下移动,按q键退出。

【cat /etc /fstab】查看/ etc/fstab文件的内容

项目二 Linux的基本操作命令

项目二 Linux的基本操作命令

项目二 Linux的基本操作命令


第6步:使用【mkdir】命令创建目录

【mkdir yhy】在当前路径中创建yhy目录。

【mkdir yhy1 yhy2 yhy3】在当前路径中同时创建yhy1,yhy2,yhy3共3个目录。

项目二 Linux的基本操作命令

mkdir是Make Directory的缩写,其语法为mkdir[-m或-p][目录名称]。其中-m,-p为其选项,-m用来制定要创建目录的权限,【mkdir -m 755 yhy】表示建立一个权限为755的文件夹,该参数不常用,所以笔者不做重新解释;-p很常用。先做个式样,便会一目了然。输入【mkdir /tmp /test / yhy】命令并运行,系统提示错误,无法创建。具体提示信息如下
项目二 Linux的基本操作命令
为解决此问题,我们运行带-p的命令【mkdir -p /tmp/test/yhy】,系统将不会再报错。

至此,可发现参数-p的作用。没错,它的作用就是递归创建目录,即使上级目录不存在,还有一种情况就是如果你想要创建的目录存在,它也会提示报错,再加上-p后就不会报错了

项目二 Linux的基本操作命令

第7步:使用【touch】命令创建文件

【touch】命令用于创建新的文件或者修改已有文件的时间戳,最常用的用法如下。
【touch fileA】如果fileA存在,使用【touch】指令可更改这个文件的目录的日期时间,包括存取时间和更改时间;如果fileA不存在,【touch】指令会在当前目录下新建一个空白文件fileA。

【touch file1 file2】在当前目录先创建文件file1和file2两个文件。

项目二 Linux的基本操作命令

【touch /home/file file2】在/home目录下创建file1和file2两个文件。

项目二 Linux的基本操作命令

【touch -t 201803222234.50 log. log】设定文件的时间戳为 201803222234.50 。

项目二 Linux的基本操作命令

【mkdir dir1,dir2】在当前目录先创建子文件dir1和dir2,即两个文件夹。

项目二 Linux的基本操作命令

这两个命令容易混淆,【touch】命令之后跟的是文件,【mkdir】命令后跟的是目录。


第8步:使用【rmdir】命令删除目录

【rmdir /tmp/test/yhy】删除yhy目录,若目录不存在于tmp/test下则直接写rmdir+目录名。

【ls /tmp/test】查看test目录下的问件及目录。

项目二 Linux的基本操作命令

rmdir其实是Rmove Directory缩写,其只有一个选项-p,与【mkdir】命令类似,这个数的作用是将上级目录一起删除
【mkdir -p d1/d2/d3】依次建立d1/d2/d3文件夹。
【rmdir -p d1/d2/d3】依次删除d3/d2/d1。

如果一个目录中还有目录,那么当直接用【rmdir】命令删除该目录时,会提示该目录不为空,不能删除如果非要删除不为空的目录,可以用【rm】命令。

项目二 Linux的基本操作命令

若依旧想用rmdir删除目录,则需用cd命令依次到相关目录下用rmdir删除目录

项目二 Linux的基本操作命令

第9步:使用【rm】命令删除目录或者文件

【rmdir】命令只能删除目录但不能删除文件或非空目录,想要删除一个文件,则要用【rm】命令。【rm】命令同样也有-f,-i,-r等多个选项。也可以通过【man rm】命令获得详细帮助信息。

项目二 Linux的基本操作命令

如下列举几个常用选项

【rm -f /root/dir2/myfile1】使用绝地路径删除文件myfile1,-f,强制的意思,如果不加这个选项,当删除一个不存在的文件时会报错。

【rm -i /root/dir2/myfile2】-i这个选项的作用是,当用户删除myfile2文件时会提示用户是够真的删除,如果删除输入【y】,否则输入【n】

项目二 Linux的基本操作命令

【rm -rf/root/dir1】当删除目录时,加-r选项。如果不加这个选项会报错。【rm】命令可以直接删除不为空的目录。

10、使用【cp】命令复制文件

【cp】命令用于复制文件或目录。

【cp/etc/grub.conf./】将/etc/grub.conf文件复制到当前目录中。

项目二 Linux的基本操作命令

【cp/etc/passwd/root/passwd.bak】复制文件,并重命名。

项目二 Linux的基本操作命令

【cp/root/*.mp3/soft/ab】复制扩展名为mp3的所有文件到/soft/ab目录中。
【cp-r-f/root/soft/ab】复制一个目录到另一个目录,同时删除前面已经存在的目录。
【cp file1 file2 dir1】将file1和 file2复制到dir1中

11、:使用【mv】命令移动或重命名文件/目录【mv】用来移动文件或将文件改名。【mv1.txt2.txt3.txt test3】移动文件。【mv-t/opt/soft/test/test4/1.txt2.txt3.txt】移动文件。【mv file1 file2 dir2】将文件从当前目录移动至dir2。【mv/dir2/file1/dir2/myfile1】将文件改名为myfile1。【mv/root/abc.jpg/etc/kk】将文件移动到/etc文件夹下。【mv at.doc abc.doc】将文件at.doc改名为abc.doc。【mv kk.zip.kk.zip】将文件隐藏。【mv .kk.zip kk.zip】将文件除去隐藏。【mb-i1.txt 2.txt】将文件改名,如果文件已存在,则询问是否覆盖

12、重启与关机(1)重启命令【reboot】重启系统。

【shutdown-r now】立刻重启(root用户使用)。

【shutdown-r 10】过十分钟自动重启。

【shutdown-r 20:35】在时间为时重启 

(2)关机命令【halt】立刻关机。

【poweroff】立刻关机。

【shutdown-h now】立刻关机(root用户使用)。

【shutdown-h 10】十分钟后自动关机

13、查看系统相关状态(1)【df】命令显示磁盘占用空间。

项目二 Linux的基本操作命令

(2)【free】命令用于显示系统内存的使用情况信息。

(3)【cat/proc/meminfo】命令查看内存使用的详细信息。

项目二 Linux的基本操作命令

(4)【cat/procuinfo】命令查看CPU信息

项目二 Linux的基本操作命令

14、:熟悉以下常用命令及功能

(1)【ls-al/root>file1】将用户root的家目录的所有目录列表保存至文件file1中。

(2)【ls-al/bin|grep in>file2】将文件名中包含in字符的文件名保存至文件file2中。

(3)【cat file1 file2】同时显示文件的内容。

(4)【cat file1 file2>file3】将文件1、2中的内容合并成新文件3。

(5)【head file3】显示文件file3的前十行内容。

(6)【head 15 file3】显示文件的前十五行内容。

(7)【tail 3 file3】显示文件的后三行内容。

(8)【wc-lw file1】统计文件中的行数、字数。

(9)【grep-c root file1】统计文件中包含root的行数。

(10)【find.-name“file*”】查找文件名中包含了file的文件。

(11)【ls-1|grep-c“file”】查找当前目录中是否有文件名包含file的文件。

(12)【find/bin-size-1000c>myresult】查找是否有1000字节以下的文件,并将查找结果保存。

(13)【find/bin-size100-print】查找是否有100块以上的文件。

(14)【find/-user test】查找是否有用户test创建的文件。

(15)【cp/config*/bak】将所有文件名中包含了字符config的文件复制到目录/bak中。

(16)【cut-d:-fl/etc/passwd】提取用户名,统计个数,并将结果保存至文件中。

(17)【ls/bin-al|wc-l】统计/bin目录下的文件目录项数。

(18)【ls-al|per-pi-e's/rootaz/g'】将用户当前目录下的文件目录显示列表中的所有root替换成wqaz,并显示替换结果。


【子任务四】挂载外部文件到Linux系统中

第1步:理解挂载的概念   

Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示。所以挂载就是把目录和分区连接起来,Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了, 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录

第2步:使用挂载命令的参数命令格式:mount [-t vfstype] [-o options] device dir 其中: -t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: Linux最早使用的文件系统:minixLinux目前常用的文件系统:ext4、ext3、ext2光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Windows 9x fat32文件系统:vfat Windows NT ntfs文件系统:ntfs Mount Windows文件网络共享:smbfs UNIX(LINUX) 文件网络共享:nfs 自动检测文件常用:autoOS/2文件系统常用:hpfs

第3步:使用挂载命令选项-o,指定挂载文件系统时的选项 ro :采用只读方式挂接设备 rw :采用读写方式挂接设备 user:可以让一般用户挂载设备nouser:使用一般用户无法挂载.使用实例:Windows 7系统挂载在hdal分区上,同时还挂载光盘和U盘。

【mkdir/mnt/winc】建立挂载点/mnt/winc。

【mount-t ntfs/deval /mnt/winc】挂载Windows 7的hdal分区

【mkdir/mnt/usb】建立挂载点/mnt/usb。

【mount-t vft /dev/sdal/mnt/sub】挂载U盘。

【mkdir/mntrom】建立挂载点/mntrom。

【mount-t iso9660/devrom/mntrom】挂载光盘


【子任务五】掌握Linux系统中的自动挂载自动挂载可以有两种方式。

1.修改/etc/fstab文件  用vim打开 fstab文件可以很明显的看到文件有6列。第1列是设备名或者卷标第2列是挂载点(也就是挂载目录)第3列是所要挂载设备的文件系统或者文件系统类型第4列是挂载选项,通常使用逗号分隔第5、6列留作备用任务三  使用vim编辑器配置网络

【子任务一】 使用【setup】命令配置IP地址配置

Linux系统的IP地址的方式比较灵活,可以直接修改系统的配置文件,也可以通过【setup】命令来配置。在熟悉vim编辑器之前,通过setup这种方式来配置系统的IP地址。

第1步:运行【setup】命令使用【setup】命令配置IP地址。在命令行下输入【setup】命令后按enter键确认,弹出“Choose a Tool”对话框,如图按上下键,移动光标至系统服务进行网络配置,按enter进行确认

第2步:徐泽网络配置、在弹出的对话框中,按上下键向移动光标至network后按enter键确认,如图

第3步:选择网卡在弹出的对话中,选中“eth0”后按enter键确认,Linux系统中的第一张网卡即使“eth0”,如图

第4步:填写IP地址在弹出的配置IP地址对话框中,首先使用Tab键移动广百哦到Use DHCP后面的[ ]中,然后按键盘的Space键取消[ ]里面的星号(*),再填写正确的IP地址,最后按Tab键,吧光标移动到“OK”后按enter键确认ip地址的填写,如图

第5步:保存ip地址配置选项填写好IP地址后,按Tab键,把光标移动到【save】后按enter将保存IP地址的填写,然后在按Tab键,把光标移动到【save&quit】项后按enter键保存设置并返回。如图

第6步:重启网络服务并查看IP地址信息使用【setup】命令修改IP地址后,需要重启network服务使刚才配置的ip地址生效,输入命令【service network restart】重新启动网络服务【ifconfig -a】差寻IP 地址配置信息查询到的IP地址信息如图所示有图可知,刚才配置的IP地址并没生效,那么怎样才能使刚才配置的IP地址生效呢?我们将子下一个子任务中完成

【子任务二】 使用vim打开网络开关

在子任务一中配置的IP地址并没有立即生效,这是因为centos安装好后,网卡的开关默认是关闭的,需要修改配置文件去打开它,此时就必须用到vim编辑器。在此任务中。我们将打开网卡开关的同时学习好vim编辑器时最基本操作。第1步:打开网卡配置文件【vim /etc/sysconfig/network-scripts/ifcfg-eth0】使用vim编辑器打开网卡配置文件。

项目二 Linux的基本操作命令

第2步:编辑“ifcfg-eth0”文件

按i或a或o中任意的一个键,进入编辑模式,此时最下方会有"INSERT"插入编辑,表示文件正处于编辑模式,把光标移动到第4行,将“ONBOOT=no”修改为“ONBOOT=yes”,如图所示项目二 Linux的基本操作命令

第3步:退出并保存编辑的文件

修改完相应的信息后,按键盘左上角的esc键,退出编辑模式吗,然后保存via你几点文件,输入【:wq】(冒号wq),保存并退出,如图所示第4步:打开网络的总开关网卡的开关打开后,系统也不一定能提供网络服务,还需要确认系统的网络总开关是打开的。centos系统的网络总开关配置文件/etc/sysconfig/network,使用【vim /etc/sysconfig/network】命令打开网络总开关的配置文件,按i键编辑此文件,配置如下

【子任务三】 使用vim配置DNS地址

第1步:打开DNS配置文件输入【vim /etc/resolv.conf】命令打开DNS的配置文件。

项目二 Linux的基本操作命令


第2步:配置DNS地址此文件没有配置DNS地址时默认为空,按i键进入编辑模式,输入如下字符:项目二 Linux的基本操作命令

在此文件中,按Esc键后,把光标移动到第一行然后连续按两次y键,然后按p键就会把光标所有的行复制并粘贴在光标所在的行的下面。如果文件中含有其他的以#开头的注释信息,连续按两次d键,删除光标所在的行。

第3步:总结vim的使用

vim可以分为3种状态,分别是指令模式(也称一般模式,Command Mode)、插入模式(Insert Mode)和底行模式(Last Line Mode)。各模式的功能分区如下。

(1)指令模式/一般模式(Command Mode):控制屏幕光标的移动,字符,字或行的删除,移动复制某区段及进入插入模式(Insert Mode)下,或者到末行模式(Last Line Mode)下。

(2)编辑模式/插入模式:只有在Insert Mode下,才可以做文字输入Esc键可回到指令模式。

(3)末行模式:将文件保存或退出vim,也可以设置编辑环境,图寻找字符串,列出行号等。


任务四  root账户密码的**与保护


【子任务一】进入单用户模式并修改root账户密码

进入单用户模式有两种方式,下面分别介绍方式1:使用a操作按键进入单用户模式(推荐:操作简单,这是进入单用户模式最快速的方法)

第1步:进入kernel编辑界面开机进入GRUB,在秒读的时候,按两次a键,编辑kernel参数。

第2步:编辑kernel启动参数进入kernel编辑界面,输入空格后,再输入数字【1】或【single】,如图,一告诉Linux内核后续的启动过程需要进入单用户模式,然后按enter键即可进入单用户模式。

第3步:用【passwd】命令修改root账户口令。输入【passwd】命令,然后按enter键,系统等待输入心得root密码,输入完成后按enter键在此确认输入的新密码,输入完成后按enter键即可,需要强调的是,输入密码时,是没有任何显示的,因为主机接收到键盘的输入字符后不再输出到显示器上,减少了输入密码的失窃风险,如图

项目二 Linux的基本操作命令

当确认两次密码输入一致后,会看到“成功更新”即密码修改成功的信息提示。

第4步:进入多用户系统输入【init 3】进入提供网络服务的多用户模式文本模式,输入【init 5】进入提供网络服务的多用户模式图形界面模式,测试刚才改过的口令。

项目二 Linux的基本操作命令

输入用户名【root】,然后按enter键输入修改后的密码,确认即可进入系统。

注:输入密码时是没有任何显示的)

方式2:使用e操作按键进入单用户模式

第1步:进入kernel选择界面开机Linux读秒的时候,如图看到这个界面,按e键进入如图所示的界面:

第2步:进入kernel编辑界面再次按ejian ,进入如下有3个菜单的界面,如图

第3步:编辑kernel启动参数按上下键,移动光标至以“kernel”开头的第二行后再次按e键,编辑Linux起动级别,如图输入空格后,在末行输入数字【1】或【single】,以后果树Linux内核后续的启动过程需要进入单用户模式,然后按enter键,系统返回到启动菜单界面,如图

第4步:进图单用户模式按b键,这时系统开机无需密码,直接进入单用户模式。

第5步:使用【passwd】命令修改root密码输入【passwd】命令,然后按enter键,四通等待输入新的root密码,输入完成后按enter键再次确定输入的新密码,输入完成后按enter键即可。当确认两次密码输入一致后,会看到“successfully”即密码修改成功的信息提示。

如果在输入【passwd】后发现,根本没有提示输入新密码,而是直接跳过去,根本没法更改密码,出现这种情况的原因是,默认安装centos7时,Linux是默认开启的,在seLinux先,passwd是没法应用的,要临时关闭seLinux。

输入【setenforce 0】关闭seLinux,这样就可以在单用户模式下更改密码了。备注:当Linux系统进入单用户模式后,由于已经停止了任何网络服务和网络配置(网络接口无效),不会有任何其他人(通过网络)干扰系统的运行状态,管理员可以放心地对Linux系统惊喜新系统级别的维护和管理工作。但单用户模式先,Linux系统除了布局别网络功能外,是功能完整的操作系统。

在单用户模式下可以进行如下的维护和管理工作。

(1)重新设置超级用户口令。

(2)维护系统的分区、LVM和文件系统等。

(3)进行系统的备份与恢复。当用户模式的一个典型应用是root账户“口令设置”。对于一些临时使用或实验用途的Linux系统(如学生实验室),经常会更换使用者,而root账户的口令可能会被遗失,这时可以进入单用户模式更改root账户的口令。

【子任务二】给单用户模式加密

方式1:文明方式文明方式即单用户模式的密码在系统文件(/etc/grub.conf)中是可见的,没有加密的。

第1步:打开/boot/grub/grub.conf文件输入乳腺命令,使用vim编辑器打开/boot/grub/grub.conf文件:【vim /boot/grub/grub.conf】

第2步:编辑/boot/grub/grub.conf文件在splashimage这个参数在的一行添加:password=密码,如图所示保存后重新启动计算机,再次登录到GRUB菜单页面的时候就会发现,这是已经不能直接按e键编辑启动标签了,需要显示用【p】命令,输入正确的密码后才能够对启动标签进行编辑,如图所示:但是我们设置了文明密码也不是很安全。如果他人通过合法途径进入到系统后得到了/boot/grub/grub.conf这个文件的文明密码后依然可以修改GRUB启动标签从而进入单用户模式。

方式2:MD5加密方式MD5加密

方式即进入单用户模式的密码是以密文的法师存在系统文件(/etc/grub/grub.conf)中的。

第1步:给密码进行md5加密在终端输入【grub-md5-crypt】后按enter键,这时系统会要求输入两次相同的密码,,之后系统便会输出MD5码,如图所示:

第2步:添加md5密文到/etc/grub.conf文件中将生成的MD5密文复制下来,然后编辑/etc/grub.conf文件,在splashimage这个参数下一行添加:

保存后重新启动计算机,再次登录到GRUB菜单页面时候就会发现,这时也不能直接按e键编辑启动标签了,需先使用【p】

命令,输入正确的密码后次才能够对启动的标签进行编辑


任务五 管理Linux系统的用户与用户组

第1步:查看Linux系统中的用户

系统中所有的用户存放文件为/etc/passwd,可通过【vim /etc/passwd】命令打开查看。

passwd文件由许多条记录组成,每条记录占一行,记录占宇航,记录了一个用户账号的所有信息。每条记录有7个字段组成,字段之间用冒号(:)隔开,其格式如下图:

项目二 Linux的基本操作命令

项目二 Linux的基本操作命令

1)用户名:它唯一地标识了一个用户账号,用户登录时使用的就是它。

(2)加密口令:passwd文件中存放的密码时经过加密处理的。Linux的加密算法是很严密的,其中几乎是不可能被**的。盗用账号的人一般都借助专门的可可程序,构造出无数个密码,然后使用同样的加密算法将其加密,再和本字段进行比较,如果相同的话,就代表构造出的口令是正确的。因此,建议不要用生日,常用的单词作为口令,它们在黑客程序面前几乎是不堪一击的。特别是对那些直接连入较大网络的系统来说,系统安全性显得尤为重要。

(3)用户ID:用户识别码,简称GID。Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。普通用户的UID默认是从500开始的。

(4)组ID:用户组识别码,简称GID。不同的用户可以属于同意用户组,享有该用户组拥有的权限。与UID类似,GID唯一地标识了一个用户组。普通用户的GID默认是从500开始的。UID和GID默认情况下是一致的。

(5)用户描述:这是给用户的注解。他它一般是用户的真是姓名,电话号码,住址等,当然也可以是空的。

(6)家目录:这个目录属于该账号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,tooy账号是/root其他账号的家目录都在/home目录下,并且和用户名同名。

(7)登录shell:用户登录后执行的命令。一般来说,这个命令将启动一个shell程序。例如,用bbs账号登录后,会直接进入bbs系统,这是因为bbs账号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。

第2步:查看用户密码以及有效的文件

用户密码以及有效期文件

用户密码以及有效期的存放文件/etc/shadow 可通过【vim /etc/shadow】命令打开查看。

shadow问价由许多条记录组成,每条记录占一行,记录了一个用户账号的所有用户密码以及有效期等信息。每条记录由8个字段组成,字段间用冒号(:)隔开,其格式如图:

项目二 Linux的基本操作命令

项目二 Linux的基本操作命令

(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】命令查看,如图所示。

项目二 Linux的基本操作命令

项目二 Linux的基本操作命令

在图所示的文件中,有四列,每一列对应的释义如下:

第一列:用户组名称;

第二列:用户组密码;

第三列:GID,即组ID;

第四列:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名。

第4步:查看用户组密码文件。

/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码;

通过命令【vim  /etc/gshadow】 查看用户组密码存放文件,每个用户组独占一行,如图所示

项目二 Linux的基本操作命令

项目二 Linux的基本操作命令

在图所示的文件中,有四列,每一列对应的释义如下:

第一列:用户组名称;

第二列:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;

第三列:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用“,”号分割;

第四列:组成员,如果有多个成员,用,号分割。

第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系统的文件权限


【任务实施】

第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】命令看看文件的情况,如图所示。

项目二 Linux的基本操作命令

从上图所示可以看到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】命令查看文件详细系统如图所示。

项目二 Linux的基本操作命令

要修改目录的权限,使用-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】看一下执行后的结果

项目二 Linux的基本操作命令

第4步:认识umask

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般可在/etc/profile./etc/bashrc.$ [HOME]/.bash_profile.$[HOME]/.profile或$[HOME]/.bashrc中设置umask值。具体取决于Linux发行版,

默认的权限可用【umask】命令修改,用法非常简单,只需执行【umask 777】 命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000,依次类推,如图所示。


项目二 Linux的基本操作命令

如上图所示,当我们执行【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的字符或数字的方式修改特殊权限,下例以数字方式实现,如图所示。


项目二 Linux的基本操作命令

从上图的操作结果来看,对于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中文件名颜色不同,代表文件类型不一样。如下所示:

   浅蓝色:表示链接文件;

   灰色:表示其他文件;

   绿色:表示可执行文件;

   红色:表示压缩文件;

   蓝色:表示目录;

   红色闪烁:表示链接的文件有问题了,如图;

项目二 Linux的基本操作命令

   黄色:表示设备文件,包括block,char,fifo。

   用【dircolors -p】命令可以看到缺省的颜色设置,包括各种颜色和“粗体”,下划线,闪烁等的定义。

项目二 Linux的基本操作命令

【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  /homedi1】改变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 文件所在安装包的信息。

项目二 Linux的基本操作命令

【rpm -qlf /bin/df】查询/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下。

项目二 Linux的基本操作命令

备注:其中-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 包并在安装过程中显示正在安装的文件信息及安装进度。

项目二 Linux的基本操作命令

备注:-i 表示安装指定的软件包 -v 显示安装时详细信息 -h 显示安装进程。

第3步:升级RPM软件包

当一个软件包已经安装,需要对其升级操作,采用【rpm -U 软件包名】命令,对其进行升级操作,命令格式以及释义如下:

【rpm -U example.rpm】升级 example.rpm 软件包。

【rpm -Uvh example.rpm】加v参数显示升级时详细信息,加h参数显示安装进程。

项目二 Linux的基本操作命令

第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主程序。

项目二 Linux的基本操作命令

rpm -qa |grep yum查看安装的yum相关程序。

项目二 Linux的基本操作命令

一般情况下yum软件本身是在安装操作系统的时候就安装上去了的。


第2步:挂载系统安装光盘

把光盘放入光驱,然后使用如下命令把光盘挂在/mnt这个常用的挂载点下。

mount  /dev/cdrom  /mnt/】挂载光盘载成功后会在/mnt目录下看到光盘中的文件。

项目二 Linux的基本操作命令

第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 本地源的配置文件),如图所示。

项目二 Linux的基本操作命令

第4步:编辑自己的repo文件

使用下面的命令新建一个自己的yum源。

 【vim  /etc/yum.repos.d/local.repo】新建local.repo文件。

 备注:新建的文件必须以.repo为后缀,local可以自己取名)


项目二 Linux的基本操作命令

然后按【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源。

项目二 Linux的基本操作命令

第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提示符;

项目二 Linux的基本操作命令

【yum resolvedep dialog】显示dialog软件包的依赖关系。

【yum deplist dialog】:显示dialog软件包的所有依赖关系。

【yum clean packages】 清除缓存目录下的软件包。

【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://mirrors4.ustc.edu.cn/

http://mirrors6.ustc.edu.cn/

东北大学:

http://mirror.neu.edu.cn/ (IPv4 only)。

http://mirror.neu6.edu.cn/ (IPv6 only)。

电子科技大学:http://ubuntu.uestc.edu.cn/