1.实验目的与要求
- 了解Linux文件系统目录结构
- 掌握目录管理的相关操作
- 掌握文件管理的相关操作
2.实验平台
实验室安装的实验环境(Linux操作系统)和头歌(www.educoder.net)实验平台(课程实验)
3.实验内容
- 文件系统目录结构理论知识练习
- linux 下目录的创建、应用、查看、删除等操作
- linux 下文件的创建、编辑、内容查看、删除等操作
4.实验详细内容、步骤
任务描述
欢迎进行Linux
世界,当你下载、安装了某个Linux
发行版,体验了Linux
桌面并安装了一些你喜爱和需要的软件之后,应该去了解下Linux
真正的魅力所在:命令行。 每一个Linux
命令其实就是一个程序,借助这些命令,我们可以办到非常多的事情。 第一个任务就是了解Linux
的目录结构,与基本使用命令。
目录结构
Linux
文件系统是树形层次结构,具体如下图所示,最重要的是根目录(/)。
Linux
命令行也叫终端,在命令行中只用键盘操作。由于实验会使用到图形化界面,所以在实验中还需要自己打开命令行。 实验环境使用的是 Ubuntu 16.04 ,可以点击左上角红框内容打开命令行,也可以鼠标右键打开命令行。
打开命令行之后可以看到当前用户以及所在目录。
root
指的是用户名,~
指的是当前所在目录,使用pwd
可以查看当前所在目录。
切换目录的命令是cd
,例如切换到根目录下就是:cd /
,输入完毕之后回车就会执行该命令了。
在Linux
中路径也分为绝对路径和相对路径,绝对路径指的是从根目录开始计算路径,相对路径是从当前所在目录开始计算路径。 例如:切换到/root/os/linux-0.11-lab
目录下,而当前在/root
目录下。 切换目录的方式有两种,一种是通过相对路径切换:以当前目录为起点去切换。
一种是通过绝对路径切换:以根目录为起点去切换。
cd 的使用方法总结在下方:
- cd 进入用户主目录;
- cd ~ 进入用户主目录;
- cd - 返回进入此目录之前所在的目录;
- cd .. 返回上级目录(若当前目录为”/“,则执行完后还在”/“;”..”为上级目录的意思);
- cd ../.. 返回上两级目录;
- cd !$ 把上个命令的参数作为cd参数使用。
命令行中那么多命令,肯定是无法记住全部的,所以补全命令是非常好用的一个帮手,命令记不全的时候或者路径记不全的时候直接按两次Tab
键就会出现当前可用的选项,完全可以说是最好用的帮手。
例如:记不全路径,可以使用按两次 Tab 查看有哪些目录可选。 (注意:由于 Linux 中目录也被当成文件,所以在不知道的情况下切换到一个文件中是会报错的。)
查看目录
进入目录之后使用ls
命令查看当前目录下的内容。 ls
命令的可用参数:
- -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
- -a:显示所有文件和文件夹(包括隐藏文件/文件夹)。
其中ls -l
可以缩写为ll
。 如果在后面添加路径就可以查看指定路径下的文件,不需要切换到该路径下才能查看。
文件操作
Linux
系统中最常用的文件操作有创建、删除文件等。
创建文件
Linux 中创建文件的常用命令是touch
,命令格式如下:
touch filename
有时可能需要创建一个空的文件的情况。在这种情况下,可以使用touch
命令来轻松创建一个空文件。
例如:创建一个新的文件testfile
可以使用如下命令。
touch testfile
如果想同时创建多个文件也可以使用touch
命令完成,具体格式如下:
touch file1 file2 ...
只需将不同的文件名用空格分隔即可完成创建多个文件。
删除文件
Linux
中常用的删除文件的命令是rm
,使用格式如下:
rm [命令选项] filename
常用命令选项:
- -f:强制删除文件或目录;
- -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
- -i:删除已有文件或目录之前先询问用户。
例如,删除我们刚刚创建的文件testfile
可以使用如下命令。
rm -f testfile
文件夹操作
Linux
中关于文件夹的操作主要包括创建和删除等。
创建文件夹
Linux
中创建文件夹命令是mkdir
,命令格式如下:
mkdir [
命令选项
] dirname
常用命令选项: -p
或
--parents
若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
例如:我们新创建一个文件夹testdir
可以使用如下命令。
mkdir testdir
因为新创建的文件夹是一个空的文件夹,所以使用ls -l
显示的结果是空。
删除文件夹
Linux
中删除文件夹的命令是rmdir
或者rm -r
,命令格式如下:
rmdir [
命令选项
] dirname
常用命令选项:-p
或
--parents
:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
例如:将刚刚新创建的文件夹testdir
删除可以使用如下命令。
rmdir testdir
文件和文件夹拷贝
Linux
使用cp
命令用来将一个或多个源文件或者目录复制到指定的目录中,命令格式如下:
cp [
命令选项
]
源文件
目的文件
常用命令选项:
- -f:强行复制文件或目录,不论目标文件或目录是否已存在;
- -i:覆盖既有文件之前先询问用户;
- -p:保留源文件或目录的属性;
- -R/r:递归处理,将指定目录下的所有文件与子目录一并处理。
例如:新建一个文件newfile
和一个文件夹newdir
,将newfile
复制到newdir
目录下。具体命令如下。
- touch newfile
- mkdir newdir
- cp newfile newdir
文件和文件夹移动/重命名
Linux 使用mv
命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中,命令格式如下:
mv [
命令选项
]
源文件
目标文件
常用命令选项:
- -f:强行复制文件或目录,不论目标文件或目录是否已存在;
- -i:覆盖既有文件之前先询问用户;
- -p:保留源文件或目录的属性;
- -R/r:递归处理,将指定目录下的所有文件与子目录一并处理'。
例如:新建一个文件newfile
和一个文件夹newdir
,将newfile
剪切到newdir
目录下,并重新命名为newfileCpy
。具体命令如下。
- touch newfile
- mkdir newdir
- mv newfile newdir/newfileCpy
作答要求
根据相关知识,完成下列任务: 1.在根目录下创建一个文件夹命名为linux
; 2.在根目录下创建一个文件命名为hello.txt
; 3.将文件复制到linux
文件夹下,并且改名为1.txt
; 4.删除根目录下的hello.txt
。
任务描述
第二个任务就是了解Linxu
的文件查看命令,文件编辑基本命令。
文件查看命令
我们要查看一些文本文件的内容时,要使用文本编辑器来查看。在Linxu
下,可以使用一些命令预览文本文件中的内容,而不必使用文本编辑器打开查看。就好比查看图片一般点击图片就可以查看,不需要下载专门的图片软件。本关卡主要介绍的是常用查看命令,例如:cat、head、tail 与 nl 。
cat 命令
cat
命令用于连接文件并打印到标准输出设备上,有很多叫它“猫咪”命令,但cat
命令其实是 concatenate(连续)的缩写,即连续显示文本内容。cat
命令常常用于查看内容较少的文件,因为文件太大时,前面的内容就滚出屏幕,看不到了。
head 命令
head
命令可用于查看文件的开头部分的内容,有一个常用的参数-n
用于显示行数,默认为 10,即显示 10 行的内容。
如果查看文件前 5 行,可以使用命令head -5
山谷的起点
.txt
。
tail 命令
tail
命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail
会自己主动刷新,确保你看到最新的档案内容。 查看最后文件 5 行命令tail -5
山谷的起点
.txt
。
nl 命令
nl
命令将指定的文件添加行号标注后写到标准输出。空行不显示行号。
文件编辑基本命令
对于文件的编辑操作可以使用vi/vim
编辑器,vim
是vi
的升级版,二者操作基本上相同。 对于编辑器的基本命令如下: vi filename
:打开文件。 键盘输入i
或者a
进行编辑:最底下出现insert
就进入编辑模式可以进行编辑了。 键盘按Esc
键:退出编辑模式。 键盘输入:q
!
:强制退出编辑并不保存。 键盘输入:wq
或者:x
:保存文件并退出。
编程要求
根据提示,在右侧图形化页面打开终端在/home/headless
文件夹中创建文件test.txt
,在文件中输入Hello,Linux!
。
测试说明
平台会对你创建的 test.txt 进行测试: 是否成功创建文件test.txt
,文件内容是否为Hello,Linux!
。 预期输出: test.txt
创建成功!
文件内容正确!
任务描述
在Windows
系统上查看磁盘的使用情况比较容易,直接打开我的电脑即可看到该磁盘使用情况,而在Linux
上没有像Windows
那么强大的图像化界面,那么要想查看Linux
下磁盘的使用情况该如何操作,通过本关的学习,我们将通过简单的几个命令就可以实现查看Linux
磁盘的使用情况。
本关任务:显示磁盘分区上的可使用的磁盘空间和文件/目录使用的空间。
df命令详解
df
命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB
。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
具体命令如下:
df
命令参数 参数
常用参数如下:
-a或
--all
:包含全部的文件系统,包括系统特有的/proc
等文件系统;-k
: 以KB为单位显示各文件系统;-m
: 以MB为单位显示各文件系统;-h
: 以可读性较高的方式来显示信息;-i或
--inodes
:显示inode
的信息。
du命令详解
du命令也是查看使用空间的,但是与df
命令不同的是Linux
du
命令是对文件和目录磁盘使用的空间的查看,还是和df
命令有一些区别的。
具体命令如下:
du
命令参数 参数
常用参数如下:
- -a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
- -h : 以可读性较高的方式来显示信息;
- -k : 以
KB
为单位显示容量; - -m : 以
MB
为单位显示容量; - -s : 列出总量,不列出每个目录占用的容量。
编程要求
根据右侧窗口命令行内的提示,在Begin - End
区域内进行命令行语句补充,具体任务如下:
- 以可读性较高的方式显示系统已存在文件
oldFile
的所占磁盘大小; - 列出系统已存在目录
./oldDir
下的所有文件的总容量,同时将每个文件大小也列出来;
任务描述
通过本关实训,我们将学会如何在Linux
系统上创建一个超链接文件,在Windows
上创建一个链接文件非常简单,只需要点右键选择创建链接就可以,而在Linux
上创建就相对比较麻烦。
本关任务:对已有文件/目录创建链接。
Linux硬链接
硬链接指通过索引节点来进行链接。在Linux
的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index
)。在Linux
中,多个文件名指向同一索引节点是存在的。一般这种链接就是硬链接。
硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
硬链接特点如下:
- 文件有相同的
inode
及data block
; - 只能对已存在的文件进行创建;
- 不能交叉文件系统进行硬链接的创建;
- 不能对目录进行创建,只可对文件创建;
- 删除一个硬链接文件并不影响其他有相同
inode
号的文件。
具体命令如下:
ln
源文件 目标文件
Linux软链接
软链接文件有类似于Windows
的快捷方式。它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
与硬链接不同的是,符号链接确实是一个新文件,当然它具有不同的I节点号;而硬链接并没有建立新文件。
软链接特点如下:
- 源文件和目标文件有不相同的
inode
及data block
; - 软链接没有硬链接的限制,可以对目录文件做符号链接;
- 软链接可以在不同文件系统之间做软链接;
- 在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是
l
; - 符号链接的大小是其链接文件的路径名中的字节数;
具体命令如下:
ln -s
源文件 目标文件