Linux基础(存储结构和磁盘划分)

一切从“/”开始

在Linux系统中,目录、字符设备、块设备、套接字、打印机等都被抽象成了文件,一切皆为件

与windows操作系统不同,Linux系统内不存在C/D/E/F盘等,一切文件都是从根(/)目录开始的

Linux系统中按照文件系统层次化标准(FHS)采用树形结构存放文件,以及定义了常见目录的用途

Linux系统中的文件和目录名称是严格区分大小写的,文件名称不能包含斜杠(/)

Linux系统的文件存储结构

 前面提到的FHS是根据以往无数Linux系统用户和开发者的经验而总结出来的,是用户在Linux系统中存储文件时需要遵守的规则,用于指导我们应该把文件保存在什么位置,以及告诉用户应该在何处找到所需的文件

Linux系统中常见的目录名称以及相应内容

目录名称应放置文件的内容
/boot开机所需的文件——内核、开机菜单以及所需配置文件等
/dev以文件形式存放任何设备与接口
/etc配置文件
/home用户家目录
/bin存放单用户模式下还可以操作的命令
/lib开机时用到的函数库,以及/bin与/sbin下面的命令需要调用的函数
/sbin开机过程中需要的命令
/media用于挂载设备文件的目录
/opt放置第三方软件
/root系统管理员的家目录
/srv一些网络服务的数据文件目录
/tmp任何人均可使用的“共享”临时目录
/proc虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local用户自行安装的软件
/usr/sbin

Linux系统开机时不会使用到的软件/命令/脚本

/usr/share帮助与说明文件,也可放置共享文件
/var主要存放经常变化的文件
/lost+found当文件系统发生错误时,将一些丢失的文件片段存放在这里

Linux系统中还有一概念——路径

路径指的是如何定位到某个文件,分为:绝对路径  和   相对路径

绝对路径指的是从根目录(/)开始写起的文件或目录名称

相对路径指的是相对于当前路径的写法

物理设备的命名规则

常见的硬件设备及其文件名称

硬件设备文件名称
IDE设备/dev/hd[a-d]
SCSI/SATA/U盘/dev/sd[a-p]
软驱/dev/fd[0-1]
打印机/dev/lp[0-15]
光驱/dev/cdrom
鼠标/dev/mouse
磁带机/dev/st0或/dev/ht0

现在的IDE设备很少见了,所以一般的硬盘设备都会是以“/dev/sd”开头的。

一台主机上可以有多块硬盘,因此采用a~p来代表16块不同的硬盘(默认从a开始分配)

硬盘的分区编号也有规则:

①主分区或扩展分区的编号从1开始,到4结束

②逻辑分区从编号5开始

首先,/dev/目录中保存的应当是硬件设备文件;其次,sd表示是存储设备;然后,a表示系统中同类接口中第一个被识别到设备,最后,5表示这个设备是一个逻辑分区。

所谓扩展分区,严格上讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表

硬盘分区的规划

文件系统

最常见的文件系统如下:

Ext3:是一款日志文件系统,能够在系统异常死机时避免文件系统资料丢失,并能自动修复数据的不一致与错误

Ext4:Ext3的升级版,作为RHEL6系统中的默认文件管理系统,它支持的存储容量高达1EB,且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率

XFS:是一种高性能的日志文件系统,而且是RHEL7中默认的文件管理系统,它的优势在发生意外死机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极地的计算和存储性能。最大可支持的存储容量为18EB

挂载硬件设备

mount命令

mount命令用于挂载文件系统

格式为:mount 【文件系统】 挂载目录

mount命令中可用的参数

参数作用
-a挂载所有在/etc/fstab中定义的文件系统
-t指定文件系统的类型

挂载是在使用硬件设备前所执行的最后一步操作

只需要用mount命令把硬盘设备或分区与一个目录文件进行关联,然后就能在这个目录中看到硬件设备中的数据了

对于比较新的Linux系统来讲,一般不需要使用-t参数来指定文件系统的类型,Linux系统会自动进行判断。

而mount命令中的-a参数,它会在执行后自动检查/etc/fstab文件中有无疏漏被挂载的设备文件,如果有,则自动挂载操作

umount命令

umount命令用于撤销已经挂载的设备文件

格式为:umount 【挂载点/设备文件】

添加硬盘设备

fdisk命令

在Linux系统中,管理硬盘设备最常用的方法当属fdisk命令

格式为:fdisk 【磁盘名称】

fdisk命令中的参数及其作用

参数作用
-m查看全部可用的参数
-n添加新的分区
-d删除某个分区的信息
-l列出所有可用的分区类型
-t改变某个分区的类型
-p查看分区信息
-w保存并退出
-q不保存直接退出

我们先使用熟悉一下fdisk命令

fdisk -l 

fdisk /dev/nvme0n2  分区

 我们输入m,查看帮助

 输入参数n尝试添加新的分区。系统会要求您是选择继续输入参数p,还是输入参数e来创建扩展分区。我们这里输入参数p来创建一个主分区。

在确认创建一个分区后,系统要求您先输入主分区的编号。

主分区的编号:1-4

因此这里输入默认的1就行了,不输入任何数字,系统自动选择默认值

接下来系统会提示定义起始的扇区位置,这不需要改动,我们直接回车键默认即可,系统会自动算出最靠前的空闲扇区的位置

最后,系统会要求定义分区的结束扇区,这其实就是要去定义整个分区的大小是多少

我们再次使用参数p来查看硬件设备中的分区信息

 我们设置好了以后,千万记得输入w参数进行保存

在上述步骤完成后,Linux系统会自动把这个硬盘主分区抽象成文件

我们可用file命令查看该文件的属性

如果没有同步的话可用使用partprobe手动同步到内核,输入几次后还没同步,就重启把

如果硬件存储设备没有进行格式化,则Linux系统无法得知这么在其上写入数据。因此,在对存储设备进行分区后还需进行格式化。

在Linux系统中用于格式化操作的命令是:mkfs

格式:mkfs.文件类型名称  硬盘文件

简单挂载一下

du命令

既然存储设备已经顺利挂载,接下来就可尝试通过挂载点目录向存储设备中写入文件了

在写入文件之前,先介绍用于查看文件数据占用量的du命令

格式为:du 【选项】【文件】

简单来说就是查看硬盘空间的情况

我们先cp一些文件放入挂载目录

命令行挂载后,设备文件会在下一次重启的时候失效。如果想让这个设备文件的挂载永久有效,则需要把挂载的信息写入配置文件

 添加交换分区

SWAP(交换)分区是一种通过在硬盘中预先划分一定发空间,然后将把内存中暂时不常用的数据临时存放在硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用技术,其设计目的是为了解决真实物理内存不足的情况。但由于交换分区毕竟是通过硬盘设备读写数据的,速度肯定要比物理内存慢,所以只有当真实物理内存耗尽后才会调用交换分区的资源。

交换分区的建立与挂载并使用存储设备的过程很像

在生产环境中:交换分区的大小一般是真实物理内存的1.5-2倍

使用SWAP分区专用的格式化命令  mkswap ,对新建的主分区进行格式化操作:

使用swapon命令把准备好的SWAP分区设备正式挂载到系统中。

我们可用free -m命令查看交换分区的大小

 为了能够让新的交换分区设备在重启后依然生效,需要按照下面的格式将相关的信息写入到配置文件中去,记得保存:

 磁盘容量配额

硬件资源是固定的有限的,如果某些用户一直在Linux系统上创建文件或者存放电影,硬盘空间总有一天会被占满。针对这种情况。root管理员就需要使用磁盘容量配额服务来限制某个用户或者某个用户组针对特定文件夹可使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。

可用使用quota命令来进行管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。

quora命令有两种功能:

①软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用

②硬限制:当达到硬限制时会提示用户,且强制终止用户的操作

reboot之后

 接下来创建一个用于检查quota磁盘容量配额效果的用户tom,并针对/boot目录增加其他人的写权限,保证用户能够正常写入数据:

xfs-quota命令

xfs-quota命令是专门针对XFS文件系统来管理quota磁盘容量配额服务而设计的命令

格式: xfs-quota 【参数】配额 文件系统

当配置好上述的各种软硬限制后,尝试切换到这个普通用户,然后分别尝试创建一个体积为5MB和8MB的文件,可发现,在创建8MB的文件时受到了限制:

edquota命令

edquota命令用于编辑用户的quota配额限制

格式为:edquota 【参数】【用户】

在用户设置了quota磁盘配额限制后,可用使用edquota命令按需修改限额的数值

其中

-u 参数表示要针对那个用户

-g 参数表示要针对那个用户组

edquota命令会调用Vi或Vim编辑器来让root管理员修改要限制的具体细节

下面我们把tom的限额从5提到8MB

 软硬方式链接

链接就像windows系统中的快捷方式一样

①硬链接:硬链接文件与原始文件其实是同一个文件,只是名字不一样。我们每添加一个硬链接,该文件的inode连接数就会加1,而且只有当该文件inode连接数为0时,才能彻底删除它。

②软链接(符号链接):仅仅包含所链接文件的路径名,因此能链接目录。也可用跨越文件系统进行链接,但是,当原始文件删除后,链接文件也将失效。这点和windows上的快捷方式一样的性质。

ln命令

ln命令用于创建链接文件

格式为:ln 【选项】目标

Usage: ln [OPTION]... [-T] TARGET LINK_NAMEor:  ln [OPTION]... TARGETor:  ln [OPTION]... TARGET... DIRECTORYor:  ln [OPTION]... -t DIRECTORY TARGET...
In the 1st form, create a link to TARGET with the name LINK_NAME.
In the 2nd form, create a link to TARGET in the current directory.
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
Create hard links by default, symbolic links with --symbolic.
By default, each destination (name of new link) should not already exist.
When creating hard links, each TARGET must exist.  Symbolic links
can hold arbitrary text; if later resolved, a relative link is
interpreted in relation to its parent directory.必选参数对长短选项同时适用。--backup[=CONTROL]	为每个已存在的目标文件创建备份文件-b				类似--backup,但不接受任何参数-d, -F, --directory		创建指向目录的硬链接(只适用于超级用户)-f, --force			强行删除任何已存在的目标文件-i, --interactive           prompt whether to remove destinations-L, --logical               dereference TARGETs that are symbolic links-n, --no-dereference        treat LINK_NAME as a normal file ifit is a symbolic link to a directory-P, --physical              make hard links directly to symbolic links-r, --relative              create symbolic links relative to link location-s, --symbolic              make symbolic links instead of hard links-S, --suffix=SUFFIX         override the usual backup suffix-t, --target-directory=DIRECTORY  specify the DIRECTORY in which to createthe links-T, --no-target-directory   treat LINK_NAME as a normal file always-v, --verbose               print name of each linked file--help		显示此帮助信息并退出--version		显示版本信息并退出The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:none, off       不进行备份(即使使用了--backup 选项)numbered, t     备份文件加上数字进行排序existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份simple, never   永远使用普通方式备份Using -s ignores -L and -P.  Otherwise, the last option specified controls
behavior when a TARGET is a symbolic link, defaulting to -P.GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 ln 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/ln>

 

 

 

 

 

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

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

相关文章

软件工程(需求分析)

需求分析 为了开发出真正满足用户需求的软件产品&#xff0c;首先必须知道用户的需求。对软件需求的深人理解是软件开发工作获得成功的前提条件&#xff0c;不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望.给开发者带来烦恼。 需求分析是软…

TensorFlow构建二维数据拟合模型(1)

知识图谱 TensorFlow运行机制 TensorFlow是基于计算图的深度学习编程模型 Tensor表示张量&#xff0c;其实质上是某种类型的多维数组 Flow表示基于数据流图的计算&#xff0c;实质上是张量在不同节点间的转化过程。 在TensorFlow中&#xff0c;计算图中的节点称为OP&…

Qt图形界面编程入门(标签与槽机制习题分享)

标签对象初始显示0&#xff0c;每次单击标签对象后&#xff0c;其显示内容就加1&#xff0c;依次变为1、2、3等。 #ifndef DIALOG_H #define DIALOG_H#include <QDialog> #include <QPushButton> //包含命令按钮类 #include "MyLabel.h"class Dialo…

js中执行到一个if就停止的代码_Node 中如何引入一个模块及其细节

在 node 环境中&#xff0c;有两个内置的全局变量无需引入即可直接使用&#xff0c;并且无处不见&#xff0c;它们构成了 nodejs 的模块体系: module 与 require。以下是一个简单的示例const fs require(fs)const add (x, y) > x ymodule.exports add虽然它们在平常使用…

二级MS Office公共基础知识错题本(1)

1&#xff0c;顺序程序具有顺序性、封闭性和可再现性的特点&#xff0c;不具备并发性 2&#xff0c;为了降低算法的空间复杂度&#xff0c;主要应减少输入数据所占的存储空间以及额外空间&#xff0c;通常采用压编存储技术。 3&#xff0c;树的总的结点数为树中所有结点的度数…

c++ file* 句柄泄漏_C++核心指南:P.8 勿泄漏任务资源

P.8: 勿泄漏任务资源原因随着时间的推移&#xff0c;即使是资源的缓慢增长也会耗尽这些资源的可用性&#xff0c;这对于长时间运行的程序特别重要&#xff0c;但也是负责任的编程行为的基本部分。糟糕的例子void f(char* name){ FILE* input fopen(name, "r"); // .…

数据规范化、实体-联系图、状态转换图、层次方框图、Warnier图、IPO图及验证软件需求

数据规范化 软件系统经常使用各种长期保存的信息&#xff0c;这些信息通常以一定方式组织并存储在数据库或文件中&#xff0c;为减少数据冗余&#xff0c;避免出现插入异常或删除异常&#xff0c;简化修改数据的过程,通常需要把数据结构规范化。 通常用“范式(normal forms)”…

Linux基础(iptables与firewalld防火墙)

iptables 在早期的Linux系统中&#xff0c;默认使用的是iptables防火墙管理服务来配置防火墙。尽管新型的fierwalld防火墙管理服务已经被投入使用多年&#xff0c;但是大量的企业在生产环境中依然出于各种原因而继续使用iptables。 策略与规则链 防火墙会从上至下的顺序来读…

虚拟跳线软件干什么用的_疯狂刷单!用违法软件生成虚拟手机号,“骑手”半年“刷单”牟利60余万,百米内竟有万笔订单 | 申晨间...

来源&#xff1a;新闻晨报 记者&#xff1a;吴艺璇借助违法软件生成虚拟手机号码&#xff0c;利用平台审核漏洞大量注册用户&#xff0c;大量“刷单”骗取平台的返现和购物补贴&#xff0c;半年内疯狂刷1.8万余单&#xff0c;累计牟利60余万元。近日&#xff0c;在市公安局刑侦…

ygo游戏王卡组_ACG大科普(7)游戏王

大家是否在小时候接触过一种卡片类似这种的 这就是今天的主角游戏王。 背景 1996年&#xff0c;《游戏王》漫画开始在集英社《周刊少年Jump》连载。 1998年&#xff0c;Bandai推出以《游戏王》原作中登场的集换卡牌游戏“M&W”为题材的集换卡牌。 采用Bandai的卡片自动贩卖…

Qt图形界面编程入门(基本窗口及控件)

基本窗口类QWidget QWidget是所有窗体部件的基类&#xff0c;例如对话框类&#xff0c;主窗体类&#xff0c;以及其他诸如按钮&#xff0c;编辑框&#xff0c;标签等等都是由QWidget派生得到&#xff0c;QWidget拥有的方法往往都可以在其他子类中使用。 窗体的几何尺寸分为包…

背景se_盘点那些RPG手游中主角的背景故事,越悲情越强大

RPG游戏一直以代入感超强的游戏方式来吸引玩家&#xff0c;用超越现实的艺术手段把玩家带入到虚拟的游戏世界&#xff0c;让玩家担任不同的社会角色来去经历不同的虚拟故事&#xff0c;体验多种人生经历&#xff0c;想要扮演任何角色都是有可能的。当然在RPG游戏中也有好坏之分…

TensorFlow构建二维数据拟合模型(2)

变量的定义和使用 变量的定义与初始化 TensorFlow中&#xff0c;变量是一种特殊的张量&#xff0c;其值可以是一个任意类型的形状的张量。 与其他张量不同&#xff0c;变量存在于单个回话调用的上下文之外&#xff0c;主要作用是保存和更新模型中的参数。 声明变量通常使用…

c++用牛顿法开多次根_望远镜的历史之三:大神出世,改变望远镜历史的竟然是牛顿...

上次我们说到格里高利望远镜有点画蛇添足&#xff0c;那么格里高利望远镜添了什么呢&#xff1f;格里高利望远镜格里高利望远镜观测的图像都是正立的&#xff0c;这就意味着要采用多个凹面反射镜&#xff0c;而当时凹面反射镜磨制不易&#xff0c;无论是多大的科学家都要亲自动…

如何把照片正面变成反面_各国签证照片要求大全 (含模板)

对于不是很熟悉签证的小伙伴来说&#xff0c;面对全球那么多国家的签证而且每张签证照片的规格不同为此我们为您整理了各国签证照片要求大全 东南亚国家的签证照要求基本相同&#xff0c;就以泰国为例&#xff0c;告诉大家签证照的注意事项。“泰国&#xff0c;新加坡&#xff…

TensorFlow实验(3)

模型的保存与恢复 我们来简单实现一下模型的保存与恢复 训练完TensorFlow模型后&#xff0c;可将其保存为文件&#xff0c;以便于预测新数据时直接加载使用。 TensorFlow模型主要包含网络的设计或者图以及已经训练好的网络参数的值。 TensorFlow提供的tf.train.Saver()函数…

ad域 禁用账号_IST-AD域信息同步平台来袭

IST的AD域信息同步系统是能帮助域管理员简化日常的一些管理工作&#xff0c;可以让AD域系统与其他的业务系统进行用户信息同步&#xff0c;实现自动的新旧用户帐户信息的同步修改、组织架构同步调整&#xff0c;并有简单易操作的配置页面系统与操作日志查询等。通过ODBC、Web S…

Linux基础(firewalld防火墙配置管理工具的图形用户界面)

firewall-config的界面如图所示 我们先将当前区域中请求http服务的流量设置为允许&#xff0c;但仅限当前生效。具体配置如图 尝试添加一条防火墙策略规则&#xff0c;使其放行访问8080-8088端口&#xff08;TCP协议&#xff09;的流量&#xff0c;并将其设置为永久生效&#x…

Linux基础(使用ssh服务管理远程主机1)

配置网络参数 使用nmtui命令配置网络参数&#xff0c;以及通过nmcli命令查看网络信息并管理网络会话服务。 执行nmtui命令运行网络配置工具 进入主界面 选中编辑连接并按下回车键 选中要编辑的网卡名称&#xff0c;然后按下Edit&#xff08;编辑&#xff09;按钮 把网络IPv4 …

联想g510升级方案_联想智慧中国行,聚焦第一古城,助力企业智能升级

12月29日&#xff0c;联想智慧中国行“一起联想 生态绽放”One Lenovo融合品鉴会邢台站盛大启幕&#xff0c;现场近70位河北合作伙伴到场参会&#xff0c;共同探讨智能时代带来的多重挑战和迎战机遇。“联想智慧中国行”是联想致力于推动中国行业智能化升级举办的系列活动&…