Linux基础【Linux知识贩卖机】

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

文章目录

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使命担当 守护安全 | 中睿天下获全国海关信息中心感谢信

近日,全国海关信息中心向中睿天下发来感谢信,对中睿天下在2023年网络攻防演练专项活动中的大力支持和优异表现给予了高度赞扬。 中睿天下对此次任务高度重视,紧密围绕全国海关信息中心的行动要求,发挥自身优势有效整合资源&#x…

vivado时序分析-2时序分析关键概念

时序分析关键概念 1、最大和最小延迟分析 时序分析属静态验证 , 旨在验证在硬件上加载并运行设计后 , 其时序行为的可预测性。它会将各种制造和环境变化因素组合到延迟模型中并按时序角及其变化量加以分组, 将所有这些要素一并纳入考量范围。…

[动态规划] (十三) 简单多状态 LeetCode 740.删除并获得点数

[动态规划] (十三) 简单多状态: LeetCode 740.删除并获得点数 文章目录 [动态规划] (十三) 简单多状态: LeetCode 740.删除并获得点数题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值 代码实现总结 740. 删除并获得点数 题目解析 (1) 给定一个整数数组。 (2) 选…

lvgl 转换和使用新字体

一、背景 如果lvgl 提供的默认字体不符合我们的显示要求,我们可以在网上下载开源字体,或者利用系统自带(注意版权问题)的字体文件转换lvgl 能识别和调用的字体。 或者为了压缩存储空间,某些字体我们只需要个别字符&…

【数据结构】堆排序和top-K问题

堆的实现源码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <stdlib.h> #include <time.h> #include <stdbool.h> #include <assert.h> typedef struct Heap {int* a;int size;int capacity; }Heap; void HeapInit(Heap* st) {…

nacos做服务配置和服务器发现

一、创建项目 1、创建一个spring-boot的项目 2、创建三个模块file、system、gateway模块 3、file和system分别配置启动信息,并且创建一个简单的控制器 server.port9000 spring.application.namefile server.servlet.context-path/file4、在根目录下引入依赖 <properties&g…

《UML和模式应用(原书第3版)》2024新修订译本部分截图

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 机械工业出版社即将在2024春节前后推出《UML和模式应用&#xff08;原书第3版&#xff09;》的典藏版。 受出版社委托&#xff0c;UMLChina审校了原中译本并做了一些修订。同比来说&a…

工业镜头接口类型

现有产品主要有以下接口 1、C:最常见的工业相机接口&#xff0c;受限于接口物理尺寸大小&#xff0c;最大靶面目前是4/3” 2、M42:M421.0,2k和4k线阵相机使用 3、M58S:M580.75,大靶面相机使用&#xff0c;可以转C(限于CH080相机&#xff0c;靶面4/3”)&#xff0c;可以转F,可以…

数据分析实战 | 多元回归——广告收入数据分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型构建 八、模型预测 九、模型评价 一、数据及分析对象 CSV格式的数据文件——“Advertising.csv” 数据集链接&#xff1a;https://download.csdn.net/d…

数据结构-双向链表

目录 1.带头双向循环链表&#xff1a; 2. 带头双向循环链表的实现&#xff1a; 双向链表初始化&#xff1a; 双向链表打印&#xff1a; 开辟节点函数&#xff1a; 双向链表头插&#xff1a; 双向链表尾插&#xff1a; 双向链表头删&#xff1a; 双向链表尾删&#xff…

C语言学习笔记之结构篇

C语言是一门结构化程序设计语言。在C语言看来&#xff0c;现实生活中的任何事情都可看作是三大结构或者三大结构的组合的抽象&#xff0c;即顺序&#xff0c;分支&#xff08;选择&#xff09;&#xff0c;循环。 所谓顺序就是一条路走到黑&#xff1b;生活中在很多事情上我们都…

景联文科技提供高质量人像采集服务,助力3D虚拟人提升逼真度

人像采集是一种通过特定设备或技术&#xff0c;对人的相貌、身材等特征信息进行收集和处理的过程&#xff0c;可应用于3D虚拟人领域。通过采集大量的人像数据&#xff0c;可以训练和优化人像识别算法&#xff0c;提高其准确性。 人像采集对于提高3D虚拟人的逼真度、个性化定制以…

【手把手教你】将python程序打包成exe可执行文件

1. 安装环境 pip install pyinstaller6.0.02. 打包文件 pyinstaller -D “要启动的文件名“.py比如我的命令就是&#xff1a;pyinstaller -D eval.py 执行完后&#xff0c;会生两个文件夹dist和bulib两个文件和一个xxx.spec文件 3. 删除生成的文件 删除生成的bulid和dist文…

Java学习 8.Java-递归

一、递归的概念 引例&#xff1a; 一个方法在执行过程中调用自身&#xff0c;就称为递归&#xff08;函数自己调用自己&#xff09; 递归相当于数学的数学归纳法&#xff0c;有一个起始条件&#xff0c;有一个递推公式 递归的必要条件 1.将原问题划分为子问题&#xff0c;…

使用数据分析,识别设备异常

设备健康监测系统在工业领域中扮演着至关重要的角色&#xff0c;它能够帮助企业及时发现设备异常&#xff0c;预防故障&#xff0c;提高设备使用寿命和生产效率。而异常诊断技术则是设备健康监测系统中的核心部分&#xff0c;能够实现对设备异常情况的准确判断。根据设备状态数…

AI:69-基于深度学习的音乐推荐

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

命令行远程操作windows

如遇安装python模块问题&#xff0c;请参考此连接处理&#xff1a;http://t.csdnimg.cn/l9W6f 一、命令行中使用ssh连接 1、安装 OpenSSH 客户端&#xff1a; 在 Windows 10 中&#xff0c;打开“设置”应用&#xff0c;选择“应用” > “可选功能” > “添加功能”。…

python- os模块

一、文件与目录相关的操作 1、删除文件/文件夹 2、os.stat("path/filename"): 获取文件/目录信息的结构说明 3、os.listdir 和 os.path.join 在Python中&#xff0c;os.listdir()和os.path.join()是操作系统模块&#xff08;os模块&#xff09;的两个函数&#x…

机器学习——奇异值分解案例(图片压缩未开始)

本想大迈步进入前馈神经网络 但是…唉…瞅了几眼&#xff0c;头晕 然后想到之前梳理的奇异值分解、主成分分析、CBOW都没有实战 如果没有实际操作&#xff0c;会有一种浮在云端的虚无感 但是如果要实际操作&#xff0c;我又不想直接调用库包 可是…如果不直接调包&#xff0c;感…

Python Opencv实践 - 车牌定位(纯练手,存在失败场景,可以继续优化)

使用传统的计算机视觉方法定位图像中的车牌&#xff0c;参考了部分网上的文章&#xff0c;实际定位效果对于我目前使用的网上的图片来说还可以。实测发现对于车身本身是蓝色、或是车牌本身上方有明显边缘的情况这类图片定位效果较差。纯练手项目&#xff0c;仅供参考。代码中im…