深度win10- 绿色安全免费的win10系统下载站

今日更新 | 一键重装系统

当前位置: > 系统教程

空间说说点赞神器-空间说说点赞软件免费赞器

认证系统 时间:2023-03-29 人气: 147

自助下单地址(拼多多砍价,ks/qq/dy赞等业务):点我进入

Linux 和Windows的文件系统有些不同,在学习使用 Linux 之前,若能够了解这些不同,会有助于后续学习。

本文先对Windows和 Linux 上面文件系统原理、组织概念进行区分,并给出例子、列举两者的优缺点以具体说明,最后较为详细地介绍了 Linux 系统的目录结构。

windows 不能加载本地存储的配置文件.此问题的可能原因_数据库可能产生的问题_女性膝盖痛的可能问题

Windows 和 Linux 文件系统

下面将介绍启动Windows和 Linux 后,在文件系统的角度上,它们分别是怎样看待自己世界的。

访问原理

在Windows系统中, 一切东西都是存放在硬盘上的。启动系统后,先确定硬盘,再确定硬盘上的分区以及每个分区所对应文件系统,最后是存放在某个分区特定的文件系统中的文件。 也就是说,Windows是通过“某个硬盘-硬盘上的某个分区-分区上的特定文件系统-特定文件系统中的文件”这样的顺序来访问到一个文件的。

但是与Windows不同, Linux 系统中的一切都是存放在唯一的 虚拟文件系统中的,这个 虚拟文件系统是树状的结构以一个根目录开始。启动系统后,先有这个 虚拟文件系统,再识别出各个硬盘, 再把某个硬盘的某个分区挂载到这个 虚拟文件系统的某个子树上(即分区用某个子目录来表示),再确定分区对应的子目录文件系统,最后的文件就存放在这个特定的文件系统中。 也就是说, Linux 系统是通过“虚拟文件系统-硬盘-硬盘上的分区-分区上的特定文件系统-特定文件系统中的文件”这样的顺序来访问一个文件的。

可能对习惯了使用Windows的用户来说, Linux 的方式有些不适应,它的 虚拟文件系统,实质就是一颗目录树windows 不能加载本地存储的配置文件.此问题的可能原因,最开始的目录叫做根目录,根目录中又有每一级子目录,或者文件,子目录又有子子目录和文件,其中每个子目录都特定的功能这个功能(这些是约定俗成了的,在后面 常用的重要目录 (See section 1.2.1) 中会详细说明)。

也许有人会问,没有这个虚拟文件系统就无法使用硬盘,可是最开始没有硬盘,那么这个 虚拟文件系统以及相应的组织结构是怎么存放起来的呢?这个问题,就像先有鸡还是先有蛋这个问题一样看似简单实则……但是,在 Linux 中,很轻易地跳出了这个思维循环,问题的答案并没在 虚拟文件系统 和 硬盘 这两者之间徘徊,而是第三者—— 内存 ,Linux系统启动起来之后,整个 虚拟文件系统的组织结构,都是随着每次内核系统的启动自动在内存中建立好了的,根本就不需要硬盘。

另外还要注意,就是在我们用户的角度上,无论在Windows还是 Linux 上面,都是使用路径来访问一个文件的。表示文件的路径由“文件所在的目录+各级目录的分隔符+文件”三个部分组成,这个策略在两者之间是一样的,所不同的是,Windows下面目录分隔符是 \ , Linux 下面是 / ,也许这也是两者之间为了表示其各自立场不同的一个原因吧?^_^

系统组织

在Windows系统中,我们可以把文件大体分为两种:系统文件和用户文件。一般来说系统文件(例如Windows操作系统本身,一些系统程序,程序运行所需的库文件,以及一些系统配置文件等)存放的默认位置在 C 盘,当然也可以在安装时候指定在其他盘;其它用户文件,包含用户后来安装的程序以及一些数据文件等,用户可以把它们随意存放在任意的分区。

在 Linux 系统中,主要有两个概念: 虚拟文件系统中的文件和 Linux操作系统内核 本身。逻辑上可以认为前者属于上层,后者在下层,前者基于后者,后者依赖前者而存在。 Linux 把除了它本身( Linux操作系统内核 )以外的一切事物都看作是在 虚拟文件系统中的文件了。无论是键盘,鼠标,数据,程序,CPU,内存,网卡……无论是硬件、软件、数据还是内存中的东西,我们都可以在 虚拟文件系统中的相应子目录对他们进行访问和操作,操作统一。而实现这些管理的幕后就是 Linux操作系统内核 本身:启动 Linux 系统的时候,首先电脑把 Linux操作系统内核 加载到内存中,内核本身提供了文件管理,设备管理,内存管理,CPU进程调度管理,网络管理等功能,等内核运行起来之后,就在内存中建立起相应的 虚拟文件系统,最后就是内核利用它提供的那些功能,通过管理文件的方式,来管理 虚拟文件系统中的硬件软件等各种资源了。

Linux 把提供操作系统本身功能(管理计算机软硬件资源)的那些部分划给了 Linux操作系统内核 ,使得Linux操作系统内核 成为一个独立的部分,有它自己独立的开源代码;而其它的一切(软件应用,硬件驱动,数据)都根据其特性有自己的开源代码、或者自由地组织并且存放在那个 虚拟文件系统中由 Linux操作系统内核 来管理。这样,将系统本身和系统所管理的资源分开,并开放源代码,有助于对系统或者系统所管理的资源进行灵活的定制和扩展,还能按需快速建立起只适合自己使用的操作系统,也利于操作系统本身的发展。实际 Ubuntu , Fedora , RedHat 等各种不同的 Linux 操作系统发行版,简单来说就是不同厂商对其文件系统和内核进行了不同的配置而产生的“大众化”的操作系统。相比之下,Windows就显得非常地零乱复杂,将系统、软件、硬件、数据都混在了一起,其不同版本只能由Microsoft 一家公司发行。

举例说明

下面用直观的例子,来说明两者的不同,以加深理解。假设我们的机器上面有一个硬盘,硬盘分为三个区。

在Windows系统中, 我们启动系统之后就会看到 C, D, E, 盘符,它们分别对应硬盘上的三个分区,增加硬盘,或者分区,会导致盘符的增加(注意由于历史原因, A, B 用于表示软驱,硬盘分区盘符从 C 开始按字母递增),这里的每个分区都各自可以被格式化为不同的文件系统(这里的文件系统,包括例如 NTFS 格式, FAT32 格式等),文件系统的基本功能就是为了存放文件的,不同文件系统区别一般在于管理其中存放的文件的功能的强弱,所以分区被格式化成指定格式的文件系统之后,就可以存放任何文件和目录了,我们看到的 C, D, E 内容也就对应了硬盘中相应分区的数据内容。

但是,与Windows中把硬盘分区看成 C, D, E 盘符不同, Linux 中最开始根本就没有硬盘的概念,就只有一个纯粹的 虚拟文件系统。如果想要使用哪个硬盘的某个分区,就把那个分区“挂载”到某个子目录之下,这样硬盘中的分区,文件系统windows 不能加载本地存储的配置文件.此问题的可能原因,目录等内容就呈现到了那个子目录里面。也就是说,在 Linux 中,我们使用硬盘中的数据,实际是先把硬盘的某个分区“挂载”到某个子目录下,然后通过那个子目录来访问的。这个例子中, 通常硬盘会对应 虚拟文件系统中的/dev/sda (如有多个硬盘,则为 /dev/sda, /dev/sdb, ……, 按字母递增), 其三个分区对应 /dev/sda1, /dev/sda2,/dev/sda3 (多个分区按数字递增,不同硬盘的分区,对应为 /dev/sdb1, /dev/sdb2 等等), 默认硬盘各个分区会被挂载到 虚拟文件系统系统中类似 /mnt/sda1/, /mnt/sda2/, /mnt/sda3/ 的目录(在 Linux 又叫挂载点)中,在/etc/fstab 文件中,我们可以找到分区文件和挂载点的对应关系描述。这样,硬盘相应的分区就做为整个 虚拟文件系统根目录下的一颗子树,反映到了子目录(挂载点)上,子目录中的内容就对应分区中的数据。

假设访问上述硬盘第三个分区 dir1 目录中的文件 test.file

Window系统上的路径:E:\dir1\test.file

Linux系统上的路径:/mnt/sda3/dir1/test.file

再有,假设用户安装和卸载一个程序 firefox :

可见, Linux 文件的存放和组织明显方式更高效,层次更分明。

优缺点

基于上述内容,Windows和 Linux 文件系统的各有优缺点分别如下。

Linux 系统缺点

最开始 虚拟文件系统中的每个子目录的功能是事先规定好了的,我们需要事先知道那些目录存放哪些文件,然后在相应的位置中创建自己的内容,这也是 Linux 系统入门门槛高的一个原因。当然,最开始的新手,也完全可以无视这一点,可以像Windows那样随意地创建目录和文件(尽管不推荐这么做)。

实际上最开始的目录也不多,主要就那么几个,花不了多长时间就会明白它们的作用的,而明白这些作用之后带来的好处,远不止付出那么多(本文后面 常用的重要目录 (See section 1.2.1) 会着重对此进行介绍)。

Linux 系统优点

这里只说几个优点:

Linux 上面的虚拟文件系统目录组织

实质上,我们启动系统所看到的“根目录”,逻辑上是 Linux 虚拟文件系统的根目录中的一个子目录,我们看不到除了这个“根目录”以外的其他的目录,那些目录和操作系统的具体实现相关是被操作系统内核隐藏起来了的,所以这里就介绍我们所能看到的文件系统中的“根目录”的各个子目录中的作用吧。

在 Linux 文件系统中的每一个子目录都有特定的目的和用途。一般都是根据 FHS 标准定义一个正式的文件系统结构的,这个标准规定了哪些目录应该哪些作用。这里我们先介绍一些日常经常用到的目录,然后给出 FHS 相关的内容。

常用的重要目录

这里,根据本人的使用经验,给出比较常见重要的一些目录,最开始我们对它们有所了解就可以了。随着对 Linux 使用的经验的加深,我们会了解越来越多的目录。对目录的功能知道得越多,我们对 Linux 系统的工p作原理就理解的越深刻,理解操作系统的工作原理,更助于我们更为规范地使用和理解系统中每个目录存在的意义,直至最后几乎知道系统中的每个文件……

├1/ 关于进程1的信息目录。每个进程在/proc 下一个名为其进程号的目录。

├cpuinfo 处理器信息,如类型、制造商、型号和性能。

├devices 当前运行的核心配置的设备驱动的列表。

├dma 显示当前使用的DMA通道。

├filesystems 核心配置的文件系统。

├interrupts 显示使用的中断,and how many of each there have been.

├ioports 当前使用的I/O端口。

├kcore 系统物理内存映象。与物理内存大小一样,但实际不占这么多内存;

├kmsg 核心输出的消息。也被送到syslog 。

├ksyms 核心符号表。

├loadavg 系统”平均负载”;3个没意义的指示器指出系统当前的工作量。

├meminfo 存储器使用信息,包括物理内存和swap。

├modules 当前加载了哪些核心模块。

├net 网络协议状态信息。

├self 到查看/proc 的程序的进程目录的符号连接。

├stat 系统的不同状态

├uptime 系统启动的时间长度。

└version 核心版本。

以上目录,是最常见的重要目录。其中,有些目录初学者容易混淆,这里简单区分一下:

/bin , /sbin 与 /usr/bin , /usr/sbin

/lib 与 /usr/lib

其他还一些目录例如: /home/user/bin, /home/user/opt, /home/user/etc, /usr/local/etc 等等,其作用都是类似于 /etc, /bin 等目录的,可能只是层次概念不同了,使用 Linux 时间长了,会逐渐体会到其中的含义。

当然,我们可以无视这些目录,像使用Windows那样自由的,不管啥文件,想往哪存就往哪存,还是那句话,使用 Linux 时间长了,会逐渐体会到其中的含义,到时候也许我们想要乱来都不行了呢。^_^

对文件系统目录的分类标准

在大多数 Linux 系统上面,我们可以使用一个命令: man hier ,通过这个命令的输出,就知道“根目录”中所子目录的作用了。这个命令含义我不多说了,总之这里的 hier 就是对 Linux 文件系统中各级目录的标准功能,是一个大家都约定俗成了的东西。想要了解每个目录更详细的信息,需要仔细参考 man hier 的输出。下面就是一个比较简短的中文描述的对文件系统目录分类的 FHS 标准,也就是对 man hier 的简单翻译。

NAME 名称

hier - 文件系统描述

DESCRIPTION 描述

一个典型的Linux系统具以下几个目录结构:

/ 根目录,是所目录树开始的地方。

/bin 此目录下包括了单用户方式及系统启动或修复所用到的所执行程序。

/boot 包括了引导程序的静态文件。此目录下包括了在引导过程中所必需的文件。系统装载程序及配制文件在 /sbin 和 /etc 目录中找到。

/dev 对应物理设备的指定文件或驱动程序。参见mknod(1)。

/dos 如果MS-DOS和Linux共存于一台计算机时,这里通常用于存放DOS 文件系统。

/etc 用于存放本地机的配置文件。一些大型套件,如X11,在 /etc 下它们自己的子目录。系统配置文件可以放在这里或在 /usr/etc。 不过所程序总是在 /etc 目录下查找所需的配置文件,你也可以将这些文件链接到目录 /usr/etc.

/etc/skel 当建立一个新用户账号时,此目录下的文件通常被复制到用户的主目录下。

/etc/X11X11 window system所需的配置文件。

/home 在Linux机器上,用户主目录通常直接或间接地置在此目录下。其结构通常由本地机的管理员来决定。

/lib 此目录下包含系统引导和在根用户执行命令所必需用到的共享库。

/mnt 挂载临时文件系统的挂载点。

/proc 这是提供运行过程和核心文件系统 proc 挂载点。这一”伪”文件系统在以下章节中详细叙述 proc(5)。

/sbin 类似于 /bin 此目录保存了系统引导所需的命令,但这些命令一般使用者不能执行。

/tmp 此目录用于保存临时文件,临时文件在日常维护或在系统启动时无需通知便可删除

/usr 此目录通常用于从一个独立的分区上挂载文件。它应保存共享只读类文件,这样它可以被运行Linux的不同主机挂载。

/usr/X11R6 X-Window系统 Version 11 release 6.

/usr/X11R6/bin X-Windows系统使用的二进制文件;通常是在对更传统的 /usr/bin/X11 中文件的符号连接。

/usr/X11R6/lib 保存与X-Windows系统关数据文件。

/usr/X11R6/lib/X11 此目录保存与运行X-Windows系统关其他文件。通常是对来自 /usr/lib/X11 中文件的符号连接。

/usr/X11R6/include/X11 此目录保存包括使用X11窗口系统进行编译程序所需的文件。通常是对来自 /usr/lib/X11 中文件的符号连接。

/usr/bin 这是执行程序的主要目录,其中的绝大多数为一般使用者使用,除了那些启动系统或修复系统或不是本地安装的程序一般都放在此目录下。

/usr/bin/X11

X11执行文件放置的地方;在Linux系统中,它通常是对 /usr/X11R6/bin. 符号连接表

/usr/dict

此目录保存拼写检查器所使用的词汇表文件。

/usr/doc

此目录下应可以找到那些已安装的软件文件。

/usr/etc

此目录可用来那些存放整个网共享的配置文件。然而那可执行命令指向总是使用参照使用 /etc 目录下的文件。 /etc 目录下连接文件应指向 /usr/etc. 目录下适当的文件。

/usr/include

C程序语言编译使用的Include”包括”文件。

/usr/include/X11

C程序语言编译和X-Windows系统使用的 Include”包括”文件。它通常中指向 /usr/X11R6/include/X11. 符号连接表。

/usr/include/asm

申明汇编函数的Include”包括”文件,它通常是指向 /usr/src/linux/include/asm 目录的符号连接

/usr/include/linux

包含系统变更的信息通常是指向 /usr/src/linux/include/linux 目录的符号连接表,来获得操作系统特定信息。(注:使用者应在此自行包含那些保证自己开发的程序正常运行所需的libc 函数库。不管怎样,Linux核心系统不是设计用来执行直接运行用户程序的,它并不知道用户程序需要使用哪个版本的libc库 。如果你随意将 /usr/include/asm 和 /usr/include/linux 指向一个系统核心,系统很可能崩溃。Debian系统不这么做。它使用 libc*-dev运行包中提供的核心系统标识,以保证启动所正确的文件。)

/usr/include/g++

GNU C++编译程序所使用的Include”包括”文件。

/usr/lib

目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件案。一些复杂的程序可能在此占用整个子目录。

/usr/lib/X11

存放X系统数据文件及系统配置文件的地方。 Linux中通常是指向 /usr/X11R6/lib/X11 目录的符号连接表。

/usr/lib/gcc-lib

GNU C 编译程序所使用的可执行文件案和”包括”文件。 gcc(1).

/usr/lib/groff

GNU groff 文件格式系统所使用的文件。

/usr/lib/uucp

uucp(1) 所使用的文件。

/usr/lib/zoneinfo

关时区信息文件文件。

/usr/local

安装在本地执行程序的地方。

/usr/local/bin

在此地放置本地执行程序的二进制文件。

/usr/local/doc

放置本地文件。

/usr/local/etc

安装在本地程序的配置文件。

/usr/local/lib

安装在本地程序的库文件。

/usr/local/info

安装在本地程序关信息文件。

/usr/local/man

安装在本地程序使用手册。

/usr/local/sbin

安装在本地的系统管理程序。

/usr/local/src

安装在本地程序的原始码。

/usr/man

手册页通常放在此目录,或相关子目录下。

/usr/man//man[1-9]

此目录在指定的地方以原始码形式存放手册页。系统在所的手册页中使用自己独特的语言及代码集,可能会省略 substring 子字符串。

/usr/sbin

此目录保存系统管理程序的二进制码,这些文件不是系统启动或文件系统挂载 /usr 目录或修复系统所必需的。

/usr/share

在此目录下不同的子目录中保存了同一个操作系统在不同构架下工作时特定应用程序的共享数据。使用者可以找到通常放在 /usr/doc 或 /usr/lib 或 /usr/man 目录下的这些数据。

/usr/src

系统不同组成部份的源文件包括参考数据报。不要将你自己与项目关的文件放这里,因为在安装软件外,/usr下的文件属性除通常设为只读。

/usr/src/linux

系统核心资源通常拆包安装于此。这是系统中重要的一环,因为 /usr/include/linux 符号连接表指向此目录。你应当使用其他目录来来编译建立新核心。

/usr/tmp

此目录不再使用了。它应指向目录 /var/tmp。 这个链接只是出于系统兼容的目的,一般不再使用。

/var

此目录下文件的大小可能会改变,如缓冲文件可日志文件。

/var/adm

此目录为 /var/log 甩替代,通常是指向 /var/log 的符号连接表。

/var/backups

此目录用来存放重要系统文件的后备文件

/var/catman/cat[1-9] or /var/cache/man/cat[1-9]

此目录存储根据手册分类预先格式化的参考手册页。(这些参考手册页是相互独立的)

/var/lock

此目录存储锁定文件。依据命名习惯,设备锁定文件是 LCKxxxxx xxxxx与在文件系统中该设备名相同,使用的格式是HDU UUCP锁定文件,例如包含进程标识PID的锁定文件是一个10字节的ASCII格式的数字,后面跟一个换行符。

/var/log

各种日志文件。

/var/preserve

这是 vi(1) 存放正在编辑中的文件,以便以后可以恢复。

/var/run

运行时的变量文件,如存放进程标识和登入使用者信息的文件。 (utmp) 此目录下文件在系统启动时被自动清除。

/var/spool

各种程序产生的缓冲或排除等待的文件

/var/spool/at

at(1) 的作业存缓区

/var/spool/cron

cron(1) 的作业存缓区

/var/spool/lpd

打印缓存文件。

/var/spool/mail

使用者邮箱。

/var/spool/smail

存放 smail(1) 邮件发送程序的缓冲文件。

/var/spool/news

新闻子系统的缓冲目录

/var/spool/uucp

uucp(1) 的缓冲文件

/var/tmp

类似 /tmp, 此目录保存未指定持续时间的临时文件。

作者简介

吕凯,TPV资深主任工程师,大连理工大学硕士。关注软件开发、系统运维、内容管理、行动管理等领域,喜欢计数写作及分享。

via:

数据库可能产生的问题_windows 不能加载本地存储的配置文件.此问题的可能原因_女性膝盖痛的可能问题


更多精彩:vagaa哇嘎www.xitongtiandi.net

win7系统

win10系统

网友热搜

站长推荐

电脑软件

关于本站 | 下载声明 | 广告合作 | 网站地图 | RSS

Copyright 2019-2020 sdwin10.com 深度win10 版权所有 浙ICP备20007169号-11

声明: 本站非windows官方网站 所有软件和文章来自互联网 如有异议 请与本站联系