【Linux进阶】Linux目录配置,FHS

news2024/10/7 11:30:40

        在了解了每个文件的相关种类与属性,以及了解了如何修改文件属性与权限的相关信息后,再来要了解的就是,为什么每个Linux发行版它们的配置文件、执行文件、每个目录内放置的东西,其实都差不多?原来是有一套标准依据,我们下面就来看一看。

1. Linux目录配置的依据——FHS

        因为利用Linux来开发产品或发行版的社区、公司及个人实在太多了,如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。你能想象,你进入一个企业之后,所接触到的Linux目录配置方法竟然跟你以前学的完全不同吗?很难想象吧!所以,后来就有所谓的Filesystem Hierarchy Standard (FHS)标准的出炉。

        根据FHS的标准文件指出,它们的主要目的是希望让用户可以了解到已安装软件通常放置于哪个目录下,所以它们希望独立的软件开发商、操作系统制作者以及想要维护系统的用户,都能够遵循FHS 的标准。

        也就是说,FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。这样做好处非常多,因为Linux 操作系统就能够在既有的面貌下(目录架构不变)发展出开发者想要的独特风格。

        事实上,FHS是根据过去的经验一直在持续地改版,FHS依据文件系统使用的频繁与否与是否允许用户随意修改,而将目录定义成为四种交互作用的形态,用表格来说有点像下面这样:

可分享(shareable)不可分享(unshareable)
不变(static)/usr(软件存放处)/etc(配置文件)
/opt(第三方辅助软件)/boot(启动与内核文件)
可变动(variable)/var/mail(用户邮箱)/var/run(程序相关)
/var/spool/news(新闻组)/ar/lock(程序相关)

上表中的目录就是一些代表性的目录,该目录下面所放置的数据在下面会谈到,这里先略过不谈。我们要了解的是,那四个类型是什么?

  • 可分享:可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是
  • 能够分享给网络上其他主机挂载用的目录;
  • 不可分享:自己机器上面运行的设备文件或是与程序有关的socket文件等,由于仅与自身
  • 机器有关,所以当然就不适合分享给其他主机;
  • 不变:有些数据是不会经常变动的,跟随着发行版而不变动。例如函数库、文件说明、系统
  • 管理员所管理的主机服务配置文件等;
  • 可变动:经常修改的数据,例如日志文件、一般用户可自行接收的新闻组等。

事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这三个目录的定义:

  • /(root,根目录):与启动系统有关;
  •  /usr (unix software resource):与软件安装/执行有关;
  • /var (variable):与系统运行过程有关;

        为什么要定义出这三层目录?

        其实是有意义的,每层目录下面应该要放置的目录也都有特定的规定。由于我们尚未介绍完整的Linux系统,所以下面的介绍你可能会看不懂。没关系,先有个概念即可。

这个root在Linux里面的意义很多很多,多到让人搞不懂那是啥玩意儿。

  • 如果以账号的角度来看,所谓的root指的是系统管理员的身份,
  • 如果以目录的角度来看,所谓的root意即指的是根目录,就是/,要特别留意。

2.根目录(/)的意义与内容

        根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来,同时根目录也与启动、还原、系统修复等操作有关。

                由于系统启动时需要特定的启动软件、内核文件、启动所需程序、函数库等文件数据,若系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行,因为根目录这么重要,所以在FHS的要求方面,它希望根目录不要放在非常大的分区内,因为越大的分区你会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。

        因此FHS 标准建议:根目录(1)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。如此不但性能较佳,根目录所在的文件系统也较不容易发生问题。

        有鉴于上述的说明,因此 FHS 定义出根目录(/)下面应该要有下面这些子目录的存在才好,即使没有物理目录,FHS也希望至少有链接(link)目录存在才好。
 

第一部分:FHS 要求/下必须要存在的目录
目录应放置文件内容
/bin

系统有很多存放执行文件的目录,但/bin比较特殊。

因为/bin放置的是在单人维护模式下还能够被使用的命令。

在/bin下面的命令可以被 root 与一般账号所使用,主要有:cat、chmod、chown、date、mv、mkdir、cp、bash等常用的命令

/boot这个目录主要在放置启动会使用到的文件,包括Linux内核文件以及启动选项与启动所需配置文件等。Linux内核常用的文件名为:vmlinuz,如果使用的是grub2这个启动引导程序,则还会存在/boot/grub2/这个目录
/dev在Linux系统上,任何设备与接口设备都是以文件的形式存在于这个目录当中。你只要通过读写这个目录下面的某个文件,就等于读写某个设备,比较重要的文件有/dev/null、/dev/zero、/dev/tty、/dev/loop*、/devlsd*等
/etc

系统主要的配置文件几乎都放置在这个目录内,例如人员的账号密码文件、各种服务的启动文件等。

一般来说,这个目录下的各文件属性是可以让一般用户查看的,但是只有root有权力修改。

FHS建议不要放置可执行文件(binary)在这个目录中

比较重要的文件有:/etc/modprobe.d/、/etc/passwd、/etc/fstab、letc/issue等。另外FHS 还规范几个重要的目录最好要存在/etc/目录下:

  • letclopt(必要):这个目录在放置第三方辅助软件/opt的相关配置文件;
  • /etc/X11/(建议):与XWindow 有关的各种配置文件都在这里,尤其是xorg.conf这个X Server的配置文件;
  • /etc/sgml/(建议):与SGML格式有关的各项配置文件;
  • /etc/xm/(建议):与XML格式有关的各项配置文件
/lib

系统的函数库非常多,而/lib放置的则是在启动时会用到的函数库,以及在/bin或/sbin 下面的命令会调用的函数库而已。

什么是函数库?

你可以将它想成是外挂,某些命令必须要有这些外挂才能够顺利完成程序的执行之意,另外FSH 还要求下面的目录必须要存在:

  • /ib/modules/:这个目录主要放置可抽换式的内核相关模块(驱动程序)
/media

media 是媒体的英文,顾名思义,这个/media 下面放置的就是可删除的设备,包括软盘、光盘、DVD等设备都暂时挂载于此。

常见的文件名有:/media/floppy、/media/cdrom等

/mnt如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。在早些时候,这个目录的用途与/media相同。只是有了/media之后,这个目录就暂时用来挂载
/opt

这个是给第三方辅助软件放置的目录。

什么是第三方辅助软件?

举例来说,KDE这个桌面管理系统是一个独立的软件,不过它可以安装到Linux系统中,因此KDE的软件就建议放置到此目录下。另外,如果你想要自行安装额外的软件(非原本的发行版提供),那么也能够将你的软件安装到这里来。不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下

/run早期的FHS规定系统启动后所产生的各项信息应该要放置到/var/run目录下,新版的FHS则规范到/run下面,由于/run可以使用内存来模拟,因此性能上会好很多
/sbin

Linux有非常多命令是用来设置系统环境的,这些命令只有root才能够用来设置系统,其他用户最多只能用来查询而已。

放在/sbin 下面的为启动过程中所需要的,里面包括了启动、修复、还原系统所需要的命令。

至于某些服务器软件程序,一般则放置到lusr/sbin/当中。至于本机自行安装的软件所产生的系统执行文件system binary),则放置到usr/local/sbin/当中了。

常见的命令包括:fdisk、fsck、ifconfig、mkfs等

/srv

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

举例来说,WWW服务器需要的网页数据就可以放置在/svIww/里面。不过,系统的服务数据如果尚未要提供给因特网任何人浏览的话,默认还是建议放置到NvarNib下面即可

/tmp这是让一般用户或是正在执行的程序暂时放置文件的地方。这个目录是任何人都能够存取的,所以你需要定期地清理一下。当然,重要数据不可放置在此目录。因为FHS 甚至建议在启动时,应该要将/tmp下的数据都删除
/usr第二层FHS设置,后续介绍
/var第二层FHS设置,主要为放置变动性的数据,后续介绍

 

第二部分:FSH建议/可以存在的目录
/home

这是系统默认的用户家目录(home directory )。在你新增一个一般用户账号时,默认的用户家目录都会规范到这里来,比较重要的是家目录有两种代号:

  • ~:代表目前这个用户的家目录;
  • ~dmtsai:则代表dmtsai的家目录
/lib<qual>用来存放与 /lib不同的格式的二进制函数库,例如支持64位的 /lib64函数库等
/root系统管理员(root)的家目录,之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中

看看我的根目录,跟上面对一对吧


事实上FHS针对根目录所定义的标准就仅有上面的东西,不过我们的Linux下面还有许多目录你也需要了解一下。下面是几个在 Linux当中也非常重要的目录:

目录应放置文件内容
/lost+found这个目录是使用标准的ext2、ext3、ext4文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些遗失的片段放置到这个目录下,不过如果使用的是xfs文件系统的话,就不会存在这个目录
/proc

这个目录本身是一个虚拟文件系统(virtual filesystem),它放置的数据都是在内存当中,例如系统内核、进程信息(process)、外接设备的状态及网络状态等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间。

比较重要的文件如:/proc/cpuinfo、/proc/dma、/proc/interrupts、/proc/ioports、/proc/net/*等

/sys

这个目录其实跟proc非常类似,也是一个虚拟的文件系统,主要也是记录内核与系统硬件信息相关的内容。

包括目前已加载的内核模块与内核检测到的硬件设备信息等,这个目录同样不占硬盘容量


早期Linux在设计的时候,若发生问题时,恢复模式通常仅挂载根目录而已,因此有五个重要的目录被要求一定要与根目录放置在一起,那就是/etc、/bin、/dev、/lib、/sbin这五个重要目录。

        现在许多的Linux发行版由于已经将许多非必要的文件移出了/usr之外,所以/usr也是越来越精简,同时因为/usr 被建议为“即使挂载成为只读,系统还是可以正常运行”的模样,所以恢复模式也能同时接载/usr。

例如我们的这个CentOS7.x版本在恢复模式的情况下就是这样,因此那个五大目录的限制经被打破了。例如CentOS7.x就已经将/sbin、/bin、/ib通通移动到了/usr下面。
 

3./usr 的意义与内容

        依据FHS的基本定义,/usr 里面放置的数据属于可分享与不可变动(shareable,static),如果你知道如何通过网络进行分区的挂载(例如在服务器篇会谈到的NFS服务器),那么/usr确实可以分享给局域网络内的其他主机来使用。

        很多读者都会误以为/usr为user的缩写,其实usr是UNIX Software Resource的缩写,也就是UNy操作系统软件资源所放置的目录,而不是用户的数据,这点要注意。

        FHS建议所有软件开发者,应该将他们的数据合理地分别放置到这个目录下的子目录,而不要自行建立该软件自己独立的目录。

        因为是所有系统默认的软件(发行版发布者提供的软件)都会放置到/usr下面,因此这个目录有点类似Windows系统“C:\Windowsl(当中的一部分)+C:\Program Files\”这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。

        一般来说,/usr的子目录建议有下面这些。

FHS要求必须存在的目录
/usr/bin所有一般用户能够使用的命令都放在这里。目前新的CentOS7已经将全部的用户命令放置于此,而使用链接文件的方式将/bin 链接至此。也就是说,/ust/bin与/bin 是一模一样的。另外,FHS要求在此目录下不应该有子目录
/usr/lib/基本上,与Nlib功能相同,所以/lib就是链接到此目录中的
/usr/local/系统管理员在本机安装自己下载的软件(非发行版默认提供者),建议安装到此目录,这样会比较便于管理。举例来说,你的发行版提供的软件较旧,你想安装较新的软件但又不想删除旧版,此时你可以将新版软件安装于/usr/local/目录下,可与原先的旧版软件有分别。你可以自行到/usr/local去看看,该目录下也是具有bin、etc、sinclude、lib.的子目录
/usr/sbin/非系统正常运行所需要的系统命令,最常见的就是某些网络服务器软件的服务命令(daemon)。不过基本功能与/sbin也差不多,因此目前/sbin就是链接到此目录中的
/usr/share/

主要放置只读的数据文件,当然也包括共享文件,在这个目录下放置的数据几乎是不分硬件架构均
可读取的数据,因为几乎都是文本文件。在此目录下常见的还有这些子目录:

  • /usr/share/man:在线帮助文件;
  • /usr/share/doc:软件的说明文档;
  • /usr/share/zoneinfo:与时区有关的时区文件


 

FHS建议可以存在的目录
/usr/games/与游戏比较相关的数据放置处
/usr/include/c/c++等程序语言的头文件(header)与包含文件(include)放置处,当我们以Tarball方式(*.tar.gz的方式安装软件)安装某些程序时,会使用到里面的许多文件
/usr/libexec/某些不被一般用户常用的执行文件或脚本(script)等,都会放置在此目录中。例如大部分的X窗口下面的操作命令,很多都是放在此目录下
/usr/lib<qual>/与 /lib<qual>/功能相同,因此目前 /lib<qual>就是链接到此目录中
/usr/src/一般源代码建议放置到这里,src有source的意思。至于内核源代码则建议放置到/usr/src/Linux/
目录下


我的系统下面的/usr是这样子的

4./var的意义与内容

        如果说/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录。

        因为/var目录主要针对经常性变动的文件,包括缓存(cache)、日志文件(logfile)以及某些软件运行所产生的文件,包括程序文件(lock file、run file),或例如MySQL数据库的文件等。

常见的子目录有。

FHS 要求必须要存在的目录
/var/cache/应用程序本身运行过程中会产生的一些缓存
/var/lib/程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。举例来说,MySQL的数据库放置到/arlib/mysql而 rpm的数据库则放到/ar/ib/rpm中
/var/lock

某些设备或是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该设备时,就可能产生一些错误的状况,因此就得要将该设备上锁(lock),以确保该设备只会给单一软件所使用。

举例来说,刻录机正在刻录一张光盘,你想一下会不会有两个人同时在使用一个刻录机刻盘?如果两个人同时刻录,那光盘写入的是谁的数据?所以当第一个人在刻录时刻录机就会被上锁,第二个人就得要该设备被解除锁定(就是前一个人用完了)才能够继续使用,目前此目录也已经挪到/run/lock中

/var/log/重要到不行。这是日志文件放置的目录,里面比较重要的文件有/var/log/messages、/var/log/wtmp
(记录登录信息)等
/var/mail/放置个人电子邮箱的目录,不过这个目录也被放置到/var/spool/mai/目录中,通常这两个目录是互
为链接文件
/var/run/某些程序或是服务启动后,会将它们的PID放置在这个目录下,至于PID的意义我们会在后续章节
提到,与/run相同,这个目录链接到/run目录
/var/spool/这个目录通常放置一些队列数据,所谓的队列就是排队等待其他程序使用的数据,这些数据被使用后通常都会被删除。举例来说,系统收到新邮件会放置到/var/spool/mail/中,但用户收下该邮件后该封信原则上就会被删除,邮件如果暂时寄不出去会被放到/var/spool/mqueue/中,等到被送出后就被删除。如果是计划任务数据(crontab),就会被放置到/var/spool/cron/目录中

我的var目录

 


如果你还想了解更多,建议在你可以挑战FHS官方英文文档(参考本章参考资料),相信会让你对于Linux操作系统的目录有更深入的了解。

5.针对FHS,各家发行版的异同,与CentOS7的变化

        由于FHS仅是定义出最上层(/)及次层(/usr与Nar)的目录内容应该要放置的文件或目录数据,因此,在其他子目录层级内,就可以随开发者自行来配置。举例来说,CentOS 的网络设置数据放在/etc/sysconfig/network-scripts/ 目录下,但是 SUSE 则是将网络放置在 /etc/sysconfig/network/目录下,目录名称是不同的。不过只要记住大致的FHS标准,差异性其实有限。

        此外,CentOS7在目录的排列上与过去的版本不同。本节稍早之前已经介绍过,这里做个汇总。比较大的差异在于将许多原本应该要在根目录(/)里面的目录,将它内部数据全部移到/usr里面去,然后进行链接(link.)设置。包括下面这些:

  •  /bin --> /usr/bin
  • /sbin --> /usr/sbin
  • /lib --> /usr/lib
  • /lib64 --> /usr/lib64
  • /var/lock --> /run/lock
  • /var/run --> /run

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

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

相关文章

CentralCache中心缓存

目录 一.CentralCache基本结构 1.CentralCache任务 2.基本结构 二.函数调用层次结构/.h文件 三.Span和SpanList的封装 Span:大块内存跨度 PAGE_ID _pageId size_t _objSize _useCount SpanList:管理Span的双链表(桶锁) 四.获取大块内存GetOneSpan 五.FetchRangeObj输…

C语言作业笔记

1. 要找俩个数使其相加等于一个数&#xff0c;那么俩个数从头尾出发&#xff0c;先动一边&#xff0c;假设是尾先动&#xff0c;一开始俩个数相加大于sum&#xff08;小于的话就动头&#xff09;&#xff0c;那么总有一时刻俩数相加小于sum&#xff0c;则就在那一刻停下来&…

MySQL高可用(MHA高可用)

什么是 MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大…

机器学习与模式识别_清华大学出版社

contents 前言第1章 绪论1.1 引言1.2 基本术语1.3 假设空间1.4 归纳偏好1.5 发展历程1.6 应用现状 第2章 模型评估与选择2.1 经验误差与过拟合2.2 评估方法2.3 性能度量2.3.1 回归任务2.3.2 分类任务 2.4 比较检验2.5 偏差与方差2.5.1 偏差-方差分解2.5.2 偏差-方差窘境 第3章 …

In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking

文章目录 In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking背景关键点内容预处理Long-Term Recurrent CNNsLSTM-RNN模型训练实验data启示In Ictu Oculi: Exposing AI Created Fake Videos by Detecting Eye Blinking 会议:2018 IEEE International…

用Vue3和Rough.js绘制一个交互式3D图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于Rough.js和GSAP创建交互式SVG图形卡片 应用场景 本代码适用于需要创建动态交互式SVG图形卡片的场景&#xff0c;例如网页设计、数据可视化和交互式艺术作品。 基本功能 该代码利用Rough.js和GSAP库&…

数据分析入门指南:从基础概念到实际应用(一)

随着数字化时代的来临&#xff0c;数据分析在企业的日常运营中扮演着越来越重要的角色。从感知型企业到数据应用系统的演进&#xff0c;数据驱动的业务、智能优化的业务以及数智化转型成为了企业追求的目标。在这一过程中&#xff0c;数据分析不仅是技术的运用&#xff0c;更是…

在 PostgreSQL 中强制执行连接顺序#postgresql认证

让我们首先创建一些表&#xff1a; PgSQL plan# SELECT CREATE TABLE x || id || (id int) FROM generate_series(1, 5) AS id;?column? --------------------------CREATE TABLE x1 (id int)CREATE TABLE x2 (id int)CREATE TABLE x3 (id int)CREATE TABLE…

Richtek立锜科技车规级器件选型

芯片按照应用场景&#xff0c;通常可以分为消费级、工业级、车规级和军工级四个等级&#xff0c;其要求依次为军工>车规>工业>消费。 所谓“车规级元器件”--即通过AEC-Q认证 汽车不同于消费级产品&#xff0c;会运行在户外、高温、高寒、潮湿等苛刻的环境&#xff0c…

首获IF就高达13分!各刊潜力无限——爱思唯尔2024首获IF期刊大盘点!

【SciencePub学术】爱思唯尔&#xff08;Elsevier&#xff09;是一家全球知名的国际性学术出版公司&#xff0c;总部位于荷兰阿姆斯特丹。该公司主要出版科学、技术和医学领域的学术期刊和书籍&#xff0c;涵盖了广泛的学科领域&#xff0c;如生命科学、物理科学、社会科学等。…

Python面向对象编程中的继承及其应用

目录 1. 继承的基本概念 2. 继承的语法 3. 继承的应用场景 4. 使用示例&#xff1a;汽车销售系统 5. 总结 继承是面向对象编程中的一个重要概念&#xff0c;它允许我们根据已有类创建新类&#xff0c;并继承已有类的属性和方法。在本文中&#xff0c;我们将学习Python中的…

c++习题09-分离整数的各个数

目录 一&#xff0c;题目 二&#xff0c;思路 三&#xff0c;代码 一&#xff0c;题目 二&#xff0c;思路 一开始我想到的是将简单容易输出的1000以内的数先进行相应的运算&#xff0c;再输出之后再对1000以上的数字进行判断&#xff08;主要还是想先将很大的数变小&#x…

Java数字化产科管理系统源码,多家医院应用案例,可直接上项目

Java数字化产科管理系统源码&#xff0c;多家医院应用案例&#xff0c;可直接上项目 数字化产科管理平台系统是什么&#xff1f;该系统由产品包涵门诊管理、住院管理、统计管理、移动服务四大模块&#xff0c;新版本涵盖围产全过程&#xff0c;从建档、首检、复检、住院(待产、…

防爆智能手机如何解决危险环境下通信难题?

在化工厂、石油行业、矿山等危险环境中&#xff0c;通信安全一直是难题。传统手机因不具备防爆功能&#xff0c;可能引发火花、爆炸等安全风险&#xff0c;让工作人员在关键时刻难以及时沟通。但如今&#xff0c;防爆智能手机的出现彻底改变了这一现状&#xff01; 安全通信&am…

【WebGIS干货分享】Webgis 面试题-浙江中海达

1、Cesium 中有几种拾取坐标的方式&#xff0c;分别介绍 Cesium 是一个用于创建 3D 地球和地理空间应用的 JavaScript 库。在 Cesium 中&#xff0c;你可以使用不同的方式来拾取坐标&#xff0c;以便与地球或地图上的对象进行交 互。以下是 Cesium 中几种常见的拾取坐标的方式…

静态路由的配置

5.3静态路由 静态路由由网络管理员手动配置&#xff0c;配置方便&#xff0c;对系统要求低&#xff0c;适用于拓扑结构简单并且稳定的小型网络。缺点是不能自动适应网络拓扑的变化&#xff0c;需要人工干预。 5.3.1静态路由实验 1、实验需求 ① 掌握路由表的概念&#xff1…

服务器上VMWare Workstation虚拟机声卡支持

问题&#xff1a;联想服务器没有声卡&#xff0c;Windows 服务器安装了VMWare Workstation&#xff0c;里面的Windows 11虚拟机&#xff0c;我远程桌面上来&#xff0c;没有声卡&#xff0c;但是我想做 声音方面的测试就没办法。 解决办法&#xff1a; 服务器主机上安装虚拟机…

【3分钟准备前端面试】vue3

目录 Vue3比vue2有什么优势vue3升级了哪些重要功能生命周期变化Options APIComposition APIreftoRef和toRefstoReftoRefsHooks (代码复用)Vue3 script setupsetupdefineProps和defineEmitsdefineExposeVue3比vue2有什么优势 性能更好体积更小更好的TS支持更好的代码组织更好的逻…

CAAC无人机执照:视距内驾驶员与超视距驾驶员区别详解

CAAC无人机执照中的视距内驾驶员与超视距驾驶员在多个方面存在显著的区别。以下是详细的对比和解释&#xff1a; 1. 定义与操作范围&#xff1a; - 视距内驾驶员&#xff08;驾驶员证&#xff09;&#xff1a;操作无人机时&#xff0c;无人机必须在操控员的视线范围内&#xff…

什么是JavaScript中的箭头函数(arrow functions)?

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介什么是JavaScript中的箭头函数&#xff08;arrow functions&#xff09;&#xff1f;1. 引言2. 箭头函数的语法2.1 基本语法2.2 示例 3. 箭头函数的特点3.1 简洁的语法3.2 没有this绑定3.3 不能用作构造函数3.4 没有arguments对象3…