Linux操作系统实验三 文件管理(一)(上)

简介: Linux操作系统实验三 文件管理(一)

1.实验目的与要求

  1. 了解Linux文件系统目录结构
  2. 掌握目录管理的相关操作
  3. 掌握文件管理的相关操作

2.实验平台

实验室安装的实验环境(Linux操作系统)和头歌(www.educoder.net)实验平台(课程实验)

3.实验内容

  1. 文件系统目录结构理论知识练习
  2. linux 下目录的创建、应用、查看、删除等操作
  3. 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 的使用方法总结在下方:

  1. cd 进入用户主目录;
  2. cd ~ 进入用户主目录;
  3. cd - 返回进入此目录之前所在的目录;
  4. cd .. 返回上级目录(若当前目录为”/“,则执行完后还在”/“;”..”为上级目录的意思);
  5. cd ../.. 返回上两级目录;
  6. cd !$ 把上个命令的参数作为cd参数使用。

命令行中那么多命令,肯定是无法记住全部的,所以补全命令是非常好用的一个帮手,命令记不全的时候或者路径记不全的时候直接按两次Tab键就会出现当前可用的选项,完全可以说是最好用的帮手。

例如:记不全路径,可以使用按两次 Tab 查看有哪些目录可选。 (注意:由于 Linux 中目录也被当成文件,所以在不知道的情况下切换到一个文件中是会报错的。)

查看目录

进入目录之后使用ls命令查看当前目录下的内容。 ls命令的可用参数:

  1. -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
  2. -a:显示所有文件和文件夹(包括隐藏文件/文件夹)。

其中ls -l可以缩写为ll。 如果在后面添加路径就可以查看指定路径下的文件,不需要切换到该路径下才能查看。

文件操作

Linux系统中最常用的文件操作有创建、删除文件等。

创建文件

Linux 中创建文件的常用命令是touch,命令格式如下:

touch filename

有时可能需要创建一个空的文件的情况。在这种情况下,可以使用touch命令来轻松创建一个空文件。

例如:创建一个新的文件testfile可以使用如下命令。

touch testfile

如果想同时创建多个文件也可以使用touch命令完成,具体格式如下:

touch file1 file2 ...

只需将不同的文件名用空格分隔即可完成创建多个文件。

删除文件

Linux中常用的删除文件的命令是rm,使用格式如下:

rm [命令选项] filename

常用命令选项:

  1. -f:强制删除文件或目录;
  2. -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
  3. -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 [命令选项] 源文件 目的文件

常用命令选项:

  1. -f:强行复制文件或目录,不论目标文件或目录是否已存在;
  2. -i:覆盖既有文件之前先询问用户;
  3. -p:保留源文件或目录的属性;
  4. -R/r:递归处理,将指定目录下的所有文件与子目录一并处理。

例如:新建一个文件newfile和一个文件夹newdir,将newfile复制到newdir目录下。具体命令如下。

  1. touch newfile
  2. mkdir newdir
  3. cp newfile newdir
文件和文件夹移动/重命名

Linux 使用mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中,命令格式如下:

mv [命令选项] 源文件 目标文件

常用命令选项:

  1. -f:强行复制文件或目录,不论目标文件或目录是否已存在;
  2. -i:覆盖既有文件之前先询问用户;
  3. -p:保留源文件或目录的属性;
  4. -R/r:递归处理,将指定目录下的所有文件与子目录一并处理'。

例如:新建一个文件newfile和一个文件夹newdir,将newfile剪切到newdir目录下,并重新命名为newfileCpy。具体命令如下。

  1. touch newfile
  2. mkdir newdir
  3. 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编辑器,vimvi的升级版,二者操作基本上相同。 对于编辑器的基本命令如下: 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命令不同的是Linuxdu命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

具体命令如下:

du 命令参数 参数

常用参数如下:

  • -a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
  • -h : 以可读性较高的方式来显示信息;
  • -k : 以KB为单位显示容量;
  • -m : 以MB为单位显示容量;
  • -s : 列出总量,不列出每个目录占用的容量。

编程要求

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

  • 以可读性较高的方式显示系统已存在文件oldFile的所占磁盘大小;
  • 列出系统已存在目录./oldDir下的所有文件的总容量,同时将每个文件大小也列出来;

任务描述

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

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

Linux硬链接

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

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

硬链接特点如下:

  • 文件有相同的inodedata block
  • 只能对已存在的文件进行创建;
  • 不能交叉文件系统进行硬链接的创建;
  • 不能对目录进行创建,只可对文件创建;
  • 删除一个硬链接文件并不影响其他有相同inode号的文件。

具体命令如下:

ln 源文件 目标文件

Linux软链接

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

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

软链接特点如下:

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

具体命令如下:

ln -s 源文件 目标文件

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
14天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
39 1
|
6天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
33 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
15天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
16天前
|
搜索推荐 Linux
深入理解Linux操作系统的启动过程
本文旨在揭示Linux操作系统从开机到完全启动的神秘面纱,通过逐步解析BIOS、引导加载程序、内核初始化等关键步骤,帮助读者建立对Linux启动流程的清晰认识。我们将探讨如何自定义和优化这一过程,以实现更高效、更稳定的系统运行。
|
14天前
|
存储 缓存 网络协议
Linux操作系统的内核优化与性能调优####
本文深入探讨了Linux操作系统内核的优化策略与性能调优方法,旨在为系统管理员和高级用户提供一套实用的指南。通过分析内核参数调整、文件系统选择、内存管理及网络配置等关键方面,本文揭示了如何有效提升Linux系统的稳定性和运行效率。不同于常规摘要仅概述内容的做法,本摘要直接指出文章的核心价值——提供具体可行的优化措施,助力读者实现系统性能的飞跃。 ####
|
15天前
|
缓存 监控 网络协议
Linux操作系统的内核优化与实践####
本文旨在探讨Linux操作系统内核的优化策略与实际应用案例,深入分析内核参数调优、编译选项配置及实时性能监控的方法。通过具体实例讲解如何根据不同应用场景调整内核设置,以提升系统性能和稳定性,为系统管理员和技术爱好者提供实用的优化指南。 ####
|
17天前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
19天前
|
消息中间件 安全 Linux
深入探索Linux操作系统的内核机制
本文旨在为读者提供一个关于Linux操作系统内核机制的全面解析。通过探讨Linux内核的设计哲学、核心组件、以及其如何高效地管理硬件资源和系统操作,本文揭示了Linux之所以成为众多开发者和组织首选操作系统的原因。不同于常规摘要,此处我们不涉及具体代码或技术细节,而是从宏观的角度审视Linux内核的架构和功能,为对Linux感兴趣的读者提供一个高层次的理解框架。
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
57 0
Vanilla OS:下一代安全 Linux 发行版
|
29天前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
56 4