Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】
    Linux操作系统(Deepin、Ubuntu)操作系统中,硬盘分区的管理与Windows操作系统不同;
    在Linux系统中维护着一个统一的文件目录体系,而硬盘和分区是以资源的形式由操作系统挂接和调度;此外Linux系统中连接(硬连接/软连接/别名)到处都是,需要对其有一定的理解;
    以下对Linux系统的硬盘/分区和文件目录体系以及连接分别进行说明。
- 硬盘/分区和文件目录体系
 
     Linux中的磁盘和Window系统一样,都属于物理存储设备,都需要进行分区之后再使用。但是硬盘【或移动硬盘、U盘等】插入并识别成功后,是不可能点开移动硬盘的盘符来进行访问的。如下图所示,Deepin的“计算机”能看到硬盘但不能到分区盘符;
 
     Linux的文件目录体系就像是一个完整的世界;需要在Linux系统的文件目录体系中开辟挂载点,将硬盘的分区挂接到这个世界的入口【挂载点】,才能通过这个挂载点来访问硬盘分区。所以Linux系统的一个文件夹下面,可以挂接多个硬盘分区,剩余的空间为这几个硬盘分区剩余空间之和。如下图所示:
 
     所有在Linux系统挂接的存储设备,都是在/dev/这个位置下面【这个位置不能像文件夹一样访问】,比如第一块硬盘一般是/dev/sda,第二块硬盘一般是/dev/sdb;【相关文章:Deepin/Ubuntu第二块硬盘配置管理】
- 查看磁盘和分区
 
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
......
 
- 查看
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% /
......
 
- 将硬盘分区挂接到
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/离线,才能从文件系统再访问到喔
 
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
 
- 查看文件/目录占用磁盘空间
 
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命令创建】
- 创建硬连接
 
ln /path/to/original_file hardlink_name
# 使用ln命令创建一个指向original_file的硬连接,命名为hardlink_name
 
- 创建软连接
 
ln -s /path/to/original_file symlink_name
# 使用ln命令创建一个指向original_file的软连接,命名为symlink_name
 
- 删除硬连接、软连接
 
rm hardlink_name	# 删除硬连接
rm symlink_name		# 删除软连接
# 可以看到,删除硬连接、软连接的shell命令和删除文件是一样的
 
- 查看软连接信息
 
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 ~
相关文章:
Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】
Linux操作系统(Deepin、Ubuntu)操作系统中,硬盘分区的管理与Windows操作系统不同; 在Linux系统中维护着一个统一的文件目录体系,而硬盘和分区是以资源的形式由操作系统挂接和调度;此外Linux系统中连接(硬连…...
JS之打地鼠案例
需要素材的同学可以私信我 效果图: 上代码: <!DOCTYPE html> <html> <head><meta charset"utf-8"><title></title><style>* {margin: 0;padding: 0;}.box {position: relative;width: 320px;heigh…...
Kubernetes入门
k8s相关基础知识 文章目录 k8s相关基础知识1、Container2、PodPod 与 Container 的不同Pod 其它命令 3、Deployment扩容升级版本Rolling update(滚动更新)存活探针(livenessProb)就绪探针(readiness) 4、ServiceClusterIPNodePortLoadBalancer 5、Ingres…...
EtherNet/IP开发:C++搭建基础模块,EtherNet/IP源代码
这里是CIP资料的协议层级图,讲解协议构造。 ODVA(www.ODVA.org)成立于1995年,是一个全球性协会,其成员包括世界领先的自动化公司。结合其成员的支持,ODVA的使命是在工业自动化中推进开放、可互操作的信息和…...
Django(九)
1. 用户登录-Cookie和Session 什么是cookie和session? 发送HTTP请求或者HTTPS请求(无状态&短连接) http://127.0.0.1:8000/admin/list/ https://127.0.0.1:8000/admin/list/http无状态短连接:一次请求响应之后断开连接,再发请求重新连…...
解决Android Studio Unexpected tokens (use ; to separate expressions on the same line)
[TOC](Unexpected tokens (use ; to separate expressions on the same line)) 问题描述:Unexpected tokens (use ; to separate expressions on the same line) 原因:Android Studio 更新到最新的版本之后,gradle工程目录结构发生改变 问…...
【云原生】Docker网络模式和Cgroup资源限制
目录 一、Docker 网络实现原理 二、Docker 的网络模式 #网络模式详解: 第一种:host模式 第二种:bridge模式 第三种:container模式 第四种:none模式 第五种:自定义网络 三、Cgroup资源控制 第一种&a…...
实战:加密传输数据解密
前言 下面将分享一些实际的渗透测试经验,帮助你应对在测试中遇到的数据包内容加密的情况。我们将以实战为主,技巧为辅,进入逆向的大门。 技巧 开局先讲一下技巧,掌握好了技巧,方便逆向的时候可以更加快速的找到关键…...
前端开发提高效率的两大工具
一、浏览器中的开发者工具 怎么启动开发者工具? 在浏览器中按下F12或者鼠标右键点击检查 怎么利用(常用的几点)? 1、元素 点击标红的图标可以用于在页面选择元素,同时右侧会找到元素在前端代码中的位置 点击下方红…...
探索设计模式的魅力:深入理解面向对象设计的深层原则与思维
如何同时提高一个软件系统的可维护性 和 可复用性是面向对象对象要解决的核心问题。 通过学习和应用设计模式,可以更加深入地理解面向对象的设计理念,从而帮助设计师改善自己的系统设计。但是,设计模式并不能够提供具有普遍性的设计指导原则。…...
【Py/Java/C++三种语言详解】LeetCode每日一题240122【贪心】LeetCode670、最大交换
文章目录 题目链接题目描述解题思路为什么是贪心一个带图的例子 代码pythonjavacpp时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目链接 LeetCode670、最大交换 题目描述 给定一个非负整数数组 nums 和一个整数 k ,你需要将这个数组分成 k 个非空的连…...
Linux/Doctor
Enumeration nmap 已知目标开放了22,80,8089端口,扫描详细情况如下 可以看到对外开放了22,80,8089三个端口 TCP/80 SSTI 访问80端口,有一个infodoctors.htb的电子邮件,点击其他的也没有什么反应,猜测有可能需要域名访问 在/et…...
嵌入式linux学习之系统烧录
1.所需文件 1. 开发板为正点原子stm32mp157,文件可按照linux驱动教程编译,也可在正点原子文档->08、系统镜像\02、出厂系统镜像中找到: 2.烧录 1.拨码开关为000(usb启动),otg接口接入虚拟机,打开stm32cubeProgrammer: 2.页面…...
JVM-初始JVM
什么是JVM JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。 Java源代码执行流程如下: JVM的功能 1 - 解释和运行 2 - 内存管理 3 - 即时编译 解释和运行 解释…...
EXCEL VBA网抓技巧-复制网页表格,不用遍历单元格
EXCEL VBA网抓技巧-复制网页表格,不用遍历单元格 对应表格复制 Sub tableTest()Set winhttp CreateObject("winhttp.WinHttpRequest.5.1")Set HTML CreateObject("htmlfile")Set oWindow HTML.ParentWindowUrl "https://www.taiwanlo…...
动态规划——炮兵回城【集训笔记】
题目描述 游戏盘面是一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。 游戏结束盘上只剩下一枚炮兵没有回到城池中&a…...
低成本扫码点餐:1000元全包
在数字化时代,扫码点餐已经成为餐饮行业的标配。然而,对于许多小规模或初创的餐饮企业来说,开发一套完整的扫码点餐系统是一项成本高昂的任务。今天,我们将向您介绍一个低成本、高效的方法,让您用1000块钱轻松搞定一套…...
五款焊在电脑上的效率软件
在当今快节奏的商业环境中,提高工作效率成为了每个人都渴望实现的目标。尤其是在面对繁忙的工作日程、庞杂的任务清单和团队合作的压力时,我们需要一些可靠的工具来帮助我们更好地管理时间、组织工作和提高生产力。幸运的是,现在有许多高效的…...
小程序样例3:根据日历创建待办事项
基本功能 1、待办事项查看 选择不同的日期显示不同的待办: 2、选择日期后 新增事项: 3. 点击事项,查看详情 4、删除事项:删除事项3之后,剩余事项2 5、点击日期可以选择更多的月: 实现思路: 1、数据结构&a…...
计算机设计大赛 协同过滤电影推荐系统
文章目录 1 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
