Linux基础【Linux知识贩卖机】

news2024/11/23 15:31:04

在这里插入图片描述
偶尔的停顿和修整,对于人生是非常必要的。 --随记

文章目录

  • Linux目录
    • 目录结构
    • 磁盘分区
      • 相关命令
    • 相对路径和绝对路径
  • 文件权限
    • 用户分类
    • umask
    • 创建文件权限计算方法
    • 粘滞位
  • 总结


Linux目录

目录结构

Linux 操作系统采用了一种层次化的目录结构,常被称为标准的 Linux 文件系统层次结构(Filesystem Hierarchy Standard,缩写为 FHS)。

在这里插入图片描述

Linux 目录结构的主要内容:

目录名说明
/(根目录)Linux 文件系统的最顶层,包含了所有其他目录和文件。
/bin存放系统可执行程序(二进制文件),如常用的命令(ls、cp、rm等)。
/boot包含启动 Linux 系统所需的文件,如内核、引导加载程序和配置文件。
/dev存放设备文件,Linux 将硬件设备视为文件的形式进行访问和管理,如磁盘、键盘、鼠标等。
/etc存放系统的配置文件,包括网络配置、用户配置、服务配置等。
/home每个用户的主目录,用户的个人文件和设置存放在这里。
/lib存放系统所需的共享库文件,这些库文件被可执行程序使用。
/media用于挂载可移动媒体设备(如光盘、USB 等)的挂载点。
/mnt临时挂载点,用于临时挂载其他文件系统,如挂载网络共享目录。
/opt用于存放可选的应用程序包,通常由第三方供应商提供,与系统自带的软件包分开。
/proc虚拟文件系统,提供有关系统内核和进程的信息,用于访问和配置内核参数。
/root超级用户(root)的主目录。
/sbin存放系统管理员使用的系统管理程序,这些程序通常需要超级用户权限才能运行。
/srv存放服务(如网站、FTP)提供的数据,用于存储由特定服务提供的数据。
/tmp存放临时文件,系统或用户创建的临时文件将存放在这里。
/usr存放用户程序和文件,包括用户安装的软件、库文件、文档等。
/var存放经常变化的文件,如日志文件、邮件、数据库文件等。

这些是 Linux 文件系统中的一些主要目录,它们的用途和功能各不相同,有助于组织和管理系统的文件和配置。

注意,不同的 Linux 发行版(如 Ubuntu、CentOS)可能会有一些细微的差异,但总体上保持了相似的目录结构。

磁盘分区

在 Linux 下,磁盘分区是将物理硬盘划分为不同的逻辑部分,每个分区可以作为一个独立的文件系统进行使用。磁盘分区可以提供数据隔离、性能优化、安全性和灵活性等优势。在 Linux 系统中,常用的磁盘分区方案包括以下几种:

分区说明
主分区主分区是在硬盘上进行的最基本的分区类型。一个硬盘最多可以有四个主分区,其中一个可以设为扩展分区。
扩展分区扩展分区是用来划分逻辑分区的容器。一个扩展分区可以容纳多个逻辑分区,以便充分利用硬盘空间。
逻辑分区逻辑分区是在扩展分区内创建的分区。逻辑分区的数量没有限制,可以根据需要创建。
引导分区引导分区是用于存放引导加载程序和引导配置文件的分区。通常位于硬盘的开头部分,并具有启动标志。
根分区根分区是 Linux 系统的根文件系统所在的分区。它包含了操作系统的核心文件和目录结构。
/home 分区/home 分区是用于存放用户主目录的分区。将用户数据和设置分离到独立的分区可以方便进行备份和恢复。
/boot 分区/boot 分区是存放启动所需文件的分区,包括内核、引导加载程序和配置文件。
交换分区交换分区是用于虚拟内存(Swap)的分区。当系统内存不足时,部分数据可以转移到交换分区以释放内存。

在实际使用中,可以根据需求和实际情况选择适当的磁盘分区方案。分区的大小、数量和布局应根据系统的需求、硬件配置和预期的用途来进行规划。可以使用一些工具如 fdisk、parted 等来进行分区的创建和管理。

相关命令

在 Linux 系统中,你可以使用以下几种命令来查看已经存在的磁盘分区,这些命令可以帮助你查看和了解系统中已存在的磁盘分区的信息。但是需要注意,在使用这些命令时,可能需要使用超级用户权限(使用 sudo 前缀)来访问有关硬件和分区的详细信息。

fdisk 命令:fdisk 是一个强大的命令行工具,用于分区表的创建和管理。你可以使用以下命令查看磁盘分区信息:

sudo fdisk -l

上述命令将列出系统中所有硬盘的分区信息,包括设备名称、分区类型、起始和结束扇区等。
在这里插入图片描述

parted 命令:parted 是一个分区编辑器,提供了更高级的功能和交互界面。你可以使用以下命令启动 parted,然后检查分区信息:

sudo parted
(parted) print all

上述命令将打印出所有磁盘的分区信息,包括分区号、起始和结束扇区、文件系统类型等。
在这里插入图片描述

lsblk 命令:lsblk 命令用于列出块设备的信息,包括磁盘和分区。你可以使用以下命令查看磁盘和分区的层次结构:

lsblk

上述命令将显示系统中所有块设备的层次结构,包括磁盘、分区和挂载点。
在这里插入图片描述

df 命令:df 命令用于显示文件系统的磁盘空间使用情况,包括分区的挂载点和可用空间。你可以使用以下命令查看分区的挂载点和空间使用情况:

df -h

上述命令将显示已挂载的文件系统的使用情况,包括分区的挂载点、总空间、已用空间和可用空间。
在这里插入图片描述

相对路径和绝对路径

在这里插入图片描述

在计算机系统中,相对路径和绝对路径是用于定位文件或目录位置的两种不同方式。

  • 相对路径:相对路径是相对于当前工作目录(当前所在位置)的路径。它描述了如何从当前位置导航到目标文件或目录的路径。相对路径没有以根目录(/)开头。

例如,假设当前工作目录是/home/user/,而目标文件位于同一目录下的documents/file.txt,那么相对路径就是documents/file.txt。相对路径的优点是简洁,但需要确保当前工作目录的正确性,因为更改工作目录可能会影响相对路径的解析。

  • 绝对路径:绝对路径是从根目录(/)开始的完整路径,它提供了文件或目录在文件系统中的完整位置。

例如,一个文件的绝对路径可以是/home/user/documents/file.txt,其中/表示根目录,home是根目录下的子目录,依次类推。绝对路径的优点是确定性,不受当前工作目录的影响,可以准确地定位文件或目录。

无论是相对路径还是绝对路径,它们都用于在文件系统中定位文件或目录。选择使用哪种路径取决于具体的需求和使用场景。相对路径适用于在当前位置进行相对导航的情况,而绝对路径则提供了更确切和独立的位置信息。

文件权限

用户分类

在Linux中,文件权限包括了对文件的读取、写入和执行的权限。文件权限按照用户分类,主要分为以下三个类别:

  1. 用户(User):用户是文件的拥有者,即文件的创建者或所有者。用户权限通常表示为文件权限中的第一组,用于指定文件所有者对文件的访问权限。

  2. 组(Group):组是用户的集合,可以将多个用户归为同一组。每个文件都可以属于一个主要组。组权限通常表示为文件权限中的第二组,用于指定文件所属组中的用户对文件的访问权限。

  3. 其他人(Other):其他人是除了文件所有者和所属组的用户之外的所有用户。其他人权限通常表示为文件权限中的第三组,用于指定其他用户对文件的访问权限。

在文件权限中,每个类别都有自己的权限设置,通常用以下符号来表示:

  • r(读取权限):表示可以读取文件内容。
  • w(写入权限):表示可以修改或写入文件内容。
  • x(执行权限):表示可以执行文件(对于可执行文件)或者进入该目录(对于目录)。

使用数字表示权限时,r、w、x 分别对应数字 4、2、1。通过将这些数字相加,可以表示不同类别的权限组合。例如,权限设置为 rwxr-x— 表示用户具有读取、写入和执行权限,组具有读取和执行权限,其他人没有任何权限。这种基于用户分类的文件权限系统,使得可以根据用户的身份和所属组来限制对文件的访问和操作,提供了一定的安全性和细粒度的权限控制。

umask

umask(用户文件创建掩码)在Linux中用于确定新创建文件或目录的默认权限的设置。它指定了在创建新文件或目录时,文件系统应该屏蔽的权限位。umask 的值是一个八进制数,用于表示禁止设置的权限位。它的计算方式是将所需的权限从完全权限(通常是 777)中减去。umask 的作用是确保新创建的文件和目录不会自动获得过于宽松的权限,从而提高系统的安全性。

默认情况下,umask 的值通常是 0002。这意味着在创建新文件时,其他人(其他用户)不会被授予写入权限,而对于新创建的目录,其他人没有写入和执行权限。

在这里插入图片描述

umask 值的具体设置可能因操作系统和用户环境而有所不同。某些系统可能使用不同的默认 umask 值,或者用户可能在其配置文件中自定义了 umask 值。要查看当前系统中的 umask 值,可以在终端中运行 umask 命令。它将显示当前的 umask 值。

如果需要更改 umask 值,可以使用 umask 命令。例如,要将 umask 设置为 0002,可以运行以下命令:

umask 0002

这将更改当前会话的 umask 值。如果要使更改永久生效,可以将 umask 值添加到 shell 的配置文件(例如 ~/.bashrc~/.profile)中。

创建文件权限计算方法

  1. 确定所需的权限。根据文件的需求,确定用户、组和其他人所需的权限,例如读取、写入和执行权限。

  2. 确定 umask 的值。

  3. 将所需权限转换为对应的八进制数。例如,读取权限(r)对应 4,写入权限(w)对应 2,执行权限(x)对应 1。

  4. 计算权限。对于每个权限位,将所需权限与 umask 的反码进行按位与操作,以获取最终的权限设置。

  5. 应用权限。使用 chmod 命令将计算得到的权限应用于文件。

例如,假设要创建一个文件,用户需要读取、写入和执行权限,组需要读取和执行权限,其他人不需要任何权限,并且当前的 umask 值是 0002。

计算步骤如下:

用户权限:rwx = 4 + 2 + 1 = 7
组权限:r-x = 4 + 0 + 1 = 5
其他人权限:— = 0 + 0 + 0 = 0

umask 的反码:0002 的反码是 0775。

计算结果:
用户权限:7 & ~0 = 7
组权限:5 & ~0 = 5
其他人权限:0 & ~2 = 0

最终的权限设置为:rwxr-x—。

然后,可以使用 chmod 命令将权限应用于文件:

chmod 750 filename

请注意,umask 的默认值通常是 0002,这意味着默认情况下其他人(其他用户)无法进行写入和执行操作。这样可以确保新创建的文件对其他人是只读的。

粘滞位

粘滞位(Sticky Bit)是一种特殊的权限位,用于设置目录的权限。当粘滞位设置在目录上时,只有目录所有者、文件所有者和超级用户能够删除或重命名该目录下的文件,即使其他用户对该目录拥有写权限。

粘滞位通常用于公共目录,例如 /tmp 目录,以确保只有文件的所有者能够删除或修改自己的文件,而其他用户不能删除或修改他人的文件。粘滞位可以通过设置目录的权限来启用,使用数字形式权限设置时,粘滞位的权限位表示为 1,使用符号形式权限设置时,粘滞位的符号为 “t” 或 “T”。

  • 当粘滞位设置为 “t” 时,表示粘滞位已启用,并且其他用户不能删除或重命名目录下的文件,即使他们对目录有写权限。
  • 当粘滞位设置为 “T” 时,表示粘滞位已启用,但其他用户可以删除或重命名目录下的文件,前提是他们对目录有写权限。

在这里插入图片描述

要启用粘滞位,可以使用 chmod 命令和数字形式或符号形式来设置目录的权限。以下是一些示例:

使用数字形式设置粘滞位为 “t”:

chmod 1755 directory

使用符号形式设置粘滞位为 “t”:

chmod +t directory

使用符号形式设置粘滞位为 “T”:

chmod +T directory

要检查目录是否设置了粘滞位,可以使用 ls 命令并查看权限列表。在粘滞位启用的目录中,权限列表中的最后一位会显示为 “t” 或 “T”。

总结

文章首先介绍了Linux中的目录相关知识,例如目录结构、磁盘分区等,然后对文件的权限等细节进行介绍,例如用户的分类,文件掩码以及创建文件权限的计算方式和粘滞位。希望文章对你有帮助!

在这里插入图片描述

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

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

相关文章

11-Docker-Redis集群部署

00-前言 在工作环境中,我们常常被要求配置多种集群,Redis 集群是最常见的入门需要掌握的集群配置方法,在之前的学习中,我们学习掌握了分布式存储的算法,本质上集群的部署就是通过分布式存储算法将数据分发部署好的不同…

2009-2018年全国各省财政透明度数据

2009-2018年全国各省财政透明度数据 1、时间:2009-2018年 2、指标:财政透明度 3、范围:31省 4、来源:财政透明度报告 5、指标解释: 财政透明度是公开透明的重要方面,体现了现代预算制度和法治政府的特…

09-MySQL主从复制

01-主从复制原理 MySQL主从复制是一种用于实现数据备份、读写分离和扩展性的技术。它基于二进制日志(Binary Log)来将主数据库上的更改操作同步到一个或多个从数据库。 MySQL主从复制的基本原理如下: 主服务器(Master&#xff0…

HTTP协议详解-下(Tomcat)

如何构造 HTTP 请求 对于 GET 请求 地址栏直接输入点击收藏夹html 里的 link script img a…form 标签 通过 form 标签构造GET请求 <body><!-- 表单标签, 允许用户和服务器之间交互数据 --><!-- 提交的数据报以键值对的结果来组织 --><form action&quo…

JAVA开源项目 于道前端项目 启动步骤参考

1. 安装 启动过程有9个步骤&#xff1a; 1.1 安装 Node JS , V18版本的 &#xff08;安装步骤省略&#xff09; 1.2 安装 npm install -g yarn &#xff0c;node JS里边好像自带npm &#xff0c;通过npm的命令安装 yarn 1.3 切换到项目中去安装&#xff0c;npm install &a…

5G网络切片,到底是什么?

网络切片&#xff0c;是5G引入的一个全新概念。 一看到切片&#xff0c;首先想到的&#xff0c;必然是把一个完整的东西切成薄片。于是&#xff0c;切面包或者切西瓜这样的画面&#xff0c;映入脑海。 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 然而…

如何做游戏软件开发?怎么和软件开发公司合作?

随着科技的发展和普及&#xff0c;游戏软件已经成为人们日常生活和工作中不可或缺的一部分&#xff0c;许多企业也开始涉足游戏软件开发领域&#xff0c;希望能够打造出一款受欢迎的游戏&#xff0c;那么&#xff0c;如何做游戏软件开发?怎么和软件开发公司合作呢?下面我们来…

【Data Grip】打开控制台编写sql语句

这里我从表打开&#xff08;也可以从其他地方打开都行&#xff0c;右键new,出现Query Console 点击即可)控制台&#xff0c;右键表 new 点击query console 在上面编写sql语句 编写完之后 点击绿色三角形运行

某平台简单尝试一次密码逆向

1、查看表单数据 发现密码加密 2、控制台搜索password 发现他在欺负我看不懂拼音 3、第一次断点调试失败 断点后随便填写账号密码登录&#xff0c;发现失败 4、控制台搜索 jiami 又找到了一个函数 5、断点成功 重新登录后断点成功 jiami function(password) {var e passw…

代码随想录训练营Day1:二分查找与移除元素

本专栏内容为&#xff1a;代码随想录训练营学习专栏&#xff0c;用于记录训练营的学习经验分享与总结。 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;二分查找与移除元素 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a…

Django之三板斧的使用,全局配置文件介绍,request对象方法,pycharm链接数据库,Django链接数据库,ORM的增删改查

【1】三板斧(3个方法)的使用 Httpresponse() 括号内写什么字符串&#xff0c;返回的就是什么字符串返回的是字符串 render(request&#xff0c; 静态文件 ) request是固定的静态文件是写在templates文件夹里面的&#xff0c;如&#xff0c;HTML文件 redirect( 重定向的地址 ) 重…

EfficientNet 系列网络学习

EfficientNet V1 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks 增加网络参数的方式有三种&#xff1a;深度、宽度和输入图像的分辨率。探究这三种方式对网络性能的影响&#xff0c;以及如何同时缩放这三种因素是 EifficentNet的主要贡献。 单独…

内核移植笔记 Cortex-M移植

常用寄存器 PRIMASK寄存器 为1位宽的中断屏蔽寄存器。在置位时&#xff0c;它会阻止不可屏蔽中断&#xff08;NMI&#xff09;和HardFault异常之外的所有异常&#xff08;包括中断&#xff09;。 实际上&#xff0c;它是将当前异常优先级提升为0&#xff0c;这也是可编程异常/…

【代码随想录】算法训练营 第二十天 第六章 二叉树 Part 6

654. 最大二叉树 题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回…

西部数码的域名如何实现DDNS功能

功能简介&#xff1a; 动态域名解析&#xff08;Dynamic DNS&#xff0c;简称DDNS&#xff09;可以让用户使用固定的域名来访问动态IP地址&#xff0c;解决因IP地址变化造成服务无法访问的情况。 本文将介绍如何使用西部数码的API实现DDNS功能&#xff0c;使您的域名始终指向您…

SpringCloudGateway--Sentinel限流、熔断降级

目录 一、概览 二、安装Sentinel 三、微服务整合sentinel 四、限流 1、流控模式 ①直接 ②关联 ③链路 2、流控效果 ①快速失败 ②Warm Up ③排队等待 五、熔断降级 1、慢调用比例 2、异常比例 3、异常数 一、概览 SpringCloudGateway是一个基于SpringBoot2.x的…

第一次pta认证P测试C++

第一题 试题编号&#xff1a;20210701-1 试题名称&#xff1a;标题统计 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 128.0MB 【问题描述】 小明阅读了一篇特别优美的英文文章&#xff0c;读到最后总结段落的时候&#xff0c;突发奇 想&#xff0c;想要数一数这个段落中…

python+pytorch人脸表情识别

概述 基于深度学习的人脸表情识别&#xff0c;数据集采用公开数据集fer2013&#xff0c;可直接运行&#xff0c;效果良好&#xff0c;可根据需求修改训练代码&#xff0c;自己训练模型。 详细 一、概述 本项目以PyTorch为框架&#xff0c;搭建卷积神经网络模型&#xff0c;训…

数据采集中的基本参数

分辨率(resolution) 分度数量越多则分辨率越高&#xff0c;测量精度也越高 区间(range) 模数转换所能处理模拟信号电平的极限 应尽量使输入与此区间匹配&#xff0c;物尽其用 信号极限幅度集合 所测信号的最大值和最小值 应与输入信号的最大值和最小值相接近 LSB 最低有效…