项目二 管理与维护Linux系统
任务一 安装与配置初始CentOS系统
一 实验目的:掌握虚拟软件 VMware Workstation 8.0.4的安装过程;
练习安装Linux CentOS 6.5操作系统,掌握Linux的基本安装方法 ;
掌握Linux操作系统下与Windows操作系统下的不同分区方案。
二 实验内容及步骤:
1、VMware Workstation 8.0.4的安装过程
(1)启动安装程序后,选择“Next(下一步)”进入安装步骤,如下图所示。
(2)接受许可协议后,在下图所示界面中,选择“Typical(典型)”安装后单击“Next(下一步)”。
(3)如下图指定软件的安装路径,这里我不建议各位使用默认路径,选择好路径单击“Next(下一步)”。
(4)如下图会提示你是否需要检测更新VMware版本,此处我们取消检测更新即可,点击"Next(下一步)"。
(6)下一个页面继续点击Next(下一步)”->点击"continue"->出现图安装进程。
(7)如下图输入***:“MV4YN-0L38Q-2ZK60-XUA7K-AAZ18”后按下“Enter”。
(8)如下图安装成功
2、构建虚拟机
(1)VMware Workstation软件安装成功之后,启动程序进入软件界面,如下图所示。
单击“文件”->“新的虚拟机”,或者点击起始页的“新建虚拟机”。
(2)进入到新建虚拟机向导,选择默认标准,按“下一步”如下图所示
(3)进入下一个界面点击“下一步”,跳到下图所设置好,继续单击“下一步”。
(4)虚拟机的名称可以更改(不建议),位置也可以进行选择,如下图所示单击“下一步”。
(5)磁盘容量选择默认如下图所示单击“下一步”。
(6)在启动新建的虚拟机之前,鼠标右键点击你所建立的虚拟机,选择设置里的CD/DVD选项,在右侧的连接选项那里选择使用镜像文件,点击浏览,找到并选中你所下载的centos镜像文件,点击确定
7、安装完成。
3、安装Linux CentOS 6.5 操作系统
(1)打开虚拟机电源,进入图形安装界面如下图所示。
(2)进入下图后,提示你是否检查安装包的完整性,这里我们选择“Skip(跳过)”。
(3)安装的初始化界面如下图,按下“Next”。
(4)进入下图后,选择中文繁体,按下“Next”。
(5)进入下一个界面选择默认“美国英语式”单击“下一步”->选择默认,点击“下一步”->单击“下一步”出现
下图3-5所示,弹出的窗口中选择“是,忽略所有数据(Y)”
(6)如下图3-6所示,我们主机名选择默认,单击“下一步”。
(7)下一个界面选择默认,单击“下一步”->为根目录设置一个密码,单击“下一步”弹出一个窗口如下图
3-7所示,我们点击“无论如何都使用”。
(8)进入如下图3-8所示的磁盘管理,对于初学者而言我们这里就选择“替换现有Linux系统”单击下一步
(9)选择desktop,点击进入下一步。
(10)开始安装
(11)安装完成
(12)重启之后,点击前进
(13)同意许可证协议,点击前进
(14)创建一个用户,点击前进
(15)设置时间
(16)点击创建的用户,
(17)进入centos界面
任务二 认识Linux的文件系统
【子任务一】熟悉linux系统的目录结构
目录树可以分为小的部分,每个部分可以在自己的磁盘或分区上。主要部分是根、/usr 、/var 和 /home 文件系统。每个部分有不同的目的。
每台机器都有根文件系统,它包含系统引导和使其他文件系统得以mount所必要的文件,根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。
/usr 文件系统包含所有命令、库、man页和其他一般操作中所需的不改变的文件。 /usr 不应该有一般使用中要修改的文件。这样允许此文件系统中的文件通过网络共享,这样可以更有效,因为这样节省了磁盘空间(/usr 很容易是数百兆),且易于管理(当升级应用时,只有主/usr 需要改变,而无须改变每台机器) 即使此文件系统在本地盘上,也可以只读mount,以减少系统崩溃时文件系统的损坏。
/var 文件系统包含会改变的文件,比如spool目录(mail、news、打印机等用的), log文件、formatted manual pages和暂存文件。传统上/var 的所有东西曾在 /usr 下的某个地方,但这样/usr 就不可能只读安装了。
/home 文件系统包含用户家目录,即系统上的所有实际数据。一个大的/home 可能要分为若干文件系统,需要在/home 下加一级名字,如/home/students 、/home/staff 等。
虽然上面将不同的部分称为文件系统,但它们不必是真的分离的文件系统。如果系统是小的单用户系统,而用户希望简单化,可以很容易地放在一个文件系统中。根据磁盘容量和不同目的所需分配的空间,目录树也可以分到不同的文件系统中。重要的是使用标准的名字,即使/var 和/usr 在同一分区上,名字/usr/lib/libc.a 和/var/adm/messages 必须能工作,例如将/var 下的文件移动到/usr/var ,并将/var 作为/usr/var 的符号连接。
Unix文件结构根据目的来分组文件,即所有的命令在一个地方,所有的数据在另一个地方,所有的文档又在一个地方,等等。另一个方法是根据属于的程序分组文件,即所有Emacs文件在一个目录中,所有TeX文件在另一个中,等等。后一种方法的问题是文件难于共享(程序目录经常同时包含静态可共享的和动态不可共享的文件),有时难于查找 (例如man页在极大数量的地方,使man程序查找它们极其困难)。
根文件系统
根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏。损坏的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导。
根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz。所有其他文件在根文件系统的子目录中。
/bin
引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
/sbin
类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用。
/etc
特定机器的配置文件。
/root
root用户的家目录。
/lib
根文件系统上的程序所需的共享库。
/lib/modules
核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。
/dev
设备文件。
/tmp
临时文件。引导启动后运行的程序应该使用/var/tmp ,而不是/tmp ,因为前者可能在一个拥有更多空间的磁盘上。 /boot引导加载器(bootstrap loader)使用的文件,如LILO。核心映象也经常在这里,而不是在根目录。如果有许多核心映象,这个目录可能变得很大,这时可能使用单独的文件系统更好。另一个理由是要确保核心映象必须在IDE硬盘的前1024柱面内。 /mnt
系统管理员临时mount的安装点。程序并不自动支持安装到/mnt 。 /mnt 可以分为子目录(例如/mnt/dosa 可能是使用MSDOS文件系统的软驱,而/mnt/exta 可能是使用ext2文件系统的软驱)。 /proc , /usr , /var , /home 其他文件系统的安装点。
/boot
引导加载器(bootstrap loader)使用的文件,如LILO。核心映象也经常在这里,而不是在根目录。如果有许多核心映象,这个目录可能变得很大,这时可能使用单独的文件系统更好。另一个理由是要确保核心映象必须在IDE硬盘的前1024柱面内。
/mnt
系统管理员临时mount的安装点。程序并不自动支持安装到/mnt 。 /mnt 可以分为子目录(例如/mnt/dosa 可能是使用MSDOS文件系统的软驱,而/mnt/exta 可能是使用ext2文件系统的软驱)。 /proc , /usr , /var , /home 其他文件系统的安装点。/etc目录
/etc 目录包含很多文件。许多网络配置文件也在/etc 中。/etc/rc or /etc/rc.d or /etc/rc*.d
启动、或改变运行级时运行的scripts或scripts的目录。
/etc/passwd
用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。所有其他文件在根文件系统的子目录中。
【子任务二】了解Linux系统中的路径规则
第一步:理解绝对路径
绝对路径:是 以/为根目录层层指定
第二步:理解相对路径
相对路径:就是在shell下参进去变量的路径,比如默认变量$HOME 就是你的home目录,$变量名可以任意制定 ,你可以在bash下敲 ETC=/etc,然后$ETC/hosts 也就是/etc/hosts。
【子任务三】掌握Linux系统中的基本命令
第1步:使用【pwd】命令进入文件目录
在Linux系统中,只显示当前工作的目录,没有显示完整的路径,使用【pwd】命令打印当前完整的工作路径。
第2步:使用【cd】命令进入文件目录
【cd】命令是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用【cd】命令基础之上的
【cd /usr/local】进入到/usr/local目录。
【pwd】打印当前工作目录。
【cd ./】还是当前目录。
【cd ../】进入当前目录的上级目录。
第3步:使用【ls】命令显示文件信息
【ls】命令是列表的命令,在【ls】命令后加上-1就是以长列表的形式显示出来,内容较【ls】命令具体。
【ls -1】或者【11】显示当前文件夹内文件详细信息。
【ls-a】显示当前文件夹内隐藏文件。
第4步:使用【more】或【less】命令分屏显示文件与目录
【more】以一页一页十五形式显示文件;按Space键向后翻页;按b键向前翻页
more命令
【less】命令作用与【more】命令相似,都可以用来浏览文字档案的内容,不同的是【less】命令允许使用者往回卷动的方式查看文件,浏览速度较vi文本编辑器快;【j】以行为单位向下;【k】以行为单位向上。
【ls /etc| more】让/etc中文件与目录分屏显示,只能向下查看。
【ls /etc| less】让/etc中文件与目录分屏显示,可以上下查看。
【ls /etc/squid/squid.conf】分屏显示squid.conf中的内容。
第5步:使用【cat】命令查看文件内容
【cat】命令是Linux下的一个文本输出命令;【cat】命令主要有3大功能。
(1)一次显示整个文件:【cat filenname】.
(2)从键盘创建一个文件:【cat > filenname】,只能创建新文件,不能编辑已有文件。
(3)将几个文件合并为一个:【cat filel file2 > file】。
【cat /etc/passwd】查看文件passwd文件中的内容。
【cat /etc/passwd | less】查看文件passwd文件中的内容,可以上下移动,按q键退出。
第6步:使用【mkdir】命令创建目录
【mkdir yhy】在当前路径中创建yhy目录。
第7步:使用【touch】命令创建文件
【touch】命令用于创建新的空气文件或者修改已有文件的时间戳,
【touch fileA】如果file存在,使用【touch】指令可以更改这个文件或目录的日期时间,包括存取时间和更改时间;如果fileA不存在,【touch】指令会在当前目录下新建个空白文件fileA。
【touch file1 file2】在当前目录创建文件file1 file2两个文件。
【touch /home/file1 file2】在/home目录下创建文件file1 file2两个文件。
【touch -t 201601142234.50 log.log】设定文件的时间戳为201601142234.50。
【mkdir dir1 dir2】在当前目录下创建子目录dir1和dir2,两个文件夹。
【touch】命令后跟的是文件,【mkdir】命令后跟的是目录。
第8步:使用【rmdir】命令删除目录
【rmdir /tmp/test/yhy】删除目录。
【mkdir -p d1/d2/d3】一次建立d1/d2/d3文件夹。
【rmkdir -p d1/d2/d3】一次删除d3/d2/d1文件夹。
第9步:使用【rm】命令删除文件或者目录:
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。1命令格式:
rm [选项] 文件…
2命令功能:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
3命令参数:
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
第10步:使用【cp】命令复制文件:
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点.或点点..的形式。例如,下面的命令将指定文件复制到当前目录下:
cp ../mary/homework/assign .
第11步:使用【mv】命令移动或者重命名文件或者目录:
在linux系统中,mv命令可以用于对文件,目录的重命名以及移动操作,系统将会根据其参数的类型,自动判断是移动还是重命名操作。注意:文件的移动非常快,这是因为文件的实际内容并没有移动,而是将文件表中的某个指针改变,因此,文件的大小并不影响mv命令的执行速度。
格式:mv [选项] [源文件或目录] [目标文件或目标目录]
-i 或--interactive 交互方式操作。如果操作中导致对已经存在的目标文件的覆盖,此时系统会问是否重写。(y/n)
-f 或 --force 禁止交互操作,即覆盖时不给任何提示。此时i不起作用。
例:
1、把当前目录下的abc 移动到/home目录下面,并重命名为cdy
mv -i abc /home/cdy
可以用ll查看一下: ll /home/cdy
注意:由于把文件移动到/home目录下,因此必须对该目录具有写权限。
2、把一个目录移动到另位一个地方。
mv test cdy/ #把test目录移动到cdy目录中了,如果没有cdy则改名了。
3、文件或目录重命名
mv dir1 dir2 #目录重命名
mv file1 file2 #文件重名合
第12步:重启与关机:
在Linux系统下一些常用的关机/重启命令有【shutdown】、【halt】、【reboot】、【init】都可以达到重启系统的目的:
(1)重启命令:
【reboot】重启系统;
【shutdown -r now】立刻重启(root用户使用);
【shutdown -r 10】10分钟后自动重启(root用户使用);
【shutdown -r 20:35】在时间20:35时重启(root用户使用);
(2)关机命令:
【halt】立刻关机;
【poweroff】立刻关机;
【shutdown -h now】立刻关机(root用户使用);
【shutdown -h 10】10分钟后自动关机;
如果通过【shutdown】命令设置关机或重启,可以用【shutdown -c】取消重启或关机。
【子任务四】:挂载外部文件到Linux系统中:
第1步:理解挂载的概念
1、插入u盘到计算机,如果目前只插入了一个u盘而且你的硬盘不是scsi的硬盘接口的话,那它的硬件名称为:sda1。
2、在mnt目录下先建立一个usb的目录(如:[[email protected] root]# mkdir /mnt/usb)
3、挂载U盘:mount -t vfat /dev/sda1 /mnt/usb
4、卸载U盘:umount /mnt/usb
5、删除usb目录:rm -rf /mnt/usb
第2步:使用挂载命令的参数
1.加挂FAT32文件系统
最简单的用法
mount /dev/hda6 /mnt/wine
/dev/hda6是Windows的E盘,/mnt/wine是目录加挂点。Linux会识别到/dev/hda6分区的文件系统类型是什么,然后加挂的。当然也可以指定分区的文件系统类型,命令如下:
mount -t vfat /dev/hda6 /mnt/wine
在实际中操作中,直接加挂一个windows的分区,中文的文件名和目录名会出现乱码,为了避免这种情况可以指定字符集,命令如下:
mount /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
mount -t vfat /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
mount -t vfat -o iocharset=cp936,codepage=936 /dev/hda6 /mnt/wine(作者常用)
卸载所挂的硬盘 umount /mnt/wine
删除所挂的硬盘 rm -rf /mnt/wine
2.加挂NTFS文件系统
在目前多数的Linux版本上,需要重编译Linux核心才能,加挂NTFS分区(编译方法请参阅其它文章)。核心支持NTFS后,可以用以下命令加挂载:
mount -t ntfs /dev/hda2 /mnt/c
同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,不过和加挂vfat分区不同,实际中用以下命令是可行的:
mount -t ntfs -o iocharset=cp936 /dev/hda2 /mnt/c -r
mount -t ntfs -o iocharset=cp936,rw /dev/hda2 /mnt/c
【子任务五】掌握Linux系统中自动挂载:
挂载与卸载
挂载方法:mount DECE MOUNT_POINT
mount:通过查看/etc/mtab(文章最后会对/etc/mtab有个解释)文件显示当前系统已挂载的所有设备
命令使用格式:mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要挂载的设备;
(1) 设备文件:例如/dev/sda5
(2) 卷标:-L 'LABEL', 例如 -L 'MYDATA
(3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
dir:挂载点
事先存在;建议使用空目录;
进程正在使用中的设备无法被卸载;
常用命令选项:
-t vsftype:指定要挂载的设备上的文件系统类型;
-r: readonly,只读挂载;
-w: read and write, 读写挂载;
n: 不更新/etc/mtab;
-a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
-L 'LABEL': 以卷标指定挂载设备;
-U 'UUID': 以UUID指定要挂载的设备;
-B, --bind: 绑定目录到另一个目录上;
o options:(挂载文件系统的选项)
async:异步模式;
sync:同步模式;
atime/noatime:包含目录和文件;
diratime/nodiratime:目录的访问时间戳
auo/noauto:是否支持自动挂载
exec/noexec:是否支持将文件系统上应用程序运行为进程
dev/nodev:是否支持在此文件系统上使用设备文件;
suid/nosuid:是否支持在此文件系统上使用特殊权限
remount:重新挂载
ro:只读
rw:读写
user/nouser:是否允许普通用户挂载此设备
acl:启用此文件系统上的acl功能
命令演示如下:
[[email protected] /]# fdisk -l
...
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 5 Extended
/dev/sdb5 2101248 2306047 102400 83 Linux
/dev/sdb6 2308096 2512895 102400 83 Linux
/dev/sdb7 2514944 2719743 102400 83 Linux
/dev/sdb8 2721792 2926591 102400 83 Linux
...
[[email protected] /]# mount /dev/sdb8 /device
[[email protected] /]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/CentOS-root 18307072 4724136 13582936 26% /
devtmpfs 485368 0 485368 0% /dev
tmpfs 500664 84 500580 1% /dev/shm
tmpfs 500664 7160 493504 2% /run
tmpfs 500664 0 500664 0% /sys/fs/cgroup
/dev/sda1 508588 142620 365968 29% /boot
tmpfs 100136 20 100116 1% /run/user/42
tmpfs 100136 0 100136 0% /run/user/0
/dev/sdb8 98988 5280 93708 6% /device
[[email protected] /]# blkid /dev/sdb8
/dev/sdb8: UUID="a3c4bf06-3695-45e8-8a07-a063498f0578" TYPE="xfs"
[[email protected] /]# umount /device
[[email protected] /]# mount -t ext2 /dev/sdb8 /device
mount: 文件系统类型错误、选项错误、/dev/sdb8 上有坏超级块、
缺少代码页或助手程序,或其他错误
[[email protected] /]# cd /device/
[[email protected] device]# ll
总用量 0
[[email protected] device]# touch 11 22
[[email protected] device]# ll
总用量 0
-rw-r--r--. 1 root root 0 3月 17 10:14 11
-rw-r--r--. 1 root root 0 3月 1710:14 22
[[email protected] device]# ll
总用量 0
[[email protected] device]# ll -a
总用量 4
drwxr-xr-x. 2 root root 6 3月 17 09:27 .
dr-xr-xr-x. 21 root root 4096 3月 17 09:29 ..
[[email protected] device]# cd ..
[[email protected] /]# umount /device/
[[email protected] /]# cd /device/
[[email protected] device]# ll
总用量 0
-rw-r--r--. 1 root root 0 3月 17 10:14 11
-rw-r--r--. 1 root root 0 3月 17 10:14 22