任务一 安装与配置初始CentOS系统
任务二 认识Linux的文件系统
子任务一
熟悉Linux系统中的目录结构 文件结构是文件存放在磁盘等存储设备上的组织方法,主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。
第1步:理解Linux系统的目录结构树
Linux系统的目录结构采用的是树形结构。最上层是根目录,其他的所有目录都是由根目录而生成的。微软的DOS和Windows也是采用树形结构,但在DOS和Windows中,这样的树形结构的根是磁盘分区的盘符,有几个分区就有几个树形结构,他们之间的关系是并列的。但是在Linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树形目录不一定是并列的。 第2步:对比理解Linux系统的文档结构 有一块硬盘,分成了四个分区,分别是/、/boot、/usr和Windows下的FAT,对于/和/boot或者/和/usr,它们是从属关系;对于/boot和usr,它们是并列关系。 如果把Windows下的FAT分区挂载到/mnt/winc下,那么对于/mnt/winc和usr或/mnt/winc和/boot来说,他们是从属于目录树上没有任何关系的两个分支。 因为Linux是一个多用户系统,所以要定制一个固定的目录规划,这样有助于系统文件和不同用户文件进行统一管理。 第3步:列出Linux下一些常用目录的功能 /,根目录。 /bin,存放必要的命令。 /boot,存放内核以及启动需要的文件(最好占一个分区)。 /dev,存放设备文件。 /etc,存放系统配置文件(最好占一个分区)。 /home,普通用户的宿主目录,用户数据存放在其主目录中(推荐占一个分区)。 /lib,存放必要的运行库。 /mnt,存放临时的映射文件系统,通常用来挂载。 /proc,存放存储进程和系统信息。 /root,超级用户的主目录(推荐占一个分区)。 /sbin,存放系统管理程序。 /tmp,存放临时文件。 /usr,存放应用程序、命令程序文件、程序库、手册和其他文档(推荐占一个分区)。 /var,在正常操作中被改变的文件。
子任务二 了解Linux系统中的路径规则
在Linux系统中什么是一个文件的路径呢,路径就是一个文件存在的地方。如果告诉系统这个文件的路径,那么系统就可以找到这个文件。在Linux中,存在着 绝对路径和相对路径。
第1步:理解绝对路径 绝对路径:
路径的写法一定有根目录“/”写起,例如/usr/local/mysql就是绝对路径。
第2步:理解相对路径 相对路径:
路径的写法不是由根目录“/”写起,例如,首先用户进入到/,然后再进入到home,命令为【cd/home】,然后用【cd test】命令,此时用户所在的路径为/home/test.第一个cd命令后跟/home,第二个cd命令后跟test,并没有斜杠,这个test是相对于/home目录而言的,所以叫做相对路径。
子任务三 掌握Linux系统中的基本命令
第1步:
使用【pwd】命令打印出当前所在目录 在Linux系统中,只显示当前工作的目录,没有显示完整的路径,使用【pwd】打印当前完整的工作路径。
第2步:
使用【cd】命令进入文件的目录 【cd】命令是Linux系统中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用【cd】命令的基础之上的。所以学习Linux常用命令,首先就要学好【cd】命令的使用方法与技巧。 【cd /usr/local】进入到/usr/local目录。 【pwd】打印当工作目录。 【cd . /】还是当前目录。 【cd .. /】进入当前目录的上级目录。 在上面的命令中,首先进入/usr/local/lib/目录下,然后再进入. /,其实还是进入当前目录下,用【ped】命令查看当前的工作路径,并没有发生变化,然后再进入../,则是进入到/usr/local/目录下,即/usr/local/lib目录的上一级目录。 路径【. /】指的是在当前目录,【.. /】指的是当前目录的上一级目录。
第3步:
使用【ls】命令显示文件信息 【ls】是列表的命令,在【ls】命令后加上-l就是以长列表的形式显示出来,内容较【ls】的命令更加具体。 【ls -l】或【ll】显示当前文件夹内文件详细信息。 【ls -a】显示当前文件夹内隐藏文件。 【ls ~】显示文件宿主目录的文件信息。
第4步:
使用【more】或【less】命令分屏显示文件与目录 【more】以一页一页的形式显示文件。 【less】命令作用与【more】命令相似,都可以用来浏览文字档案的内容。不同的 【j】以行为单位向下;【k】以行为单位向上。 【ls /etc |more】让/etc中文件与目录分屏显示,只能向下查看。 【ls /etc |less】让/etc中文件与目录分屏显示,可以上下查看。 【less /etc /squid /squid. conf】分屏显示squid.conf中的内容。
第5步:
使用【cat】命令查看文件内容 【cat】命令是Linux下的一个文本输出命令,通常用于查看某个文件的内容,主要有三大功能: (1)一次性显示整个文件:【cat filename】。 (2)从键盘创建一个文件:【cat>filename】。 (3)将几个文件合并为一个文件:【cat lilel file2>file】。 【cat/etc/passwd】查看文件passwd文件中的内容。 【cat/etc/passwd|less】查看文件passwd文件中的内容,可以上下移动,按q键退出。 【cat/etc/fstab】查看/etc/fstab文件中的内容。
第6步:
使用【mkdir】命令创建目录 【mkdir yhy】在当前路径中创建yhy目录。 【mkdir yhy1 yhy2 yhy3】在当前路径中同时创建yhy1、yhy2、yhy3共三个目录。
第7步:
使用【touch】命令创建文件 【touch】命令用于创建的空文件或者修改已有的文件的时间戳,常用方法如下。 【touch fileA】如果fileA存在,使用【touch】指令可更改这个文件或目录的日期时间;如果其不存在,指令会在当前目录下新建一个空白文件fileA。 【touch file1 file2】在当前目录下创建文件file1和file2两个。 【touch /home/file1file2】在/home目录下创建两个文件。 【touch -t 201601142234.50 log.log】设定文件的时间戳。 【mkdir dirl dir2】在当前目录下创建子目录。
第8步:
使用【rmdir】命令删除目录 【rmidr /tmp/test/yhy】删除yhy目录。 【ls /tmp/test】查看目录下的文件及目录。 【mkdir -p d1/d2/d3】依次建立文件夹。 【rmdir -p d1/d2/d3】依次删除文件夹。 我的手机 17:10:35
第9步:
使用【rm】命令删除目录或者文件 【rmdir】命令只能删除目录但不能删除文件或非空目录,要想删除一个文件,则要用【rm】命令。 【rm –f /root/dir2/myfile1】使用绝对路径删除文件。 【rm –I /root/dir2/myfile2】-i当删除文件时会提示用户是否真的删除,如果删除,输入【y】,否则输入【n】。 【rm –rf /root/dir1】当删除目录时加-r选项。 【rm –rf /root/dir2】删除dir2子目录,包括里面的文件。
第10步:
使用【cp】命令复制文件 【cp】命令用于复制文件或目录。 【cp /etc/grub.conf./】将/etc/grub.conf文件复制到当前目录中。 【cp /etc/passwd /root/passwd.bak】复制文件,并重命名。 【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 –I 1.txt 2.txt】将文件改名,如果文件已存在,则询问是否覆盖。
第12步:
重启与关机 (1)重启命令 【reboot】重启系统。 【shutdown –r now】立刻重启(root用户使用)。 【shutdown –r 10】过十分钟自动重启。 【shutdown –r 20:35】在时间为20:35时重启。 (2)关机命令 【halt】立刻关机。 【poweroff】立刻关机。 【shutdown-h now】立刻关机(root用户使用)。 【shutdown-h 10】十分钟后自动关机。
第13步:
查看系统相关状态 (1)【df】命令显示磁盘占用空间。 (2)【free】命令用于显示系统内存的使用情况信息。 (3)【cat/proc/meminfo】命令查看内存使用的详细信息。 (4)【cat /procuinfo】命令查看CPU信息。
第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-size 100 -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系统中
第一步:理解挂载的概念
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 当linux再次启动时,系统会读取该文件,linux系统就会把文件挂到/mnt/iso目录下面。