实验三:Linux文件系统
1、 实验目的
1. 了解基本术语的含义;
2. 掌握目录和文件的操作命令;
3. 掌握文件权限的含义及其设置。
2、 实验环境
计算机一台,内存1GB,且安装有VMware Workstation 7,在虚拟机中安装Red Hat Enterprise Linux 5 Server。
3、 知识点整理
(一)文件系统概述
1.文件系统是基于操作系统的,是建立在存储设备上的可见的体系结构,提供了在磁盘或分区中组织存储文件和数据的方法。
2.一个存储设备可创建一个或多个文件系统,比如硬盘可以划分出多个分区,每一个分区可以创建一个文件系统。
3.不同的操作系统所使用的文件系统类型一般不同。
4.为了与其他操作系统兼容,通常操作系统都能支持多种不同类型的文件系统,如windows操作系统可支持FAT32和NTFS文件系统,DOS可支持FAT16和FAT32。
5.除传统的文件系统外,linux操作系统还支持日志文件系统,日志文件系统跟踪记录文件系统的变化,并将变化内容记入日志。
写操作首先是对记录文件进行操作,系统中断重启时,会根据日志记录恢复中断前的写操作。所有的文件系统的变化都被记录到日志,每隔一定时间,文件系统会将更新后的元数据及文件内容写入磁盘。
6.Linux是目前支持日志文件系统最多的操作系统之一,日志文件系统是目前linux文件系统发展的方向。
Linux常用的日志文件系统主要有:
(1) 在ext2基础上开发出来的ext3;
(2) 根据面向对象思想
的ReiserFS;
(3) 由SGI IRIX系统移植过来的XFS;
(4) 由IBM AIX系统移植过来的JFS文件系统。
(二)linux文件系统简介
Linux操作系统内核支持十多种不同类型的文件系统,默认使用ext3和swap文件系统。
1. FAT16、FAT32与NTFS文件系统
FAT16:早期的DOS和Windows 95使用的文件系统
FAT32和NTFS:目前windows xp/vista普遍使用的文件系统,NTFS安全性更高,可进行更详细的权限设置,基于NT架构的windows 2000/2003建议采用NTFS。
2. vfat文件系统
是linux对DOS、Windows下的FAT16、FAT32文件系统的一个统称。Linux支持FAT16、FAT32文件系统,并可通过相应命令创建和管理。
3. ext2、ext3与ext4文件系统
ext:扩展文件系统,第一个专门为linux设计的文件系统,由于在稳定性、速度和兼容性方面存在许多缺陷,现已不再使用。
ext2:二级扩展文件系统,1993年发布,为解决ext的缺陷而设计的可扩展、高性能文件系统。文件存取性能极好。是GNU/linux系统中
的文件系统。
ext3:ext2的升级版本,完全兼容ext2,只是加入日志技术。是目前linux默认采用的文件系统。
ext4:新一代的文件系统,处于测试阶段,支持更大容量的存储设备,支持文件的连续读写等。采用就内核的linux操作系统无法识别ext4磁盘分区。
4. Swap文件系统
用于linux的交换分区,提供虚拟内存,其分区大小一般应是系统物理内存的2倍。
安装操作系统时,就应创建交换分区。只有内存不够用时,才会使用虚拟内存。
5. ReiserFS文件系统
根据面向对象思想设计的一个非常优秀的文件系统。
6. XFS文件系统
一种高性能的64位日志文件系统。常用于大中型计算机系统。
7. JFS文件系统
IBM开发,提供了基于日志的字节级、面向事物的高性能文件系统,主要用于大中型计算机系统。
8. NFS文件系统
网络文件系统,用于unix系统间通过网络进行文件共享。
9. ISO9660文件系统
光盘所使用的标准文件系统。
注:对于小型计算机系统,文件系统通常采用ext3或ReiserFS。
(三)创建与使用文件系统
磁盘空间统计:df [参数]
引:Linux安装过程中会自动创建分区和文件系统,但在linux使用和管理中,经常会添加硬盘扩充可用空间,因此要熟练掌握手工创建分区和文件系统的挂载方法。
创建与使用文件系统的步骤:
分区—>对分区进行
化(建立相应的文件系统)—>将分区挂载到系统的相应目录(挂载点必须为空),通过访问该目录,实现在该分区进行文件的存取访问操作。
1.创建分区
Linux提供了fdisk(简单易用)和parted(功能强大,使用复杂)两个命令用于硬盘分区。主要介绍fdisk。
mount //查看当前系统已挂载的设备
第一个IDE设备:hda(/dev/hda);
第二个IDE设备:hdb(/dev/hdb);
第一个SCSI硬盘:sda(/dev/sda);
第二个SCSI硬盘:sdb(/dev/sdb)。
fdisk命令以交互方式进行操作,在Command(m for help):状态下,键入m可查看所有子命令及对应的功能解释:
a:设置可引导标志;
b:设置卷标;
d:删除一个分区;
n:新建分区;
p:显示分区信息;
v:校验分区表;
q:不存盘退出;
w:存盘退出。
例:在VMware Workstation中为虚拟机添加一个5GB的硬盘,然后重新启动Linux系统,并对该新添加的硬盘创建分区,要求整个硬盘划分成一个分区。
操作步骤:
(1)在虚拟机中添加5G虚拟硬盘,启动Linux系统;
(2)fdisk –l //根据输出信息,可知系统已检测到该硬盘设备,但还没有一个有效的分区表;
(3)fdisk /dev/sdb //创建分区
(4)command(m for help):p //查看是否有分区
结果中在Device Boot Start End Blocks Id System下面没有输出,说明没有分区;
(5)command(m for help):n //新建分区
提示下一步,e代表创建扩展分区,p为主分区;
(6)输入p,创建主分区;
(7)选择创建第几个分区,此处要创建的是第一个,输入1;
(8)提示分区使用磁盘空间的柱面号,开始柱面号为1,因为只创建一个分区,所以结束柱面号为652;
(9)输入p,查看新创建的分区;
(10)键入w存盘退出。
2.在分区建立文件系统(格式化)
选择相应的命令格式化分区,实现在分区创建相应的文件系统,才能用于存取文件。
建立文件系统的命令如下表所示:
命令名1
命令名2
命令名3
功能
mkfs.ext3
mkfs.ext2
mke2fs
建立ext3或ext2文件系统
mkfs.vfat
mkfs.msdos
mkdosfs
建立vfat文件系统
mkswap
建立swap文件系统
例:对上面分区好的硬盘进行格式化,创建ext3文件系统。
操作命令:mkfs.ext3 /dev/sdb1
执行fdisk –l查看验证。
补充:
(1)e2label /dev/sdb1 aaa //为上面分区设置卷标为aaa
(2)findfs LABEL=aaa //查找卷标为aaa的文件系统对应的设备名
3.挂载和使用文件系统
挂载上面创建的文件系统,才可使用该硬盘空间,实现文件的存取访问。
(1)挂载硬盘分区
挂载目录通常创建在/media或/mnt目录中,也可创建在其他目录。
注:挂载点目录必须是一个空目录
例:将上面的硬盘分区挂载到/media目录下的mydisk2目录。
操作命令:
①mkdir /media/mydisk2 //创建挂载点目录
②mount /dev/sdb1 /media/mydisk2 //挂载文件系统
③mount //查看当前已挂载的设备
输出最后一行为:/dev/sdb1 on /media/mydisk2 type ext3 (rw)表明挂载成功。
(2)卸载硬盘分区
umount /dev/sdb1
(3)设置文件系统的自动挂载
以上设置仅对本次操作有效,系统重启后需重新挂载,修改/etc/fstab配置文件,可实现系统启动时自动挂载文件系统。
more /etc/fstab //查看/etc/fstab文件内容
说明:
列号
1
2
3
4
5
6
说明
要挂载的fs
挂载到的目录
Fs类型
设定的状态
备份频率(天)
开机启动时,fs完整性检查(1)
添加(vi)
/dev/sdb1
/media/mydisk2
ext3
defaults
0
0
对文件系统设定的状态:ro(只读)、rw(读写)、suid(SUID权限)、dev(终端与磁盘之类的块设备)、exec(执行)、auto(自动挂载)、noauto(不自动挂载)、user(允许用户挂载)、nouser(只有根用户可以挂载)、owner(允许设备的所有者挂载)、async(数据异步读写模式)。
defaults包含rw、suid、exec、auto、nouser、async。
(四)使用移动存储设备
1.挂载光盘、软盘、U盘
(1)挂载光盘
mkdir /media/cdrom
mount –t iso9660 /dev/cdrom /media/cdrom
(2)挂载软盘
//mkfs.vfat /dev/fd0
mkdir /media/floppy
mount –t vtfat –o codepage=936,iocharset=cp936(gb2312) /dev/fd0 /media/floppy //支持FAT文件系统中的中文字符的显示
(3)挂载U盘
挂载文件系统是FAT32格式的U盘:
fdisk –l /dev/sdb
mkdir /media/disk
mount –t vfat /dev/sdb /media/disk
2.卸载光盘、软盘、U盘
(1)卸载光盘
umount /dev/cdrom 或 umount /media/cdrom
(2)卸载软盘
umount /dev/fd0 或 umount /media/floppy
(3)卸载U盘
umount /dev/sdb 或 umount /media/disk
(五)查看分区挂载情况
mount –s 或 查看/etc/mtab文件
(六)Linux文件系统的目录结构
Linux系统安装完成,产生的目录很多,这些目录有何用途?软件都安装到哪些目录?如何管理这些目录?针对这些问题,学习Linux的目录结构以及这些常见目录的作用:
1.Linux目录结构简介
Linux文件系统采用树型目录结构来组织和管理文件。与windows不同,Linux文件系统不使用驱动器这个概念,而是使用单一的根目录(用“/”表示),位于根分区,文件和目录都是建立在根目录之下的。
在命令行执行:ls /
列出根目录下的目录和文件列表
2.常见目录说明
(1)bin
命令文件目录(二进制目录)。包含了供系统管理员及普通用户使用的重要的Linux命令的二进制(可执行)文件,包括shell解释器。(注:该目录不能包含子目录)
/usr/bin:存放了大部分用户命令
(2)boot
存放系统的内核文件和引导装载程序文件
Red Hat Enterprise Linux 5的内核文件:vmlinuz-2.6.18-8.el5xen
(3)dev
设备文件目录,存放链接到计算机上的设备(终端、磁盘驱动器、光驱及网卡)的对应文件。
(4)etc
存放系统的大部分配置文件和子目录,如X Window系统的文件保存在/etc/X11子目录中;与网络有关的配置文件保存在/etc/sysconfig子目录中。
注:该目录下文件有管理员使用,普通用户对大部分文件有只读权限。
(5)home
包含系统上各个用户的主目录,子目录名称即为各用户名。
(6)lib
存放各种编程语言库,包含了C、C++等的语言的库文件。该目录存放了所有重要的文件,其他的库文件大部分存在/usr/lib目录下。
(7)lost+found
在EXT2或EXT3文件系统中,当系统意外崩溃或机器意外关机,产生的一些文件碎片放在这里。在系统启动的过程中fsck工具会检查这里,修复已损坏的文件。
(8)misc、opt、srv
三个目录默认都是空的。misc:存放一些额外的杂乱的文件;opt:推荐用于安装大型的应用程序,如办公套件等;srv:建议存放一些服务进程启动后需要存取访问的文件。如web服务器需要读取的网页文件可放在/srv/www中。
可选择的意思。部分软件包、某些第三方应用程序放在这里。
(9)root
系统管理员的主目录。
(10)usr
主要存放不经常变化的数据以及系统下安装的应用程序目录。
(11)mnt、media
旧版linux使用mnt来存放临时挂载文件系统,为某些设备提供默认挂载点,如floppy、cdrom等。例如:系统挂载一个光驱时,可通过访问/mnt/cdrom下的文件访问光盘上的文件。Red Hat Linux新发型版本,不再使用/mnt,使用/media目录。
(12)proc
内容是由系统自动产生的,是当前内存的一个虚拟镜像。该目录中的内容不占用磁盘空间。利用cat命令可以查看该目录下的一些特殊文件的内容:
如:cat /proc/interrupts:获取硬件终端(IRQ)信息;
cat /proc/cpuinfo:获取CPU型号、主频等信息;
cat /proc/meminfo:显示内存信息;
cat /proc/version:显示linux版本号;
cat /proc/partitions:查看目前机器中的所有磁盘及分区情况。
(13)sbin
保存系统管理员或者root用户的命令文件。
/usr/sbin存放应用软件
/usr/local/sbin存放通用的根用户权限的命令
(14)tmp
存放临时文件,如程序执行期间产生的临时文件。
注:该目录下所有文件会被定时删除,避免临时文件占满整个磁盘。
(15)var
该目录及其下的子目录通常保存经常变化的内容,如系统日志、邮件文件等。
(16)sys
存放linux系统的一些重要的设备驱动程序和模块。
(七)linux的文件类型
Linux的操作都是以文件为基础,对设备也是按文件的方式来操作的。
Linux操作系统常见的文件类型包括:普通文件、目录文件、设备文件及链接文件等。
1.普通文件(-)
也称常规文件。通常包括以下几种类型:
(1)文本文件
由ASCII字符构成。如:信件、
和脚本(命令文本文件,由shell解释执行)。
(2)数据文件
由来自应用程序的数字型和文本型数据构成,如电子表格、数据库、字处理文档等。
(3)可执行的二进制程序
由机器指令和数据构成。具有可执行属性。
2.目录文件(d)
也称文件夹,在linux/unix系统中把它当作是一种特殊的文件。
3.设备文件
所有设备都作为一类特别文件对待,存放在/dev目录下。
有两类特别的设备文件,对应不同类型的设备驱动器:
(1)字符设备(c):最常用的设备类型,允许I/O传送任意大小的数据,取决于设备本身的容量。如键盘、终端、打印机及鼠标。
(2)块设备(b):利用核心缓冲区的自动缓存
,缓冲区进行I/O传送总是以1KB为单位。如硬盘、软盘、光盘等。
4.链接文件
Linux系统中,内核为每一个新创建的文件分配一个inode(索引节点)号,文件属性保存在索引节点里,访问文件是,索引节点被复制到内存中,实现文件的快速访问。
链接:在共享文件和访问它的用户的若干目录项之间建立联系的方法。
两种连接:硬链接和软链接(符号链接)
(1)硬链接
一个指针,指向文件索引节点,系统并不为它重新分配inode
注:①删除硬链接的源文件,硬链接文件仍然存在,而且保留了原有的内容,系统把它当成一个普通文件;
②修改其中一个,与其连接的文件同时被修改。
(2)软链接(与windows的快捷方式相似)
又称为符号链接,这个文件包含了另一个文件的路径名。
注:①断链:链接不存在的文件;
②链接文件可以循环链接自己。
(3)区别
①硬链接记录目标的inode,软链接记录目标的路径;
②硬链接就像是备份,软链接像是快捷方式;
③硬链接由于inode,只能在本分区中做链接,软链接可以做跨分区的链接;
所以,软链接使用频率高。
注:linux操作系统的文件没有隐藏属性,文件或目录要实现隐藏,在命名时以“.”开头。使用ls –a可查看隐藏文件或目录。
终端窗口(背景白色):普通文件黑色、目录为蓝色、可执行文件绿色、链接文件为青色。
纯文本命令行状态下:背景黑色,普通文件白色。
4、 文件操作
操作系统为用户提供的最基本的功能之一。Linux操作系统有强大的文件目录的操作命令,而且可以实现多用户下远程终端使用Linux系统,这是图形界面方式无法比拟的。
(一)linux系统的文件操作命令
1.创建空文件、更改文件或目录时间
语法格式:touch [选项] [参数] [文件]
选项:
-a:更改文件的读取时间记录
-m:更改文件的修改时间记录
-c:如果目的文件不存在,不会建立新的文件
-r:使用参考档的时间记录,与—file的效果一样
-d:设定时间与日期,可以使用各种不同的格式
-t:设定文件的事件记录,格式MMDDHHmmyy
2.文件导航命令
进入不同linux目录前,用pwd命令显示当前位置。
(1)ls命令(类似于DOS下的dir命令)
语法格式:ls [选项] [目录或是文件名]
功能:无参数时,显示当前目录信息;对于目录:列出其中所有的子目录和文件;对于文件,输出其文件名及所要求的其他信息。输出条目默认按字母顺序排序。
选项说明:
选项
含义
-a
显示指定目录下包含隐藏文件的所有子目录和文件
-l
以长格式显示文件的详细信息:①文件属性②文件数③拥有者④所属的组⑤文件大小⑥建档月份⑦日⑧年或时间⑨文件名。注:ll等同于ls –l
-m
用逗号分隔方式紧凑显示文件列表
-R
递归显示指定目录的各个子目录下的文件
-i
在输出的第一列显示文件的索引节点号
(2)cd命令(类似于MS DOS的cd)
语法格式:cd [目录名]
功能:将当前目录改变至所指定的目录(用户必须拥有对此目录的执行和读的权限)。
说明:shell中“~”表示主目录,使用“~”可代替路径名中主目录那一串字符。
①cd..:上移一层目录
②cd /home/a:用户从当前目录移到用户a的主目录下
③cd:移到自己的主目录
2.文件信息显示命令
(1)cat命令
功能:显示文件信息,利用输入输出重定向可以实现建立小型文件以及文件连接功能。
①显示文件信息,将文件或标准输入组合输出到标准输出
格式:cat [选项] 文件名
常用选项-n为从1开始对所有输出行进行编号显示。
如:cat –n /etc/passwd
②建立小型文件,利用输出重定向把cat命令的屏幕输出信息写入一个新的文件中
格式:cat > 命名的新文件名
…//输入信息
Ctrl+d//存盘并退出
例:利用输出重定向把cat命令的屏幕输出信息:
echo “hello!Linux”
echo `date`
写入新文件m1中。
分析:cat > m1
echo “hello!Linux”
echo `date`
Ctrl+d
③合并文件。利用cat命令及重定向命令可以把两个文件的信息合并起来,并以一个新文件名命名。
语法格式:cat 文件1 文件2 >新文件名
例如:date > m2
cat m1 m2 > m3
cat m3
echo “hello!Linux”
echo `date`
2010年11月1日 星期一 06:32:50 CST(美国中部标准时间)
(2)more或less命令
内容较多的文件,不适合用cat
主要功能:分屏显示文件内容,按回车显示下一行,按空格键显示下一屏,按q键退出。
例如:man ls > ls.hlp //创建一个ls命令的帮助文件
more ls.hlp //分屏显示该文件信息
也可利用管道线由另一个命令的输出作为more的输入,从而控制其显示。
如:man ls|more
less比more更强大,除more的功能外,还支持用光标键、水平滚动,输入q结束浏览。
3.文件复制、删除及移动命令
(1)cp复制命令
语法格式:cp [选项] 源文件或目录 目标文件或目录
功能:①把指定的源文件(或目录)复制到目标文件;
②把多个源文件复制到目标目录中。
选项示例:
选项示例
含义
cp file1 file2
将文件file1复制到目标文件file2中,新文件生成新的创建日期和节点索引号inode
cp ./* Dir1
将当前目录下的所有文件(不包含目录)复制到Dir1目录中
cp-f file1 file2
如果文件file2存在,执行命令时不先发出提示
cp-p file1 file2
将file1复制到file2,目标文件保持原有的生成日期和inode编号
cp-r Dir1 Dir2
目录Dir1及其子目录复制到Dir2中,效果是递归的
(2)mv文件移动及改名命令(相当MS DOS下的ren和move的组合)
语法格式:mv [选项] 源文件或目录 目标文件或目录
功能:①为文件或目录改名;
②将文件由一个目录移入另一个目录中。
选项示例
含义
mv file1 file2
将文件名从file1变成file2。如果源与目标文件在同一卷中,则文件的inode号不变。
mv file* Dir1
将以file开头命名的多个文件移到Dir1目录中
mv -f file1 file2
如果文件file2存在,则这个命令覆盖其内容时不发出提示
(3)rm命令
语法格式:rm [选项] 文件名
功能:删除文件或目录
选项示例
含义
rm file1
删除file1文件,系统默认要求确认
rm –f file2
如果文件file2存在,则这个命令删除该文件时不发出提示确认
rm –r Dir1
递归删除Dir1目录文件,要求确认。不要求确认提示,使用-rf选项
4.文件检索、排序命令
(1)find命令
语法格式:find 查找位置 –name 要查找的文件名 –maxdepth 查找的目录深度
功能:查找搜索文件
例如:搜索库文件libstdc++.so.5
find / -name libstdc++.so.5 –maxdepth 10
(2)grep文件信息检索命令
语法格式:grep [选项] 字符串 [文件…]
功能:在指定文件中检索出匹配关键字的信息内容,在软件包安装检索中经常用到。
-i:忽略字符大小写的差别
-n:显示符合的字符串之前,标出该行的行号
(3)sort排序命令
语法格式:sort [选项] [文件列表]
功能:把所有指定文件的行一起进行排序,结果写到标准输出上。
选项示例
含义
sort file1
对file1文件按每行第一个字符进行排序输出
sort file1 file2
对file1和file2两个文件合起来进行排序并输出
sort –r file1
对file1文件按每行第一个字符进行反向排序
sort –r-o outf1 file1
对file1文件按每行第一个字符进行反向排序,并把结果放在outf1中
sort –n file1
对file1文件按每行第一个字段进行数值排序
sort –k 3 file1
对file1文件按每行第三个字段为关键字进行排序
Sort-n-k 3 file1
对file1文件按每行第三个字段进行数值排序
例:ls –s | sort –n –r –k 5
5.目录操作命令
(1)mkdir创建目录命令(类似MS DOS下的md命令)
语法格式:mkdir [选项] [目录名]
常用命令示例:
①mkdir Dir1 Dir2:同时创建Dir1和Dir2两个目录
②mkdir Dir1/Dir2:递归生成目录,Dir1为当前目录子目录,Dir2为Dir1子目录
③mkdir-m 744 /usr/Dir3:生成usr下子目录Dir3,权限744是拥有者rwx,组中的其他成员和别人为r--。
(2)rmdir删除目录命令
功能:删除空目录。
语法格式:rmdir [选项] [目录名]
-p:递归删除目录,当子目录删除后其父目录为空时,也一同被删除。
注:一个目录删除前必须是空的,且用户对其父目录具有写权限。若不受此限制,可采用rm-r Dirl,但有危险性。
(二)文件权限
1.文件的属主与属组
语法格式:chown [选项] [所有者] [:[组]] 文件列表
注:所有者或组可以是名称,也可以是UID、GID,必须是系统存在的;
文件列表的多个文件用空格分开;
用户必须对文件由最高权限,一般是文件的属主(所有者:默认为创建者)或root用户。
功能:(1)更改文件的属主
例:ls –l f*
chown wdg f1
ls –l f*
(2)更改文件的属组
例:ls –l f*
chown wdg:wdg f2
ls –l f*
只更改属组:chown :wdg f1
2.文件的访问权限
(1)文件的权限表示方法
访问权限规定三种不同类型的用户:
①文件属主Owner
②同组用户Group:文件属组的同组用户
③其他用户Others
访问权限的表示方法:
①三组九位字母表示法
每一组表示不同类型用户的权限:
r(读):允许读取文件内容或者列目录;
w(写):允许修改文件内容或者创建、删除文件;
x(可执行或查找):允许执行文件或者允许使用cd命令进入目录;
-(无权限):不允许对文件进行读取、修改及执行。
例:ls –l
②三组九位二进制表示法
与三组九位字母表示法对应,有权限为1,无权限为0。
③三位八进制表示法
权限表示方法
属主(u)
同组用户(g)
其他用户(o)
字母表示法
rwx
r-x
r--
二进制表示法
111
101
100
八进制表示法
7
5
4
(2)文件权限的修改方法
使用chmod命令,必须为文件属主或root用户才能使用。
①字母形式修改权限
字母模式形式即“用户对象、操作符号、操作权限”
命令格式:chmod [选项] 模式[,模式] 文件名
用户对象:u:所有者;g:同组用户;o:其他用户;a:所有用户。
操作符号:+:添加某个权限;-:取消某个权限;=:赋予给定权限并取消其他所有权限。
操作权限:r:可读;w:可写;x:可执行。
例:chmod u+x,g+w,o-r f1
chmod a=rw f2
②数字形式修改权限
命令格式:chmod 八进制模式 文件名
例:ls –l f*
chmod 644 f1
ls –l f*
(三)文件的链接
创建链接文件(硬链接和软链接)
命令语法:ln [选项] [源文件名] [链接文件名]
-i:交互模式,覆盖文件前先征求用户的意见;
-s:创建软链接(符号链接)
例1:硬链接文件的使用
1. echo hello>a //echo:在显示器上显示文本。创建文件a,内容为hello
2. cat a
3. ln a b //创建a文件的硬链接b
4. ls –l
5. cat b
6. echo word >>a
7. cat a
8. cat b
9. rm –rf a
10. ls –l //删除源文件,硬链接文件还是存在的,文件属性的文件链接数为1
11. cat b //删除源文件后还是可以看到硬链接文件内容
例2:软链接文件的使用
1. echo hello>a //echo:在显示器上显示文本。创建文件a,内容为hello
2. cat a
3. ln –s a b //创建a文件的软链接文件b
4. ls –l
5. cat b
6. echo word >>a
7. cat a
8. cat b
9. rm –rf a
10. ls –l //删除源文件,软链接文件还是存在的
11. cat b //由于所指向的源文件已删除,所以不能查看软链接文件内容
五、实验内容
(一)创建和使用文件系统
1.在VMware Workstation中为虚拟机添加一个5GB的硬盘,然后重新启动Linux系统,并对该新添加的硬盘创建分区,要求整个硬盘划分成一个分区。
(1)在虚拟机中添加5G虚拟硬盘,启动Linux系统;
(2)fdisk –l //根据输出信息,可知系统已检测到该硬盘设备,但还没有一个有效的分区表;
(3)fdisk /dev/sdb //创建分区
(4)command(m for help):p //查看是否有分区
结果中在Device Boot Start End Blocks Id System下面没有输出,说明没有分区;
(5)command(m for help):n //新建分区
提示下一步,e代表创建扩展分区,p为主分区;
(6)输入p,创建主分区;
(7)选择创建第几个分区,此处要创建的是第一个,输入1;
(8)提示分区使用磁盘空间的柱面号,开始柱面号为1,因为只创建一个分区,所以结束柱面号为652;
(9)输入p,查看新创建的分区;
(10)键入w存盘退出。
2.对上面分区好的硬盘进行格式化,创建ext3文件系统。
mkfs.ext3 /dev/sdb1
3.挂载和使用文件系统
(1)mkdir /media/mydisk2 //创建挂载点目录
(2)mount /dev/sdb1 /media/mydisk2 //挂载文件系统
(3)mount //查看当前已挂载的设备
注:输出最后一行为:/dev/sdb1 on /media/mydisk2 type ext3 (rw)表明挂载成功。
4.设置文件系统的自动挂载
(1)vi /etc/fstab
(2)在文件末尾添加一条记录:
/dev/sdb1
/media/mydisk2 ext3 defaults 0 0
(二)文件操作
1.使用命令切换到/etc目录,并显示当前工作目录路径;
(1)cd /etc
(2)pwd
结果:
2.使用命令显示/root目录下所有文件目录的详细信息,包括隐藏文件;
ls –a
3.使用命令创建空文件/root/ab,并将该文件的时间记录更改为11月10日8点20分;
(1)touch ab
(2)touch –c –t 11100820 ab
(3)ls –l
4.对/root/ab文件设置权限,所有者为读取、写入和执行权限,同组用户为读取和写入权限,而其他用户没有任何权限;
chmod 760 ab
5.将文件/root/ab所有者更改为用户webadmin;
chown webadmin ab
6.使用命令创建具有默认权限为744的目录/root/ak,然后将/etc/named.conf文件复制到该目录中,最后再将该目录及其目录下的文件一起删除;
(1)mkdir 744 ak
(2)cp /etc/named.conf /root/ak
(3)rm –r /root/ak或rm –rf /root/ak
7.使用命令创建/root/ab文件的硬链接文件/root/b和软链接文件/root/c。
(1)ln /root/ab /root/b
(2)ln –s /root/ab /root/c
9