Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】

    Linux操作系统(DeepinUbuntu)操作系统中,硬盘分区的管理与Windows操作系统不同;

    在Linux系统中维护着一个统一的文件目录体系,而硬盘和分区是以资源的形式由操作系统挂接和调度;此外Linux系统中连接(硬连接/软连接/别名)到处都是,需要对其有一定的理解;

    以下对Linux系统的硬盘/分区和文件目录体系以及连接分别进行说明。


  • 硬盘/分区和文件目录体系

    ​ Linux中的磁盘和Window系统一样,都属于物理存储设备,都需要进行分区之后再使用。但是硬盘【或移动硬盘、U盘等】插入并识别成功后,是不可能点开移动硬盘的盘符来进行访问的。如下图所示,Deepin的“计算机”能看到硬盘但不能到分区盘符;
在这里插入图片描述

    ​ Linux的文件目录体系就像是一个完整的世界;需要在Linux系统的文件目录体系中开辟挂载点,将硬盘的分区挂接到这个世界的入口【挂载点】,才能通过这个挂载点来访问硬盘分区。所以Linux系统的一个文件夹下面,可以挂接多个硬盘分区,剩余的空间为这几个硬盘分区剩余空间之和。如下图所示:
在这里插入图片描述

​     所有在Linux系统挂接的存储设备,都是在/dev/这个位置下面【这个位置不能像文件夹一样访问】,比如第一块硬盘一般是/dev/sda,第二块硬盘一般是/dev/sdb;【相关文章:Deepin/Ubuntu第二块硬盘配置管理】

  1. 查看磁盘和分区
lsblk	# 列出块设备的信息,如硬盘、分区等
# 执行结果 sda1即为第一块硬盘的第一个分区
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0  1.5G  0 part /boot
├─sda2   8:2    0    1K  0 part
......sudo fdisk -l # 查看磁盘分区表, 也可以用fdisk来对硬盘进行分区操作
# 执行结果
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
......
Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048   3147775   3145728  1.5G 83 Linux
/dev/sda2         3147776 174063615 170915840 81.5G  5 Extended
......
  1. 查看Linux文件目录体系
df # 显示已挂载的磁盘的文件系统使用情况
# 执行结果 挂载点即为文件目录体系,其中/dev是不可使用的
文件系统          1K-块     已用     可用 已用% 挂载点
udev            1947292        0  1947292    0% /dev
tmpfs            399020     3216   395804    1% /run
/dev/sda5      30786468  9049016 20148256   31% /
......df -h # 以人类易读的格式显示已挂载的磁盘的文件系统使用情况
# 执行结果 挂载点即为文件目录体系,其中/dev是不可使用的
文件系统        容量  已用  可用 已用% 挂载点
udev            1.9G     0  1.9G    0% /dev
tmpfs           390M  3.2M  387M    1% /run
/dev/sda5        30G  8.7G   20G   31% /
......
  1. 将硬盘分区挂接到Linux文件目录体系
# 创建挂载点
sudo mkdir /mnt/sdb              # 创建挂载点/mnt/sdb
sudo mount /dev/sdb /mnt/sdb     # 将/dev/sdb挂接到挂载点,接下来可以在目录/mnt/sdb中访问了【第二块硬盘只有一个分区】
sudo unmount /mnt/sdb            # 将挂载点离线,硬盘分区就不可访问了
# 冷知识:如果在/mnt/sdb/下有文件的情况下,将硬盘分区挂接到/mnt/sdb,则这个目录原始的文件将会“隐身”
# 只有将挂载点/mnt/sdb/离线,才能从文件系统再访问到喔
  1. Linux文件目录体系基本操作
# 创建和删除文件夹
mkdir test	# 创建文件夹
rmdir test	# 删除空文件夹
rm -r test  # 删除文件夹【无论是否空】# 文件复制和移动、改名、删除
cp test.dat testbak.dat  # 复制文件test.dat为testbak.dat
mv test.dat test_bak.dat # 将test.dat改名/移动为test_bak.dat
rm test_bak.dat          # 删除文件test_bak.dat
  1. 查看文件/目录占用磁盘空间
sudo du /var --max-depth=1 
# 查看目录/var下文件或文件夹占用磁盘空间,展开层级为1
# 执行结果
4       /var/public
539244  /var/log
4       /var/local
......sudo du -h /var --max-depth=1 
# 执行结果
4.0K    /var/public
527M    /var/log
4.0K    /var/local
......

  • 连接(硬连接/软连接)

     ​ 在Linux系统中,硬连接和软连接是两种不同的文件连接方式,它们在实现方式和用途上有所区别。

     ​ 硬连接是指通过索引节点进行的连接,类似于复制多份文件;只有文件才能建立硬连接,而目录则不能。硬连接可以用于防止“误删”的功能,只有当最后一个硬连接被删除后,才能真正删除硬连接相关的文件。

    ​ 软连接则是一种特殊类型的文件,文件或目录都可以建立软连接文件。软连接文件中包含的是另一文件或目录的位置信息。软连接可以跨越文件系统,即使目标文件或目录已经被删除,软连接仍然存在,但指向的是一个不存在的文件或目录,所以软连接可能是失效的。

     ​ 下面是硬连接和软连接相关的shell示例【硬连接和软连接都是使用ln命令创建】

  1. 创建硬连接
ln /path/to/original_file hardlink_name
# 使用ln命令创建一个指向original_file的硬连接,命名为hardlink_name
  1. 创建软连接
ln -s /path/to/original_file symlink_name
# 使用ln命令创建一个指向original_file的软连接,命名为symlink_name
  1. 删除硬连接、软连接
rm hardlink_name	# 删除硬连接
rm symlink_name		# 删除软连接
# 可以看到,删除硬连接、软连接的shell命令和删除文件是一样的
  1. 查看软连接信息
cat symlink_name	# 查看软连接的内容,将显示原始文件或目录的路径
test -e symlink_name && echo "Valid symlink" || echo "Broken symlink"
# 如果软连接有效,显示"Valid symlink",否则显示"Broken symlink"

上一篇:Deepin基本环境查看(三)【网络信息】

may the odds be ever in your favor ~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/245388.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

three.js中Meshline库的使用

three.js中Meshline的使用 库的地址为什么要使用MeshLine,three.js内置的线不好用吗?MeshLine入门MeshLine的深入思考样条曲线一个问题 库的地址 https://github.com/spite/THREE.MeshLine?tabreadme-ov-file 为什么要使用MeshLine,three.js内置的线不好用吗? 确实不好用,…

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-Tag标签管理实现

锋哥原创的SpringbootLayui python222网站实战: python222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火…

研发日记,Matlab/Simulink避坑指南(四)——transpose()转置函数Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结 前言 见《研发日记,Matlab/Simulink避坑指南(一)——Data Store Memory模块执行时序Bug》 见《研发日记,Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》 见《…

五、flowable操作、查询相关

1、依赖 <dependency><groupId>com.ikaiyong.score</groupId><artifactId>score-spring-boot-starter-flowable</artifactId></dependency> 2、流程部署相关 如下建立对应文件和文件夹 2.1 流程部署 /*** 部署流程* param name*/GetMapp…

免费的 UI 设计资源网站 Top 8

今日与大家分享8个优秀的免费 UI 设计资源网站。这些网站的资源包括免费设计材料站、设计工具、字体和其他网站&#xff0c;尤其是一些材料站。它们是免费下载的&#xff0c;材料的风格目前很流行&#xff0c;适合不同的项目。非常适合平面设计WEB/UI设计师收藏&#xff0c;接下…

Cesium数据加载

文章目录 0.引言1.影像加载1.1Bing地图1.2天地图1.3ArcGIS在线地图1.4高德地图1.5OSM影像1.6MapBox影像 2.OGC地图服务2.1WMS2.2WMTS2.3TMS 3.GeoJSON数据加载4.KML数据加载5.TIFF数据加载6.点云数据加载7.地形数据加载7.1在线地形数据加载7.2本地地形数据加载 8.倾斜摄影模型数…

如何使用docker实现越权漏洞-webug靶场搭建(超详解)

越权漏洞-webug靶场搭建 1.打开docker systemctl start docker 2.查找webug docker search webug 3.拉取docker.io/area39/webug 镜像 docker pull docker.io/area39/webug 4.查看镜像 docker images 5.创建容器 docker run -d -p 8080:80 --name webug docker.io/area39/we…

STM32实现软件IIC协议操作OLED显示屏(1)

时间记录&#xff1a;2024/1/25 一、IIC协议介绍 &#xff08;1&#xff09;协议介绍 IIC&#xff08;又称I2C&#xff0c;Inter-Integrated Circuit&#xff09;&#xff0c;即集成电路总线&#xff0c;是一种两线式串行总线&#xff0c;由PHILIPS公司开发&#xff0c;用…

FinBert模型:金融领域的预训练模型

文章目录 模型及预训练方式模型结构训练语料预训练方式 下游任务实验结果实验一&#xff1a;金融短讯类型分类实验任务数据集实验结果 实验二&#xff1a;金融短讯行业分类实验任务数据集实验结果 实验三&#xff1a;金融情绪分类实验任务数据集实验结果 实验四&#xff1a;金融…

认识数学建模

文章目录 1 什么是数学建模2 数学建模的比赛形式3 参加数学建模的好处4 数学建模的流程5 数学建模成员分工6 数学建模常用软件7 数学建模竞赛7.1 美国大学生数学建模竞赛7.2 MathorCup高校数学建模挑战赛7.3 华中杯大学生数学建模挑战赛7.4 认证杯数学建模网络挑战赛7.5 华东杯…

简化java代码:mapstruct + 策略模式

目录 目的 准备 注意 相同类型-属性名不同 实体类 映射 使用 验证-查看实现类 测试 不同类型(策略模式) 实体类 映射 工具类 使用&#xff1a;对象拷贝 验证-查看实现类 测试 使用&#xff1a;集合拷贝 测试 策略模式说明 准备-依赖 目的 简化 BeanUtils.…

【C#】基础巩固

最近写代码的时候各种灵感勃发&#xff0c;有了灵感&#xff0c;就该实现了&#xff0c;可是&#xff0c;实现起来有些不流畅&#xff0c;总是有这样&#xff0c;那样的卡壳&#xff0c;总结下来发现了几个问题。 1、C#基础内容不是特别牢靠&#xff0c;理解的不到位&#xff…

oracle运维只磁盘

官网地址&#xff1a;管理磁盘使用&#xff08;任务列表&#xff09; - Oracle Solaris 管理&#xff1a;常见任务 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. 管理磁盘使用&#xff08;任务列表&#xff09;…

python:socket基础操作(4)-《tcp客户端基础》

tcp就和udp不一样了&#xff0c;tcp是客户端和服务器端&#xff0c;如果想通过tcp发送数据&#xff0c;要先让tcp进行连接服务器端 tcp客户端 先让服务器端进行启动 import socketdef main():# 创建套接字tcp_client_socket socket.socket(socket.AF_INET,socket.SOCK_STREAM…

关于达梦认证DCA DCP,TIDB认证PCTA PCTP考试那点事儿

文章最后有彩蛋&#xff0c;一定要看到最后... 一、正确的道路上遇到正确的你 伴随中国数据库领域的快速技术进步&#xff0c;国内数据库生态蓬勃发展&#xff0c;并不断涌现出极具创新力的产品&#xff0c;推动了数据库应用的遍地开花。截至2024年1月&#xff0c;墨天轮数据社…

MySQL的外键和连接,如何做到关联查询?

目录 一、MySQL介绍 二、什么是外键 三、什么是连接 四、如何实现关联查询 一、MySQL介绍 MySQL是一种开源的关系型数据库管理系统&#xff0c;它是目前最流行的数据库之一。MySQL由瑞典MySQL AB公司开发&#xff0c;后被Sun Microsystems收购&#xff0c;随后又被Oracle收…

github ssh ssh-keygen

生成和使用 SSH 密钥对是一种安全的身份验证方式&#xff0c;用于在你的本地系统和 GitHub 之间进行身份验证。以下是在 GitHub 上生成和使用 SSH 密钥对的基本步骤&#xff1a; 1. 生成 SSH 密钥对 在命令行中执行以下命令来生成 SSH 密钥对&#xff1a; ssh-keygen -C &q…

PHP - Yii2 异步队列

1. 前言使用场景 在 PHP Yii2 中&#xff0c;队列是一种特殊的数据结构&#xff0c;用于处理和管理后台任务。队列允许我们将耗时的任务&#xff08;如发送电子邮件、push通知等&#xff09;放入队列中&#xff0c;然后在后台异步执行。这样可以避免在处理大量请求时阻塞主应用…

0125-1-vue3初体验

vue3尝鲜体验 初始化 安装vue/clinext&#xff1a; yarn global add vue/clinext # OR npm install -g vue/clinext然后在 Vue 项目运行&#xff1a; vue upgrade --next项目目录 vue3-template ├── index.html // html模板 ├── mock // mock数据 │ └── user.…

【技术分享】Ubuntu 20.04如何更改用户名

产品简介 本文适用于所有RK3568/RK3588平台产品在Ubuntu 20.04系统上如何更改用户名&#xff0c;本文以IDO-EVB3588开发板为例&#xff0c;在ubuntu20.04系统上修改用户名industio为usernew。 IDO-EVB3588开发板是一款基于RK3588平台的产品。该开发板集成了四核Cortex-A76和四…