项目二:管理与维护Linux系统
任务一 安装与配置初始Centos系统
第一步:选择启动方式
第二步:跳过光盘检测
第三步:选择安装的语言
第四步:选择合适的磁盘
第五步:选择安装的存储设备
第六步:存储设备警告信息处理
第七步:设置主机名
第八步:设置时区信息
第九步:设置root密码
第十步:选择安装类型并默认分区
第十一步:重置系统分区
第十二步:自定义系统分区
第十三步:选择安装的组件
第十四步:重启系统
第十五步:阅读许可信息
第十六步:创建用户
第十七步:设置日期和时间
第十八步:系统登录
Centos系统已完成安装
任务二 认识Linux的文件系统
子任务一:熟悉Linux系统中的目录结构
第一步:理解Linux系统的目录结构树
Linux使用标准的目录结构,在安装的时候,安装程序已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型,如下图所示
Linux系统目录结构采用的是树型结构。最上层的是根目录,其他的所有的目录都是由根目录而生成的。微软的DOS和Windows也是采用树形结构,但是在DOS和Windows中,这样的树形结构的根是磁盘分区的盘符,有几个分区就有几个树形结构,它们之间的关系是并列的。但是在Linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分却上的树形目录不一定是并列的。
第二步:对比理解Linux系统的文档结构
有一块硬盘,分成了4个分区,分别是/、/boot、/usr、和Windows下的FAT,对于/和/boot或者/和/usr,它们时从属关系,对于/boot和/usr,它们是并列关系。
如果把Windows下的FAT分区挂载到/mnt/winc下,那么对于/mnt/winc和/usr或/mnt/winc和/boot来说,它们是从属于目录树上没有任何关系的两个分支。
因为Linux是一个多用户系统,所以要定制一个固定的目录规划,这样有助于对系统文件和不同的用户文件进行统一的管理。
第三步:列出Linux下一些常用目录的功能
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
子任务二:了解Linux系统中的路径规则
1、Linux文件系统是从/开始的;
第一步:使用pwd命令打印当前所在目录
第二步:使用cd命令进入文件的目录
cd命令是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用cd命令基础之上。
cd/use/local:进入到/use/local目录
pwd:打印当前工作目录
cd./:还是当前目录
cd../:进入当前目录的上级目录
第三步:使用ls命令显示文件信息
ls:命令是列表的命令,在ls命令后加上-l就是以长列表的形式显示出来
ls-l或ll显示当前文件夹内文件详细信息
ls /etc |less:让/etc中文件与目录分频显示,可以上下看
less /etc/squid/squid.conf:分频显示squid.conf
mkdir是Make Directory的缩写,其语法为mkdir[-m或-p][目录名字].其中-m、-p为其选项,-m用来指定要创建目录的权限,[mkdir -m 755 yhy]表示建立一个权限为755的文件夹,该参数不常用,所以笔者不做重点解释;-p很常用。先做个实验,便会一目了然。输入【mkdir /tmp/test/yhy】命令并运行,系统提示错误,无法创建。
当我们想创建/tmp/test/yhy目录,系统提示不能创建,原因是/tmp/test目录不存在,你会说,这个Linux怎么这样傻,如果它发现要创建的目录的上一届目录不存在就会报错。但是Linux也为我们想好了解决的方法,即参数-p.
运行参数-p的命令【mkdir -p /tmp/test/yhy】,系统将不再报错。
至此,可发现参数-p的作用。没错,它的作用就是递归创建目录,即使上级目录不存在。还有一种情况就是如果你想要创建的目录存在,它也会报错,在加上参数-p后,就不会报错了。
第七步:使用touch 命令创建文件
rmdir:只能删除目录但不能删除文件或非空目录,要想删除一个文件,则要用rm命令,rm命令同样也有-f、-i、-r等 很多选项。通过man rm命令来获取详细帮助信息。
rm -f /root/dir2/myfilel:使用绝对路径删除文件myfile1.-f,强制的意思,如果不加这个选项,当删除一下不存在的文件时会报错。
rm -i/root/dir2/myfile1:当用户删除myfile2文件时会提示用户是否真的删除,如果删除,输入y,否则输入n
rm -rf /root/dir1:当删除目录时,加-r选项,如果不加这个选项会报错,rm命可以直接删除不为空的目录
rm -rf /root/dir2:删除dir2子目录,包括里面的文件。
第十步:使用cp命令复制文件
cp:用于复制文件或目录,如同时指定两个以上的文件与目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所以文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现报错。
cp /etc/grub.conf./:将etc/grub.conf文件复制到当前目录中
cp /etc/passwd /root/passwd.bak:复制/etc/passwd文件到/root中,并重命名为passwd.bak
cp /root/* .mp3 /soft/ab:复制扩展名为mp3的所有文件到/soft/ab目录中
cp-r-f/root/soft/ab:复制一个目录到另一个目录,同时删除前面已经存在的目录。
命令格式:mount [-t vfstype] [-o options] device dir
其中:
-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
Linux最早使用的文件系统:minix
Linux目前常用的文件系统:ext4、ext3、ext2
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
自动检测文件常用:auto
OS/2文件系统常用:hpfs
任务三:使用vim编辑器配置网络
子任务一:使用setup命令配置IP地址
第一步:运行setup命令
使用setup命令配置IP地址,在命令行下输入setup命令后按Enter键确定,弹出“Choose a Tool"对话框。
按键,移动光标至”Network configuration "网络配置,按Enter键确定。
第二步:选择网络设置
在弹出的“Select Action"对话框中,按键,移动光标至”Device configuration"后按Enter键确定
第三步:选择网卡
第四步:填写IP地址
第五步:保存IP地址配置选项
第六步:重启网络服务并查看IP地址信息
使用setup命令修改IP地址后,需重启net work服务使刚才的IP地址生效,输入命令
service network restart:重新启动网络服务
ifconfig -a:查询IP地址配置信息
子任务二:使用vim打开网络开关
第一步:打开网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-etfo:使用Vim编辑器打开网卡配置文件
第二步:编辑:“ifcfg-eth0"文件
按i或o中任意一个键,进入编辑模式,此时最下方会有”INSERT"插入标记,表示文件正处于编辑模式,把光标移动到第五行,将“ONBOOT=no"修改为”ONBOOT=yes".
第三步:退出并保存编辑的文件
修改相应的信息后,按键盘左上角的Esc键,退出并编辑模式,然后保存编辑的文件,输入:wq(冒号wq),保存并退出
第四步:打开网络的总开关
网卡的开关打开后,系统也不一定能提供网络服务,还需要确定系统的网络总开关是打开的。Centos系统的网络总开关配置文件是:/etc/sysconfig/network,使用vim /etc/sysconfig/network命令打开网络总开关的配置文件,按i键编辑此文件,配置如下。
GATEWAY:X.X.X.X. #设置系统网关的IP地址
GATEWAYDEV:YYY #设置连接网关的网络设备为YYY
DOMAINNAME:yhy.com #设置本机的域名为yhy.com
DISDDMAIN:yang.com #在有NIS系统的网络中,设置NIS域名为yhy.com
第五步:重启网络服务
对网络相关的任何配置文件进行修改后都需要重启网络服务或者注销系统,让配置生效。
service network restart或/etc/init. d/network restart:重启network服务使之生效。
ifconfig:查询IP地址信息。
第六步:总结vim编辑器的简单操作
vim 后跟文件名(注意:不是文件夹名)例如vim yhy,如果有yhy文件就打开了,如果没有九创建它。
按i或o3个字母中的任何一个就进入编辑模式,进入编辑模式时,最下方有“INSERT"标识,编辑完后,按键盘左上角的Esc键退出编辑模式,然后按冒号(:),同时注意要按住shift键。
:wq写入磁盘(Wirte)并退出(Quit).
:q不保存退出。
:q!强制退出。
子任务三:使用vim配置DNS地址
第一步:打开DNS的配置文件
输入vim /etc/resolv.conf命令打开DNS的配置文件。
第二步:配置DNS地址
此文件没有配置DNS地址时默认为空,按i键进入编辑模式,输入如下字符:
第三步:总结vim的使用
vim可以分为三种状态,分别是指令模式(也称为一般模式,插入模式和底行模式)
(1)指令模式/一般模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段进入插入模式下,或者到末行模式下。
(2)编辑模式/插入模式:只有在Insert Mode下,才可以做文字的输入,按Esc键可回指令模式。
(3)末行模式:将文件保存或退出vim,也可以设置编辑环境,如果找字符串、列出行号等。
子任务四:配置网卡多IP地址信息
第一步:使用命令配置临时IP地址
有时为了临时方便及工作需要,需要配置一个临时的IP地址,重启网络服务或重启系统后就会失效,不会永久保存在系统中,可以通过如下命令实现:
ifconfig eth0 1.1.1.2 netmask 255.0.0.0:配置网卡的临时IP,重启失效。
第二步:临时将一个网卡绑定多个IP
如果一个临时IP地址不够用,还可以绑定多个临时IP,在网卡后面跟“eth0:1"(冒号1)即可。
ifconfig eth0:1 1.1.1.3 netmask 255.0.0.0:eth0后面跟冒号和1.
第三步:一个网卡永久绑定多个IP
复制配置文件ifcfg-eth0为ifcfg-eth0:1,此方法为永久修改。
使用cd /etc/sysconfig/network-scripts/命令进入网卡文件存放目录,使用cp ifcfg-eth0 ifcfg-eth0:1命令复制网卡文件为ifcfg-eth0:1.然后使用vim ifcfg-eth0:1命令修改其中的IP地址。
子任务五:操作网卡与测试网络
第一步:通过命令操作网卡
操作网卡的命令主要是ifconfig命令,可以通过该命令关闭或启用网卡。
ifconfig eth0 down:关闭网卡。
ifconfig eth0 up:启用网卡。
ifconfig eth0 hw ether 00:E0:23:45:34:A1:修改网卡物理地址(MAC地址)。
service network restart或/etc/init.d/network restart:重启网络服务。
ifconfig:查看网卡IP地址与物理地址信息。
第二步:测试网络状态
测试网络状态主要有traceroute、ping、netstat3个命令。
traceroute www.sina.com.cn:显示数据包到达目的主机所经过的路由。
ping www.sina.com.cn:测试到底www.sina.com.cn网络的连通性。
ping -c 4 8.8.8.8:测试网络的连通性。
netstat -I:显示网络接口的状态信息。
netstat -lpe:显示所有监控中的服务器的Socket和正使用Socket的程序信息。
netstat -r:显示内核路由表信息。
netstat -nr:显示内核路由信息。
netstat -t:显示TCP/UDP传输协议的连接状态。
netstat -u:显示内核路由表信息。
arp -a:查看arp缓存。
arp -s 192.168.33.15 00:60:08:27:CE:B2:添加一个IP地址和Mac地址的对应记录。
arp -d 192.168.33.15:删除一个IP地址和Mac地址的对应缓存记录。
子任务六:启动图形界面还是字符界面
第一步:打开inittab配置文件
vim /etc/inittab:使用vim编辑器打开/etc/inittab.
0 -halt(关机,让系统关闭所有进程并关机)
1 -Single user mode (单用户字符界面,通常又称s或S)。
2 -Multiuser,without NFS(不具备网络文件系统功能的多用户字符界面)。
3 -Full multiuser mode(具备网络文件系统功能的多用户字符界面)。
4 -unused(保留不用)。
5 -X11(具备网络功能的图形用户界面)。
6 -reboot(关闭所有运行的进程并重新启动系统)。
第二步:修改linux启动模式
按键盘上的i、o或a3个字符中的任意一个,进入编辑模式,把光标定位到最后一行的”id:5:initdefault"中,修改数字。如果数字是5,系统自动启动后默认进入图形界面,设为3则系统启动时默认进入字符终端界面。
第三步:保存配置文件
按键盘左上角的Esc键,退出编辑模式,输入:wq(冒号和wq两个字母),保存并退出,关闭文件。
第四步:图形与字符界面的切换
Linux作为服务器,一般工作在字符界面下,占用资源较少,功能很强大,但有时需要桌面办公时,即可切换到图形界面。linux系统作为办公系统,功能同样强大,可以完全使用Linux来工作,在Linux中,一般的办公软件基本都有开源的解决方案。
init 5或startx:在字符界面下切换到图形界面(前提是装好图形界面)。
init 3:从图形界面或单用户模式进入字符界面(图形界面有时需要注销)。
任务四:root账户密码的破解与保护
子任务一:进入 单用户模式并修改root账户密码
第一步:进入kernal编辑界面
开机进入GRUB,在读秒的时候,按两次a键,编辑kernel参数。
第二步:编辑kernel启动参数
进入kernel编辑界面,输入空格后,在输入数字1或single,以告诉Linux内核后续的启动过程需要进入单用户模式,然后按Enter键即可进入用户模式。
第三步:用passwd命令修改root密码
系统无须密码进入单用户模式,使用passwd命令修改root账户口令。
输入passwd命令,然后按Enter键,系统等待输入新的root密码,输入完成后按Enter键再次确认输入新的密码,输入完成后按enter键即可。
第四步:进入多用户系统
子任务二:给单用户模式加密
方式一:明文方式
明文方式即单用户模式的密码在系统文件(/etc/grub.conf)中是可见的,没有加密的。
第一步:打开/boot/grub/grub.conf文件
输入如下的命令,使用vim编辑器打开/boot/grub/grub.conf文件:
vim /boot/grub/grub.conf
方式2:M第二步:编辑/boot/grub/grub.conf文件D5加密方式
第一步:给密码进行md5加密
在终端输入grub-md5-crypt后按Enter键,这时系统会要求输入两次相同的密码,之后系统便会输出MD5码
第二步:添加md5密文到/etc/grub.conf文件中
任务五:管理Linux系统的用户和用户组
Linux操作系统是多用户多任务的操作系统。
用户可分为普通用户和超级用户,除了用户以外还有用户组。所谓用户组就是用户的集合,Centos组中有两个类型,私有组和标准组。当创建一个新用户时,若没有指定他所属的组,Centos就建立一个和该用户相同的私有组,此私有组中只包括用户自已。标准组可以容纳多个用户,如果要使用标准组,那创建一个新的用户时就应该指定他所属的组。另外,同一个用户可以属于多个组。
第一步:查看Linux系统中的用户
系统中所有的用户存放为/etc/passwd,可以通过vim /etc/passwd命令查看。
passwd文件有许多条记录组成,每条记录占一行,记录了一个用户账号的所有信息
(1)用户名:它唯一地标识了一个用户账号,用户在登录时使用的就是它。
(2)加密口令:passwd文件中存放的密码时经过加密处理的,Linux的加密算法很严密,其中的口令几乎是不可能被破解的。盗用账号的人一般都借助专门的黑客程序,构造出无数个密码,然后使用同样的加密算法将其加密,再和本字段进行比较,如果相同的话,就代表构造出的口令是正确的。
(3)用户ID:用户识别码,简称UID。Linux操作内部使用UID来识别用户,而不是用户名。UID是一个整数,用户的UID互不相同。
(4)组ID:用户识别码,简称GID。不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。
(5)用户描述:这是给用户账号做的注解。它一般包括用户的真实姓名、电话号码、住址等,当然也可以是空的。
(6)家目录:这个目录属于该账号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root账号的家目录是/root,其他账号的家目录都在/home目录下,并且和用户名同名。
(7)登录shell:用户登录后执行的命令,一般来说,这个命令将启动一个shell程序。
第二步:查看用户密码以及有效期的文件
用户密码以及有效器的存放文件/etc/shadow可通过vim /etc/shadow命令打开查看。
shadow文件由许多条记录组成,每条记录占一行,记录了一个用户账号的所有用户密码以及有效期等消息。每条记录由8个字段组成,字段间用冒号(:)隔开
(1)用户名:是与/etc/passwd文件中的登录名一致的用户账号。
(2)加密口令:存放的是加密后的用户口令字符,长度为13个字符。如果为空,则对应用户没有口令,能够登录但不需要口令;如果是两个感叹号,则表示该用户没有设置密码,不能登录进系统;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
(3)最后一次修改时间:表示从某个时刻起,到用户最后一次修改命令时的天数。时间起点对不同的系统可能不一样。
(4)最小时间间隔:指两次修改口令之间所需的最小天数。
(5)最大时间间隔:指口令之间所需的最小天数。
(6)警告时间:表示从系统开始警告用户到用户密码正式失效之间的天数。
(7)不活动时间:表示用户没有登录活动到用户密码正式失效之间的天数。
(8)失效时间:给出的一个绝对的天数。如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法账号,也不能用来登录。
第三步:查看账号所属组文件
/etc/group文件是用户组的配置文件,内容包括用户和用户组,并且能显示用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组,同一用户的用户之间具有相似的特征。
第四步:查看用户组密码文件
/etc/gshadow是/etc/group的加密资讯文件,例如用户组管理密码就存放在这个文件中。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。
通过vim /etc/gshadow:可以查看用户组密码存放文件,每个用户组独占一行
第五步:建立与删除用户
useradd yhy:新建yhy用户。
passwd yhy:为yhy用户设置密码,密码输入时无任何显示。
useradd ybs -d /home/y:新建ybs用户,并指定家目录为/home/y.
useradd user1 -d /home/user:此出可以不加-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密码。
第六步:建立与管理用户组
grounpadd grp1:新建用户组grp1.
grounpdel grp1:删除用户组grp1.
grounpmod grp2 grp1:修改用户组名称grp1为grp2.
gpasswd -a user2 grp2:把用户user2加入到用户组grp2。
gpasswd -d user2 grp2:把用户user2从用户组grp2中删除。
第七步:几个重要的命令补充
who am i:显示当前以哪个用户登录。
w:显示目前登入系统的用户详细信息,包括登录IP地址等。
who:显示目前登入系统的用户简要信息。
last:记录每个用户的登录次数和持续时间等信息。
finger:查找并显示用户信息。
su user:切换用户但步切换当前目录。
su -user:切换用户并切换到user的家目录。
ntsysv:启动/关闭系统中的服务。
setup:设置系统运行参数。
vvv
任务六:管理Linux系统的权限
第一步:认识文件权限说明
执行ls-l或ls-al或ll命令显示如下
第一字符一般用来区分文件和目录:d表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。一表示这是一个普通的文件。l表示这是一个符号链接文件,实际上它指向另一个文件。b、c分别表示区块设备和其他外围设备,是特殊类型的文件。
第2~10个字符是用来表示一般的权限,每3个为一组,左边3个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个是其他用户的权限。
每个用户都拥有自已的专属目录,即家目录,通常集中放置在/home目录下,这些专属目录的默认权限为rwx------,表示目录所有者本身具有的所有权限,其他用户无法进入该目录。执行mkdir命令创建的目录,其默认权限为rwxr-xr-x,用户可以根据需要修改目录的权限。
文件和目录的权限表示是用r、w、r这3个字符来表示所有者,用户组和其他用户的权限。有时,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需3个数字。我们把r、w、x分别用数值4、2、1来表示,权限数字之和即可代表对应的权限,具体如下。
r:对应数值4;
w:对应数值2;
x:对应数值1;
-:对应数值0.
r、w、x合起来就是4+2+1=7,一个rwxrwxrwx权限全开放的文件,数值表示777;而完全不开放权限的文件---------,其数值为000.
第二步:使用chmod命令改变文件或目录的访问权限
chmod 777 123.tex:把123.tex文件的权限设置为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的权限。
第三步:更改文件的所有者以及所属组
使用touch 123.txt命令可以创建一个文件后再执行ls-l或ll命令查看文件的情况。
chown yhy 123.txt:把123.txt文件的拥有者该为yhy.
ls-l:查看文件的详细情况。
chgrp yangs /etc/123.txt:修改/etc/a.txt属组为yangs.
chmod yhy.zck a.txt或chmod yhy:zck a.txt:把a.txt文件的拥有者改为yhy,所属组改为zck.
第四步:认识umask
默认的权限可用【umask】命令修改,用法非常简单,只需执行【umask 777】命令,便代表屏蔽所有的权限,因而之后建立的文件或目录,其权限都变成000,依此类推,如图:
在图中当执行【umask 777】命令后,再建立的文件夹的权限为000。 通常/root账号搭配【umask】命令的数值为022、027和077,普通用户则是采用002,这样所产生的权限依次为755、750、700和775。用户登录系统时,用户环境就会自动执行【umask】命令来决定文件、目录的默认权限。
当我们登录系统之后创建一个文件总是有一个默认权限,那么这个权限是怎么来的,这就是umask的功能,umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限补码,而chmod设置的是文件权限码。一般可在/etc/profile、/etc/bashrc、中设置值。
第五步:识别特性权利
Linux 引人suid,sgid.sticky 这3 种特殊权限,能够更加方便、有效和安全地控制文件。在一个目录或文件上加人suid 特殊权限时,如果原来目录或文件的属主具有x(执行)权限,就会用小写的s来替代x,如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替x。同样sgid、sticky和suid相同。
第六步:识别文件颜色
浅灰:表示链接文件;
灰色:表示其他文件;
绿色:表示可执行文件;
红色:表示压缩文件;
红色闪烁:表示链接的文件有问题;
黄色:表示设备文件,包括block、char、fifo.
用dircolors -p:可以看到默认的颜色设置,包括各种颜色和粗体,下划线,闪烁等的定义。
touch a.txt:创建一般的文件,文件颜色为白色。
chmod 775 a.txt:增加可执行权限后,文件颜色变为绿色。
ln /etc/abc.txt 345.txt:执行该命令后,文件颜色变为天蓝色。
第七步:总结常用的几个命令
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/dir:显示目录dir1的详细信息,记录目录的权限信息。
umask 066:改变umask参数为066.
chmod g+w /home/dir1:为dir1的同组用户增加写权限。
chmod 755 /home/dir1:改变file1d的文件权限为755.
任务七:管理rpm软件包与压缩包
子任务一:管理rpm软件包
第一步:查询rpm软件是否已经安装
rpm -qa | grep tomcat4:查询已经安装的tomcaat4 的所有套件。
rpm -qip example.rpm:查询example.rpm安装包的信息。
rpm -qif /bin/df:查询/bin/df:查询/bin/df文件所在安装包的信息。
rpm -qlf /bin/df:查询/bin/df文件所在安装包中的各个文件分别被安装到哪个目录下。
第二步:安装rpm软件包
rpm -i example.rpm:安装example.rpm包。
rpm -iv example.rpm:安装example.rpm包并在安装过程中显示正在安装的文件。
rpm -ivh example.rpm:安装example.rpm包并在安装过程中显示正在安装的文件信息及安装进程。
第三步:升级rpm软件包
rpm -U example.rpm:升级example.rpm软件包。
rpm -Uvh example.rpm:加参数v显示升级时详细信息,加参数h显示安装过程。
第四步:卸载rpm软件包
rpm -e tomcat4:卸载tomcat4软件包。
rpm -e proftpd-1.2.8-1
第五步:熟悉rpm的其他附加命令
--force,强制操作,如强制安装删除;
--requires,显示该包的依赖关系;
--nodeps,忽略依赖关系并继续操作。
rpm -e --nodeps vsftpd:忽略依赖关系并继续删除vsftpd软件包。
rpm -i --nodeps vsftpd:忽略依赖关系并继续安装vsftpd软件包。
rpm -i --requires vsftpd:显示该包的依赖关系并安装vsftpd软件包。
rpm -i --force vsftpd:强制安装vsftpd软件包。
第六步:认识rpm的命名规则
假设一个软件包的名称为:abc-1.3.20-16.i386.rpm,abc代表软件包的名称;1.3.20表示版本号;16表示发行次数;i386表示使用平台为Intel x86.
子任务二:管理压缩软件包
第一步:管理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.
第二步:管理zip包
zip yhy.zip yhy.txt:压缩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:删除打包文件目录下的文件ln.log。
zip -m yhy1.zip yhy1.txt:向压缩文件yhy1.zip中添加yhy1.txt。
zip yhy3.zip yhy3s/* -x yhy3s/ln.log:压缩文件时排除ln.log文件。
第三步:解压zip包
unzip yhy.zip:将解压文件yhy.zip在当前目录下解压缩。
unzip -n yhy.zip -d /tmp:将解压文件yhy.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
unzip -o test.zip -d /tmp:将压缩的文件test.zip在指定的目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
unzip -v yhy.zip:查看压缩文件目录,但不解压。
unzip a.zip:解压一个zip包。
第四步:gzip和gunzip等其他的压缩软件以及常用命令
gzip -d a.gz 3.tar.gz:解压一个gz包。
tar xvzf abc.tar.gz:解压一个tar.gz包。
gunzip abc.tgz:解压一个tgz包。
tar xvzf a.tar.z:解压一个tar.z包。
bunzip2 b.txt.bz2:解压一个bz2包。
find /-name " *.zip":将系统中所有的.p文件名显示出来。
find/ -name "*.gz” | wc -l:查找系统中有多少个.gz文件并统计数量。
在家目录中创建如下内容:
mkdir /home/dirr1 dir2 dir3:在家目录中建立3个目录。
touch /home/dir1/file1 /home/dir2/file2 /home/dir3/file3:分别在新建的目录中建立file1、file2、file3文件。
zip -q -r /root/ys1.zip /root/*:将家目录下的所有文件压缩成文件ys1.zip。
zip -m ys1.zip install.log:将/root/install.log添加到ys1.zip中。
unzip -v ys1.zip:显示ys1.zip中包含的文件信息。
mkdir /tmp/unzip-ys1:建立unzip-ys1目录(此目录需要先建立)。
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 file2r.gdr1/file1:将dir1/file2件压缩成file2tar.gz。
tar -czvf file3tar.gz dir1/file1:将dir1/file1文件压缩成file1.tar.gz。
任务八:YUM源的配置与软件的YUM安装
子任务一:配置本地YUM源
第一步:查看系统默认安装的YUM
rpm -qa yum:查看安装的YUM主程序。
rpm -qa | grep yum:查看安装的YUM相关程序。
第二步:挂载系统安装光盘
把光盘放入光驱然后使用mount /dev/cdrom /mnt/:命令把光盘挂在/mnt这个常用的挂载点下。挂载成功后会在/mnt目录下看到光盘中的文件。
第三步:备份默认YUM配置文件
cd /etc/yum.repos.d/:进入YUM配置的目录下。
ls:会看到Centos系统默认的4个以repo为扩展名的配置文件。
mkdir /etc/yum.repos.d/bak:建立备份文件夹。
mv /etc/yum.repos.d/Cenr * /etc/yum.repos.d//bak/:备份原来的配置文件,移动原有的配置文件到备份文件夹中。
第四步:编辑自已的repo文件
vim /etc/yum.repos.d/local.repo:新建local.repo文件。
第五步:总结repo文件的格式
第六步:使用YUM源安装软件
yum:命令搭配参数install表示安装指定的软件,详细使用方法以及解释如下。
yum install -y dialog:通过YUM源安装dialog软件。
yum install yum-fastestmirror:自动搜索最快的镜像插件。
yum insatll yumex:安装YUM图形窗口插件。
yum localinstall -y dialog:安装本地的rpm软件包dialog。
第七步:使用YUM更新软件
yum命令搭配参数update表示更新指定的软件,详细使用方法以及解释如下:
yum update -y dialog:更新dialog。
yum check-update -y dialog:检查是否有可用的更新dialog软件包。
yum localupdate -y dialog:如果有dialog的新版本,而且也下载到本地,就可以这样本地更新dialog。
yum update:全部更新YUM源。
第八步:使用YUM卸载软件
yum remove -y dialog:卸载dialog软件包。
yum remove |erase package1:删除程序包package1。
第九步: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 packages:清楚缓存目录下的软件包。
yum clean headers:清除缓存目录下的headers。
yum clean oldheaders:清除缓存目录下旧的headers。
第十步:查询已经安装的dialog软件
rpm -qa dialog:查询dialog软件安装信息。
子任务二:配置国内网络YUM源
第一步:配置上海交通大学YUM源
修改/etc/yum.repos.d/CentOS-Base.repo为如下内容。
$releasever:代表发行版本,从【main]部分的distroverpkg获取,如果没有,则根据RedHat-release包进行判断。
$arch:CPU体系,如i686,,athon等。
$basearch:CPU的基本体系组。