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的迁移。
目录
相关文章
|
10天前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
27 0
Vanilla OS:下一代安全 Linux 发行版
|
4天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
19 9
|
3天前
|
缓存 运维 网络协议
深入Linux内核架构:操作系统的核心奥秘
深入Linux内核架构:操作系统的核心奥秘
18 2
|
7天前
|
缓存 网络协议 Linux
Linux操作系统内核
Linux操作系统内核 1、进程管理: 进程调度 进程创建与销毁 进程间通信 2、内存管理: 内存分配与回收 虚拟内存管理 缓存管理 3、驱动管理: 设备驱动程序接口 硬件抽象层 中断处理 4、文件和网络管理: 文件系统管理 网络协议栈 网络安全及防火墙管理
29 4
|
6天前
|
安全 网络协议 Linux
Linux操作系统的内核升级与优化策略####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统内核升级的重要性,并详细阐述了一系列优化策略,旨在帮助系统管理员和高级用户提升系统的稳定性、安全性和性能。通过实际案例分析,我们展示了如何安全有效地进行内核升级,以及如何利用调优技术充分发挥Linux系统的潜力。 ####
24 1
|
9天前
|
物联网 Linux 云计算
Linux操作系统的演变与未来趋势####
【10月更文挑战第29天】 本文深入探讨了Linux操作系统从诞生至今的发展历程,分析了其在服务器、桌面及嵌入式系统领域的应用现状,并展望了云计算、物联网时代下Linux的未来趋势。通过回顾历史、剖析现状、预测未来,本文旨在为读者提供一个全面而深入的视角,以理解Linux在当今技术生态中的重要地位及其发展潜力。 ####
|
13天前
|
人工智能 安全 Linux
|
4月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
1月前
|
Unix 物联网 大数据
操作系统的演化与比较:从Unix到Linux
本文将探讨操作系统的历史发展,重点关注Unix和Linux两个主要的操作系统分支。通过分析它们的起源、设计哲学、技术特点以及在现代计算中的影响,我们可以更好地理解操作系统在计算机科学中的核心地位及其未来发展趋势。
|
3月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
108 3