您的位置:首页 > 运维架构 > Linux

项目二 : 管理与维护linux系统(任务一 任务二)

2018-03-18 16:46 363 查看


任务一:安装与配置初始CentOS系统(已经安装)
任务二:认识Linux的文件系统

【子任务一】 熟悉linux系统中的目录结构 

文件结构是文件存放在磁盘等存储设备上的的组织方法,目录提供了一个方便而有效的途径。第一步   理解linux系统的目录结构树 /根目录/bin/boot/dev/etc/home/lib/mnt/usrlinux系统的目录采用的树形结构。   ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。”@”表示符号链接、”|”表示FIFOS、”/”表示目录、”=”表示套接字。
ls -s 在每个文件的后面打印出文件的大小。 size(大小)
ls -t 按时间进行文件的排序 Time(时间)
ls -A 列出除了”.”和”..”以外的文件。
ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
ls -L 列出文件的链接名。Link(链接)
ls -S 以文件的大小进行排序                                              第二步     对比理解linux的文档结构有一块硬盘,分成了四个分区,分别是/、boot、/usr和windows下的FAT。    在linux系统里面,分区被称作“挂载点”,简单明了的说,“挂载点”意思就是:把一部分硬盘容量,“分”成一个文件夹的形式,用来干什么事情。这个文件夹的名字,就叫做:“挂载点”。所以,和Windows有着本质上的超级大的区别,你在任何linux发行版系统里面,绝对不会看到C盘,D盘,E 盘这样的,你能看到的,只有“文件夹”形式存在的“挂载点”。第三步   列出linux下一些常用目录的功能/bin 该目录中存放Linux的常用命令。
/boot 该目录默认下存放的是Linux的启动文件和内核。
/cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下。
/dev 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。 
/etc 该目录存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文
件、设备配置信息、设置用户信息等。
/home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该
用户的主目录。
/lib 该目录用来存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库。
/media:提供挂载(mounting)和自动挂载设备的标准位置,如远程文件系统和可移动介质(目录名为cdrecorder、floppy等)。
/mnt 临时将别的文件系统挂在该目录下。
/opt 第三方软件在安装时默认会找这个目录,所以你没有安装此类软件时它是空的,但如果你一旦把它删除了
,以后在安装此类软件时就有可能碰到麻烦。
/proc 可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里。
/root 如果你是以超级用户的身份登录的,这个就是超级用户的主目录。
/sbin 该目录用来存放系统管理员使用的管理程序。初始化的内存盘。在linux内核启动前,boot loader会将存储介质(一般是硬盘)中的
/sys:一个类似与/proc的文件系统,在Linux2.6内核中最新出现的,包含的文件用于获得硬件状态并反映内核看到的系统设备树。它使用了/proc中的很多帮助。
/tmp 用来存放不同程序执行时产生的临时文件,该目录会被系统自动清理干净。
/usr 用户的应用程序和文件几乎都存放在该目录下。
/var 该目录存放那些经常被修改的文件,包括各种日志、数据文件。
/initrd 它的英文含义是boot loader initialized RAM disk,就是由boot loader,文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd文件系统。

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

linux系统中,路径就是一个文件存在的地方,如果告诉系统的这个路径,那么系统就可以找到这个文件,在linux中,存在着绝对路径和相对路径。第一步 理解绝对路径绝对路径:路径的写法一定是由根目录“/”写起,例如/usr/local/mysql就是绝对路径。第二步 理解相对路径相对路径:路径的写法不是由根目录“/”写起,例如,用户进入到/然后在进入到home,命令为【cd /home】,然后再使用【cd/test】命令,此时用户所在的路径为/home/test。第一个cd命令后/home,第二个cd命令后跟test,并没有/,这个test是相对/home目录而言的,所以叫相对路径。

【子任务三】 掌握linux系统中的基本命令

第一步:使用【pwd】命令打印出当前所在目录在linux系统中,只显示当前的目录没有显示完整的路径第二步:使用【cd】命令进入文件的目录cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. 返回上两级目录;
cd !$ 把上个命令的参数作为cd参数使用。
第三步:使用【is】命令显示文件信息【is】命令是列表的命令,在命令后加上-l就是长列表的形式显示出来,内容较【is】命令更加具体。
【is】或【ll】显示当前文件内文件详细信息。【is-a】显示文件内隐藏文件。【is~】显示用户宿主目录的文件信息。第四步:使用【more】或【less】命令分屏显示文件与目录【more】是一页一页形式显示文件,按space键向后翻页,按b键向前翻页。【is/etc|more】让etc中文件与目录分屏显示,只能向下查看。【is/etc|less】让etc中文件与目录分屏显示,可以上、下查看。
【less/etc/squid/squid.conf】分屏显示squid.conf中的内容。第五步:使用【cat】命令查看文件内容【cat】命令是linux下的一个文本输出命令,通常是用来查看某个文件的内容。主要有三大功能一是一次显示整个文件二是从键盘创建一个文件三是将几个文件合并为一个文件第六步:使用【mkdir】命令创建目录 【mkdir yhy】在当前路径中创建yhy目录。【mkdir yhy1 yhy2 yhy3】在当前路径中同时创建yhy1 yhy2 yhy3共3个目录。语法:mkdir[-m 或-p][目录名称],-p -m为其选择项。当输入【mkdir/tmp/test/yhy】命令并运行时,系统提示错误,无法创建。第七步:使用【touch】命令创建文件【touch】命令用于创建新的空文档或者修改已有文件的时间戳,用法如下。【touch fileA】若果存在,使用命令可以更改这个文件或目录的日期时间,包括存取时间和更改时间。【touch A B】在当前目录下创建A B俩个文件。注意:【touch】命令后跟的是文件,【mkdir】命令后跟的是目录。第八步:使用【rmdir】命令删除目录【rmdir/tmp/test/yhy】删除yhy目录。【is/tmp/test】查看test目录下的文件及目录。第九步:使用【rm】命令删除目录或文件【rmdir】命令只能删除目录但不能删除文件或非空目录 ,要想删除一个文件,则要用【rm】命令。【rm】命令也有-f -i -r 等多选项。【rm -f /root/dir2/myfie1】使用绝对路径删除文件myfile1。-f是强制的意思,如果不使用这个选项,当删除一个而不存在的文件时会报错。【rm -rf/root/dir2】删除dir2子目录,包括里面的文件。第十步:使用【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 file1 file2 dir1】将file2 和file2复制到dir1中。 第十一步:使用【mv】命令移动或重命名目录/文件mv文件名 路径   (mv源文件 目的地)
          mv  aa.txt  ../android/   把当前目录下的文件aa.txt剪切到上一级目录的子目录android目录里
          mv  aa.txt  ..     把文件aa.txt移动到上一级目录 2.、重命名(假如把剪切的文件存放在同一个目录中,则是重命名)        mv 文件名 文件名 (mv源文件 目标名称)        mv  bb.txt  cc.txt   把文件bb.txt重命名为cc.txt         mv  dir1  new_dir    重命名/移动 一个目录 第十二步:重启与关机重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用) 
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
关机命令:
1、halt   立刻关机
2、poweroff  立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启。
第十三步:查看系统相关状态【df】命令显示磁盘占有空时间【free】命令用于显示系统内存的使用情况信息。total:内存总数;used:已经使用的内存数;
free:空闲的内存数;
shared:当前已经废弃不用;
buffers Buffer:缓存内存数;
cached Page:缓存内存数。
【cat/proc/meminfo】命令查看内存使用的详细信息。【cat/proc/cpuinfo】命令查看CPU信息(型号)。第十四步:熟悉一下常用命令以及功能ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人? 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit=”ps -aux” ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
 
打包压缩相关命令
gzip:
bzip2:
tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名


【子任务四】挂载文件到linux系统中

第一步:理解挂载的概念Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。这可能难于理解,继续往下看。
Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,你必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示你。这里又一次提到了挂载。所以挂载就是把目录和分区连接起来,和上面说的WINDOWS下的映射关系是一样的。不同的是WINDOWS是把分区映射到一个盘符,而LINUX下是映射到一个目录。 这是理解他们不同最重要的地方,而导致不同的是因为文件系统结构不同。
上面说了Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了. 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,我在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录,比如/home,也可以是我们自己建立的目录,比如/oracle。当然有些目录比如/lib, /dev, /etc, /usr这些都不能挂载其他分区,因为他们都存放着系统需要的文件,一旦被挂载其他分区,那没OS就无法找到所需的文件,系统就会崩溃。比如我们把分区2挂载到/usr/X11目录下时,系统就无法通过X11目录找到分区1上的文件,这个时候系统图形界面就无法使用了. 虽然文件还在硬盘上。前面说过,目录 --- 分区 是通过挂载吧他们联系起来。你更换了分区,也就破坏了联系,就无法在找到之前的文件了。我们在看分区5和分区6,我们把它挂载到/home/ftp 和 /oracle目录下,这个时候我们在操作这2个目录是,就是操作对用的分区了.
而WINDOWS就没这么复杂,她不是采用树形的结构,每个分区对应一个盘符,一旦建立映射关系就无法在修改。实际上,LINUX的每个挂载了分区的目录就相当于WINDOWS系统中的盘符,比如上面的,/home/ftp 和 /oracle目录我们就可以把她看做一个盘符和一个分区关联,只是因为LINUX文件系统,使得她更加灵活,所以也更复杂和难以理解。
df 命令可以查看分区挂载情况, fdisk 命令可以查看系统分区情况。
LINUX下所有设备都被认为是文件,而/dev目录存放所有系统设备文件的,而一个分区就是一个文件,名字就是分区的名字.
1、通过mount挂载文件 来挂载磁盘分区(或存储设备)
mount挂载文件  [-t  文件系统 ]  [-o  选项]  设备  目录
-t 通过这个参数,我们来指定文件系统的类型,一般的情况下不必指定有时也能识别
-o 这个选项,主要选项有权限、用户、磁盘限额、语言编码等
设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
1)对光驱和软驱的挂载;
我们先建一个目录,然后执行Linux mount挂载文件 命令,这样cdrom 就挂在 /mnt/cdrom 中了;我们就可以在/mnt/cdrom 中查看光盘中资料和文件;这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自己在做什么就行了。比如我们也可以把这个目录建成 dvdrom ;然后用 Linux mount挂载文件 /dev/cdrom /mnt/dvdrom 来挂载;
2)挂载硬盘和移动硬盘的文件系统;
一个分区只有创建了文件系统后才能使用,前面我们说过了,我们在Linux大多用的是ext2 、ext3、reiserfs、fat32、msdos 、ntfs等;
[1]挂载Linux文件系统;
首先我们得建一个文件系统挂载的目录;我们前面已经提到了;一个有文件系统的分区要挂到系统中,必须要有一个挂载点;这个挂载点就是一个目录;比如我们通过fdisk -l 得知hda5 是Linux分区,并且创建了文件系统,比如是reiserfs 文件系统吧;
步骤:
先创建一个挂载目录;比如/mnt/hda5
设置/mnt/hda5的权限为任何用户可写可读可执行;这样所有的用户都能在写入; 
通过-t reiserfs 来指定/dev/hda5是reiserfs 文件系统, 并且挂载到/mnt/hda5目录; 
假如我们不知道hda5上reiserfs 文件系统,我们可以用 -t auto 让系统定夺,然后挂载到/mnt/hda5  
不加任何参数,直接 Linux mount挂载文件   /dev/hda5 到/mnt/hda5;系统自动判断分区文件系统; 
通过df -lh 来查看是不是被挂载了;
第二步:使用挂在命令的参数1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 
光盘或光盘镜像:iso9660 
DOS fat16文件系统:msdos 
Windows 9x fat32文件系统:vfat 
Windows NT ntfs文件系统:ntfs 
Mount Windows文件网络共享:smbfs 
UNIX(LINUX) 文件网络共享:nfs 
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有: 
loop:用来把一个文件当成硬盘分区挂接上系统 
ro:采用只读方式挂接设备 
rw:采用读写方式挂接设备 
iocharset:指定访问文件系统所用字符集 
3.device 要挂接(mount)的设备。 
4.dir设备在系统上的挂接点(mount point)。必要参数:-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程

选择参数:
-S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”
-V “-V<备份方式>”或“--version-control=<备份方式>”
--help 显示帮助信息
--version 显示版本信息
第三步:使用挂在命令的选项挂载一个文件系统 
mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在 
umount /dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出 
fuser -km /mnt/hda2 当设备繁忙时强制卸载 
umount -n /mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用 
mount /dev/fd0 /mnt/floppy 挂载一个软盘 
mount /dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom 
mount /dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom 
mount /dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom 
mount -o loop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件 
mount -t vfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统 
mount /dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备 
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享 

【子任务五】掌握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: 绑定目录到另一个目录上;
注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts
………………………………………………………………………………………………………………………
    -o options:(挂载文件系统的选项)
      async:异步模式;
      sync:同步模式;
      atime/noatime:包含目录和文件;
      diratime/nodiratime:目录的访问时间戳
      auto/noauto:是否支持自动挂载
      exec/noexec:是否支持将文件系统上应用程序运行为进程
      dev/nodev:是否支持在此文件系统上使用设备文件;
      suid/nosuid:是否支持在此文件系统上使用特殊权限
      remount:重新挂载
      ro:只读
      rw:读写
      user/nouser:是否允许普通用户挂载此设备
      acl:启用此文件系统上的acl功能
注意:上述选项可多个同时使用,彼此使用逗号分隔;
 默认挂载选项:defaults:rw, suid, dev, exec, auto, nouser, and async
上述信息可以通过查看超级块信息看到,这里不再对其进行演示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: