返回顶部
首页 > 资讯 > 操作系统 >linux在/下的定义和规范是什么
  • 936
分享到

linux在/下的定义和规范是什么

2023-06-29 05:06:09 936人浏览 泡泡鱼
摘要

今天小编给大家分享一下linux在/下的定义和规范是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Linux 和 UNI

今天小编给大家分享一下linux在/下的定义和规范是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

linux在/下的定义和规范是什么

Linux 和 UNIX 中的文件系统是一个以 / 为根的树状式文件结构,/ 是 Linux 和 UNIX 中的根目录,同样它也是文件系统的起点。所有的文件和目录都位于 / 路径下,包括我们经常听到的 /usr、/etc、/bin、/home 等。在早期的 UNIX 系统中,各个厂家都定义了自己文件系统的命名构成,比较混乱,而且难以区分。

为了避免在 Linux 系统上也出现这种命名混乱的问题,在 1994 年推出了 FSSTND(FileSystem Standard) 的 Linux 文件系统层次结构标准,后来 UNIX 团队把 FSSTND 发扬光大,成为了后来的 FHS(FileSystem Hierarchy Standard) 。

FHS 标准使得众多的 Linux distributions(Linux 发行版) 有了统一的文件系统命名标准,换一种说法:FHS 就是一种文件系统的命名标准。一般来说,Linux distributions 都需要遵循 FHS 规定的

  • 目录结构和目录内容

  • 文件类型的权限

但是,FHS 仅仅定义了两层规范,第一层是 / 下面的各个目录要放什么文件数据,比如 /etc 下面需要放设置文件,/bin/sbin 下面需要放可执行文件等;第二层是针对 /usr/var 这两个目录来定义的,比如 /usr/share 需要放共享数据,/var/log需要放系统登录文件等。

FHS 规范

首先先来介绍一下根目录的重要性和意义:

根目录是整个系统中最重要的一个目录,后续的目录都是以根目录为基础进行衍生,更重要的一点,根目录与开机、还原、系统修复有关,由于系统开机需要特定的环境,所以系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。所以 FHS 规定不要将根目录的分区大小设置的过大,实际上是越小越好,以减少出错率。

FHS 同样规定了根目录下面应该要有这些目录的存在。

/home 目录

/home 目录是系统默认的使用者主文件夹(home directory)。

/boot 目录

/boot 目录包含启动操作系统所需的静态文件,比如 Linux 内核,这些文件对系统的启动至关重要。Linux Kernel 常用的文件名为 vmlinuz, 但是如果你使用的是 grub2 这个开机程序,还会存在 /boot/grub2 这个目录。

我刚刚搭建完成的 Linux ,boot 下面是这样的。

linux在/下的定义和规范是什么

千万不要删除 /boot 目录,这样做可能会导致系统无法启动。

/dev 目录

/dev 目录都是一些设备节点,这些设备节点是 Linux 系统中的设备或者是内核提供的虚拟设备。这些设备节点同样也对系统正常运行至关重要。/dev 目录和子目录下的设备是字符设备和块设备。字符设备就是鼠标、键盘、调制解调器,块设备就是硬盘、软盘驱动器。存储 /dev 目录下的文件就相当于是存储某个设备。

比较重要的文件有

/dev/hda:主 IDE 通道上的主设备,当提到 IDE/ATA 硬盘时,主通道是第一和第二驱动器连接到主板或接口卡的通道。

/dev/hdb:主 IDE 通道上的从设备。

/dev/tty0:第一个虚拟控制台。虚拟控制台又被称为 VC,也称为虚拟终端 VT,是用于计算机用户界面的键盘和显示器的概念组合。

/dev/tty1:第二个虚拟控制台。

/dev/sda:主 SCSI 和 SATA 通道上的第一个设备。

/dev/lp0:第一个并行端口。

下面是我 Linux 下面的目录。

linux在/下的定义和规范是什么

/etc 目录

/etc 目录是为计算机本地的配置文件保留的,系统主要的配置文件都放在这个目录下,比如账号密码,服务的启停,一般来说,这个目录下面一般用户只有读权限,只有 root 用户具有修改权限(关于权限的问题,可以阅读笔者的上一篇文章 看完这篇 Linux 权限,通透了!)

/etc 下比较重要的几个文件有

/etc/modprobe.d内核驱动模块

/etc/passwd存储用户密码

/etc/fstab 存储挂载信息

/etc/issue存储系统启动是显示的内容

/etc 目录下不要存放二进制文件,二进制文件最好放在 /sbin/bin 中。

/etc 目录下有两个重要的文件,/etc/x11 用于存放 X Window 系统配置文件,例如 xorg.conf,/etc/opt 这个主要存放第三方协力软件 /opt 的相关配置文件。

linux在/下的定义和规范是什么

/lib 目录

系统的函数库有很多,而 /lib 目录就像一个仓库,它用于存放执行 /bin/sbin 中二进制文件所需要的库,这些共享库映像对于系统 boot 和执行根文件系统中的命令特别重要。

linux在/下的定义和规范是什么

/media 目录

media 是媒体的英文,也就是说 /media下可以存放用于可移动媒体(例如 USB、DVD、CD-ROM 和 Zip 磁盘)的安装点和子目录。

/mnt 目录

如果你想要暂时挂载某些额外的设备,你可以放在 /mnt 这个目录下,其实最早的时候,/mnt 用途和 /media 一样,只是后来有了 /media 之后,这个目录就被用来临时挂载了。

/opt 目录

/opt/ 目录为大多数应用程序软件包提供存储空间,将文件放置在 /opt/ 目录中的包会创建一个与包同名的目录。 反过来,该目录保存了原本会分散在整个文件系统中的文件,从而为系统管理员提供了一种简单的方法来确定特定包中每个文件的角色。

例如,如果 sample 是位于 /opt/ 目录中的特定软件包的名称,那么所有文件都放置在 /opt/sample/ 目录中的目录中,例如 /opt/sample/bin/ 表示二进制文件 和 /opt/sample/man/ 用于手册页。

linux在/下的定义和规范是什么

/proc 目录

/proc 目录本身是一个虚拟文件系统(virtual filesystem),他放置的数据是在内存中,比如系统核心信息,行程信息,周边设备已经网络状态等。因为这个目录下的数据都是在内存中的,所以本身不占用磁盘空间。

这个目录下比较重要的文件有 /proc/cpuinfo/proc/dma/proc/interrupts/proc/net/

linux在/下的定义和规范是什么

/sbin 目录

/sbin 目录存储 root 用户使用的可执行文件。/sbin 中的可执行文件在启动时使用,用于系统管理和执行系统恢复操作。除了 /bin 中的二进制之外,/sbin 还包含启动、恢复和修复系统所需要的二进制文件。

/sbin 目录下包含 arp、clock、halt、init、grub、ifconfig、route、shutdown 等。

linux在/下的定义和规范是什么

/tmp 目录

这个目录下面存放的都是一些临时文件,这些文件在系统重新启动时被清除。

linux在/下的定义和规范是什么

/sys 目录

这个目录其实和 /proc 非常类似,也是一个虚拟文件系统,主要是记录核心与系统硬件相关信息。这个目录同样也不占用磁盘空间。

linux在/下的定义和规范是什么

/usr 目录

/usr 目录是需要好好聊聊得一个目录了,很多读者都误以为 /usr 是 user 的缩写,其实 usr 是 Unix Software Resource 的缩写,FHS 建议软件开发者应该将数据合理的放置在这个目录的次目录下,不要自己创建软件独立的目录。

所有系统默认的软件都会放在 /usr 下面,因此这个目录有点类似 windows 中的 C:\Windows\ + C:\Program files\ 这两个目录的综合,一般来说,系统刚安装完毕后,这个目录会占用较多的磁盘容量,/usr 的次目录建议有下面这些内容

*/usr/binusr/lib/*基本上,与 /lib 功能相同,所以 /lib 就是链接到这个目录中的。

/usr/local 系统管理员在在本机下载的软件都建议安装到这个目录下,便于管理。

/usr/sbin 非系统正常运行所需要的系统指令,最常见的就是某些网络服务器软件的服务指令,不过基本功能与 /sbin 差不多,因此目前 /sbin 就是链接到此目录中的。

/usr/share 共享文件放置区,这个目录下还有这些次目录 /usr/share/man ,/usr/share/doc,/usr/share/zoneinfo

/usr/games 与游戏相关的数据放置处

/usr/include C/C++ 等程序语言的 header 和 include 放置处,也是直接链接的。

/usr/src 一般源码建议放在这,src 是 source 的意思,至于核心源码则建议放在 /usr/src/linux 目录下。

linux在/下的定义和规范是什么

/run 目录

早期的 FHS 规定系统开机后所产生的各项信息应该要放置到 /var/run 目录下,新版的 FHS 则规范到 /run 下面。

/var 目录

如果说 /usr 是安装时会占用较大磁盘容量的目录,那么 /var就是在系统运行后才会渐渐占用磁盘容量的目录。/var 主要包括高速缓存、登录文件以及某些软件运行所产生的的目录,包括程序文件,例如 MySQL 数据库文件等,常见的目录有

/var/cache 应用程序缓存目录

/var/crash 系统错误信息

/var/log 日志记录

/var/run 进程的标识数据

/var/tmp 临时文件目录

/var/lock 文件定记录

linux在/下的定义和规范是什么

/srv 目录

srv 可以看做 service 的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录,常见的服务例如 WWW, FTP 。

Centos 7 在目录的编排上与过去的版本不同,上面已经大致描述过了,这里做个汇总,比较大的差异就是将许多原本应该在根目录里面的目录,将全部数据挪到了 /usr 里面去,然后进行链接设置,这些内容包括

  • /bin -> /usr/bin

  • /sbin -> /usr/sbin

  • /lib -> /usr/lib

  • /lib64 -> /usr/lib64

  • /var/lock -> /run/lock

  • /var/run -> /run

为了方便大家直观的看到这些目录都是做什么的,我手绘了一个图,图中的这些目录之间的关系很像一棵树,所以这个目录又叫做目录树。

linux在/下的定义和规范是什么

这个目录树已经很清晰了,就没什么可说的了。

绝对路径和相对路径

和其他系统一样,Linux 中的路径也分为绝对路径(absolute)和相对路径(relative),这两种的写法依据如下:

  • 由根目录开始的路径都是绝对路径,比如上图目录树中的 /boot、/usr/local 等

  • 相对于当前文件路径的写法是相对路径,比如 …/var/log 目录

这里需要注意一点,相对路径是以你当前所在路径的相对位置来移动的,比如你当前在 /boot 这个目录下,你想要移动到 /usr/src 这个目录

绝对路径表示法:/usr/src

相对路径表示法:…/usr/src

这里还需要注意两个特殊的目录:

  • . :代表当前目录,也可以使用 ./ 来表示

  • … :代表上一层目录,也可以用 …/ 来表示

关于绝对路径和相对路径的取舍问题:当文件路径很长时,推荐使用相对路径,因为你不用向绝对路径一样,把所有的路径都写一遍,而直接使用 …/ 即可;

但是从文件路径的正确性来说,绝对路径要比相对路径要好。

如果你是在写程序来管理系统,务必使用绝对路径,因为绝对路径不管你的文件路径在哪,都会找到指定的文件;而相对路径如果文件移动后,就可能会存在找不到文件的情况。

与目录有关的指令

下面我们就来聊一聊和目录相关的几条指令

cd

cd 就是 change directory 的缩写,这条指令能够切换当前工作目录,有下面四种切换方式

cd /路径名 # 表示切换到指定的工作目录cd ./ # 表示切换到当前工作目录(无任何切换)cd .. # 表示切换到当前工作目录的上一层目录cd ~ # 表示返回到当前用户目录

下面我们来演示一下这四个 cd 切换方式的操作

linux在/下的定义和规范是什么

可以看到,我们分别使用 cd /usr/local 切换到了指令目录下;使用 cd ./ 没有切换任何目录(白浪费了两秒钟);使用 cd … 切换到了当前工作目录的上一级;使用 cd ~ 切换到了当前登录用户的默认工作目录。

这里需要注意的就是 cd ~ ,如果你直接使用 cd ,切换效果和 cd ~ 一样,也就是说 "cd ~ == cd "。

pwd

上面还有一条指令是 pwd ,这个指令是我们最常用的指令,它的使用频率几乎和 cd 一样,因为一条 cd 指令往往后面跟着一条 pwd 指令,所以你可以看出 pwd 指令有多么重要了把。

pwd 是 Print Working Directory 的缩写,它是打印出当前所在目录的指令。

但是 pwd 不一定只用于显示当前工作路径,它还可以用来显示指定工作目录下的文件路径

linux在/下的定义和规范是什么

不过这个指令好像没什么用,因为我们已经知道工作目录下的路径了,还打印出来做什么呢?

mkdir

mkdir 用于创建新目录,它是 make directory 的缩写,一般来说,它后面会跟着两个参数。

  • -m :设置文件的权限,直接设置,不用考虑默认文件的创建权限

  • -p :递归创建目录

下面是使用 mkdir 创建文件目录的操作

linux在/下的定义和规范是什么

如上图所示,我们在 /tmp 文件目录下创建了一个叫做 test1 的空目录,并打印出了当前的工作目录。

如果你想要创建不想让其他用户访问的目录,你可以使用下面的命令

mkdir -m 711 test2

linux在/下的定义和规范是什么

上图中的 ls -ld 列出文件目录的详细信息,可以看到,详细信息最前面的是文件的权限。

一个一个创建目录太麻烦了,现在我们想要快速创建这些目录,比如我们想要创建 /test1/test2/test3/test4 这种目录格式,我们使用了下面代码

linux在/下的定义和规范是什么

Linux 会提出我们不能使用这种创建方式。

此时就需要 -p 这个参数的出现了,这个参数能够允许我们递归创建目录,如下所示

linux在/下的定义和规范是什么

只不过使用 -p 这种方式并不推荐使用,因为很容易打错字。。。

rmdir

rmdir 用于删除空目录,它的使用和 mkdir 非常类似,mkdir -p 用于递归创建目录,同样的,rmdir -p 也能够递归删除目录。如下图所示

linux在/下的定义和规范是什么

这里需要注意,rmdir 只是删除空目录,这也意味着目录里面有内容的话是无法删除的,那该如何删除呢?可以直接使用 rm -r 来进行删除。

mv

使用 mv 能够修改目录的名称,比如我们创建了一个叫做 test 的目录,后来我们觉得这个目录无法体现出来它的所有者,我们想要改一下它的名字,这时候就可以使用 mv 指令就可以修改。

linux在/下的定义和规范是什么

在了解完基本的目录操作之后,下面来想一个问题,为什么我们能够在各种目录下执行 ls 指令都能够显示内容?按理说 ls 不应该只是在其存放路径下才能够使用吗?

首先大家需要先了解一个 PATH 的概念,PATH 是环境变量,当我们在执行一条指令的时候,首先系统会按照 PATH 的设置去每个 PATH 下搜寻文件名为 ls 的可执行文件,如果有多个可执行文件,那么优先搜索到的先被执行。

以上就是“linux在/下的定义和规范是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网操作系统频道。

--结束END--

本文标题: linux在/下的定义和规范是什么

本文链接: https://lsjlt.com/news/322597.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux在/下的定义和规范是什么
    今天小编给大家分享一下linux在/下的定义和规范是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Linux 和 UNI...
    99+
    2023-06-29
  • python类名定义规范是什么
    Python类名的定义规范通常遵循以下约定:1. 类名应该采用大写字母开头的驼峰命名法,即每个单词的首字母大写,不使用下划线。例如:...
    99+
    2023-09-23
    python
  • Golang变量定义的规范和技巧
    Golang中变量定义的规范与技巧 概述:在Golang中,变量是程序中最基本的数据存储单元。正确使用变量定义的规范和技巧可以提高代码的可读性、可维护性和性能。本文将介绍一些Golang中变量定义的规范和技巧...
    99+
    2024-01-13
    Golang 变量定义 规范与技巧
  • linux命令的注释规范是什么
    Linux命令的注释规范可以按照以下方式进行: 命令说明:在注释中简要描述命令的功能和用途。可以包括命令的基本语法和参数等信息。...
    99+
    2023-10-27
    linux
  • 深入探索Python标识符的定义和规范
    深入了解Python标识符的定义与规则,需要具体代码示例Python是一种简洁而强大的编程语言,具有广泛的应用领域。在Python编程中,标识符起着至关重要的作用。本文将深入探讨Python标识符的定义与规则,并提供具体的代码示例,帮助读者...
    99+
    2023-12-29
    规则 定义 Python标识符
  • CSS的命名和书写规范是什么
    这篇“CSS的命名和书写规范是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS的命...
    99+
    2024-04-02
  • php变量定义的规则是什么
    在PHP中,变量定义的规则如下:1. 变量名必须以美元符号($)开头,后面跟着变量的名称。2. 变量名必须以字母或下划线开头,后面可...
    99+
    2023-09-27
    php
  • JavaScript变量定义规则是什么
    JavaScript变量的定义规则如下:1. 变量名必须以字母、下划线(_)或美元符号($)开头。2. 变量名可以包含字母、数字、下...
    99+
    2023-10-12
    JavaScript
  • linux中Shell脚本编程规范是什么
    这篇文章主要介绍了linux中Shell脚本编程规范是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码风格规范开头有“蛇棒”所谓shebang其实就是在很多脚本的第一行...
    99+
    2023-06-15
  • HTML的基础规范是什么
    这篇文章主要介绍“HTML的基础规范是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML的基础规范是什么”文章能帮助大家解决问题。 HTML是一个弱势语...
    99+
    2024-04-02
  • html5是属于什么的规范
    这篇文章主要介绍了html5是属于什么的规范,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。html5属于Web中核心语言HTML的规范;ht...
    99+
    2024-04-02
  • MySQL的语法规范是什么
    MySQL的语法规范如下:1. 关键字不区分大小写:MySQL的关键字不区分大小写,但是为了提高代码可读性,建议使用大写字母表示关键...
    99+
    2023-08-20
    MySQL
  • Python类变量的定义规则是什么
    Python类变量的定义规则如下: 类变量是在类定义中直接声明的变量,通常位于类的方法之外。 类变量可以被所有类的实例共享,也可以...
    99+
    2023-10-21
    python
  • linux的百度定义是什么
    本篇文章给大家分享的是有关linux的百度定义是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和...
    99+
    2023-06-06
  • c语言常量定义的规则是什么
    c语言中常量定义的规则如下: 整型常量:可以是十进制、八进制、十六进制或二进制形式的数字,例如10、075、0xA、0b101。 ...
    99+
    2024-04-02
  • Redis使用规范和监控方法是什么
    这篇文章主要讲解了“Redis使用规范和监控方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis使用规范和监控方法是什么”吧!一、前言在互联网...
    99+
    2024-04-02
  • c语言常量定义规则是什么
    C语言常量定义规则如下:1. 整数常量:整数常量可以是十进制、八进制或十六进制形式。十进制整数常量由0-9的数字组成;八进制整数常量...
    99+
    2023-08-16
    c语言
  • web前端开发的规范是什么
    这篇文章主要为大家展示了“web前端开发的规范是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“web前端开发的规范是什么”这篇文章吧。 web前端开发有...
    99+
    2024-04-02
  • java代码规范的作用是什么
    java代码规范的作用是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。代码规范有什么意义1.一个软件的生命周期中,80%的花费在于维护,代码规范降低了金钱成本和时间成本...
    99+
    2023-06-02
  • python字典合并的规范是什么
    本篇内容介绍了“python字典合并的规范是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、字典合并返回新字典,该字典由左操作数和右操...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作