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的迁移。
目录
相关文章
|
5天前
|
安全 Linux 数据安全/隐私保护
探索Linux操作系统的文件权限管理
【9月更文挑战第29天】在数字世界中,文件权限管理如同保护我们隐私的锁。本文将带你了解如何在Linux系统中设置和管理文件权限,确保你的数据安全。我们将一起学习如何通过命令行工具来控制文件访问,就像学习一门新语言一样有趣。准备好了吗?让我们一起开启这场技术之旅!
|
23天前
|
存储 安全 Linux
探索Linux操作系统的心脏:内核
在这篇文章中,我们将深入探讨Linux操作系统的核心—内核。通过简单易懂的语言和比喻,我们会发现内核是如何像心脏一样为系统提供动力,处理数据,并保持一切顺畅运行。从文件系统的管理到进程调度,再到设备驱动,我们将一探究竟,看看内核是怎样支撑起整个操作系统的大厦。无论你是计算机新手还是资深用户,这篇文章都将带你领略Linux内核的魅力,让你对这台复杂机器的内部运作有一个清晰的认识。
52 3
|
23天前
|
存储 数据挖掘 Linux
服务器数据恢复—Linux操作系统网站服务器数据恢复案例
服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
|
21天前
|
存储 监控 安全
探究Linux操作系统的进程管理机制及其优化策略
本文旨在深入探讨Linux操作系统中的进程管理机制,包括进程调度、内存管理以及I/O管理等核心内容。通过对这些关键组件的分析,我们将揭示它们如何共同工作以提供稳定、高效的计算环境,并讨论可能的优化策略。
22 0
|
1月前
|
存储 自然语言处理 搜索推荐
探索OS Copilot——那款让你瞬间变身超级用户、编程如呼吸般自然、文件管理如同魔法般的神奇操作系统辅助神器!
【9月更文挑战第4天】“OS Copilot”是一款高效的操作系统辅助软件,通过智能化手段简化电脑使用,涵盖智能命令建议、代码片段生成、文件管理及任务自动化等强大功能。其简洁的界面与友好的用户体验使其成为提升生产力的理想选择,无论是专业人士还是普通用户都能从中受益。从安装到实际应用都非常流畅,能显著提升工作效率,是优化数字生活的得力助手。
34 0
|
1月前
|
Linux
linux内核 —— 读写信号量实验
linux内核 —— 读写信号量实验
|
2月前
|
网络协议 Linux Shell
探索Linux操作系统:从基础到高级编程
【8月更文挑战第31天】本文旨在为读者提供一条清晰的路径,从Linux操作系统的基础知识出发,逐步深入到高级编程技巧。我们将一起揭开Linux神秘的面纱,了解其内部工作原理,并通过实际代码示例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你带来新的视角和技能提升。
|
2月前
|
Linux
探索Linux操作系统:命令行与脚本编程基础
【8月更文挑战第31天】在这篇文章中,我们将一起踏上一段旅程,深入探索Linux操作系统的奥秘。通过学习命令行的使用和编写简单的脚本,你将能够更高效地与你的计算机进行交流。无论你是新手还是有经验的用户,本文都将为你打开一扇通往Linux世界的大门。准备好了吗?让我们开始吧!
|
3月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
2月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
下一篇
无影云桌面