Linux文件/目录高级管理二 ——头歌

目录

第一关——Linux文件/目录相关命令操作(df、du)

任务描述

相关知识

编程要求根据右侧窗口命令行内的提示,在右侧编辑区 Begin-End 区域内进行命令行语句补充,具体任务如下:

第二关——Linux文件/目录链接

任务描述

相关知识

编程要求根据右侧窗口命令行内的提示,在右侧编辑器 Begin-End 区域内进行命令行语句补充,具体任务如下:

第一关——Linux文件/目录相关命令操作(df、du)

任务描述


在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下的所有文件的总容量,同时将每个文件大小也列出来。

#!/bin/bash

#在以下部分写出完成任务的命令
#*********begin*********#
du -h c++ g++ oldFile
du -a oldDir
#********* end *********#

第二关——Linux文件/目录链接

任务描述


通过本关实训,我们将学会如何在Linux系统上创建一个超链接文件,在Windows上创建一个链接文件非常简单,只需要点右键选择创建链接就可以,而在Linux上创建就相对比较麻烦。

本关任务:对已有文件/目录创建链接。

相关知识


Linux中的链接类似于Windows的快捷方式,也就是很多的链接文件(link file)其实都指向同一个源文件(source file)。

Linux中链接文件又分为硬链接和软链接两种。

Linux 硬链接
硬链接指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种链接就是硬链接。

硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。

硬链接特点如下:

文件有相同的inode及data block;
只能对已存在的文件进行创建;
不能交叉文件系统进行硬链接的创建;
不能对目录进行创建,只可对文件创建;
删除一个硬链接文件并不影响其他有相同inode号的文件。
具体命令如下:

ln 源文件 目标文件

案例演示一: 

为当前目录下的文件testFile创建一个硬链接testFileLink,可以使用如下命令:

ln testFile testFileLink

相关知识
为了完成本关卡,你需要掌握:

Linux 硬链接;
Linux 软链接。
Linux中的链接类似于Windows的快捷方式,也就是很多的链接文件(link file)其实都指向同一个源文件(source file)。

Linux中链接文件又分为硬链接和软链接两种。

Linux 硬链接
硬链接指通过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种链接就是硬链接。

硬链接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点本身和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。

硬链接特点如下:

文件有相同的inode及data block;
只能对已存在的文件进行创建;
不能交叉文件系统进行硬链接的创建;
不能对目录进行创建,只可对文件创建;
删除一个硬链接文件并不影响其他有相同inode号的文件。
具体命令如下:

ln 源文件 目标文件

案例演示一: 

为当前目录下的文件testFile创建一个硬链接testFileLink,可以使用如下命令:

ln testFile testFileLink


[请在右侧“命令行”里直接体验]

在ls结果的最左边一列,是文件的inode值,你可以简单把它想成C语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。可以看到,这两个文件就如同一个文件一样,inode值相同,都指向同一个区块。

Linux 软链接
软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

与硬链接不同的是,符号链接确实是一个新文件,当然它具有不同的 I 节点号;而硬链接并没有建立新文件。

软链接特点如下:

源文件和目标文件有不相同的inode及data block;
软链接没有硬链接的限制,可以对目录文件做符号链接;
软链接可以在不同文件系统之间做软链接;
在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是l;
符号链接的大小是其链接文件的路径名中的字节数。
具体命令如下:

ln -s 源文件 目标文件

案例演示一:

为当前目录下的文件testFile创建一个软链接myLink,可以使用如下命令:

ln -s testFile myLink

使用ls -li查看两个文件的详细信息,可以看到两个文件的inode节点号不同,文件myLink的类型为l,可以看到myLink是指向文件testFile的,同时myLink文件的大小为8,正是文件名testFile的字符个数。

案例演示二: 

为当前目录下的目录testDir创建一个软链接myDirLink,可以使用如下命令:

ln -s testDir myDirLink

[请在右侧“命令行”里直接体验]

在ls结果的最左边一列,是文件的inode值,你可以简单把它想成C语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失。可以看到,这两个文件就如同一个文件一样,inode值相同,都指向同一个区块。

Linux 软链接
软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

与硬链接不同的是,符号链接确实是一个新文件,当然它具有不同的 I 节点号;而硬链接并没有建立新文件。

软链接特点如下:

源文件和目标文件有不相同的inode及data block;
软链接没有硬链接的限制,可以对目录文件做符号链接;
软链接可以在不同文件系统之间做软链接;
在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是l;
符号链接的大小是其链接文件的路径名中的字节数。
具体命令如下:

ln -s 源文件 目标文件

案例演示一:

为当前目录下的文件testFile创建一个软链接myLink,可以使用如下命令:

ln -s testFile myLink

使用ls -li查看两个文件的详细信息,可以看到两个文件的inode节点号不同,文件myLink的类型为l,可以看到myLink是指向文件testFile的,同时myLink文件的大小为8,正是文件名testFile的字符个数。

案例演示二: 

为当前目录下的目录testDir创建一个软链接myDirLink,可以使用如下命令:

ln -s testDir myDirLink

编程要求
根据右侧窗口命令行内的提示,在右侧编辑器 Begin-End 区域内进行命令行语句补充,具体任务如下:

为系统已存在文件oldFile创建硬链接oldFileHardLink;
为系统已存在文件oldFile创建软链接oldFileSoftLink;
为系统已存在目录oldDir创建软链接oldDirSoftLink。

#!/bin/bash

#在以下部分写出完成任务的命令
#***********begin*************#
ln oldFile oldFileHardLink
ln -s oldFile oldFileSoftLink
ln -s oldDir oldDirSoftLink
#************end**************#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值