怎样理解Linux的文件系统

怎样理解Linux的文件系统
Linux所有文件都从root开始,用'/'代表, 并且延伸到子目录。DOS/Windows有不同的分区同时目录都存于分区上。Linux则通过'加载'的方式把所有分区都放置在root下制定的目录里。windows下最接近于root的是c:。

一句话总结:Windows下,目录结构属于分区;Linux下,分区属于目录结构。

在windows下, 启动时检测不同的分区并被赋予一个分区字母。在Linux下除非你加载一个分区或设备,否则系统不会知道那个分区的存在。这看上去也许不是访问分区或设备的最方便的方式,但他提供了伟大的机动性。

这种构建的方式被称为统一的文件系统,超越了windows所使用的方式。举个使用/usr的例子。这个目录包含了大多数的系统可执行文件。在Linux文件系统下,你可以选择把它加载为其他分区甚至网络上的其他计算机。系统不会感知其中的不同,因为它表现出的只是本地目录结构下众多的目录中的一个而已。有多少次你希望在windows下移动可执行文件和数据,而得到的是不得不去修改注册表或干脆蓝屏?你可曾奢望过移动c:到其他分区上?

新手容易困惑的另一点是斜杠'/'的使用,在DOS/Windows下使用的是反斜杠''.

在Linux中,windows的c是用类似/c/windows/system来表示的。Linux是免费的系统。在windows之前,Unix已经存在了很久。从DOS开始使用'/'选项而''作为目录分隔符。

更加麻烦的是Linux同样选择了大小写敏感。这意味着字母的大小写变得非常重要。所以在这种情况下THIS和ThIs是不同的。这个规定会使dos用户遇到很多麻烦。

现在我们来看一看Linux文件系统目录结构的规划。下面是在root下'ls -p'的结果:

代码:

bin/ dev/ home/ lost+found/ proc/ sbin/ usr/ boot/ etc/ lib/ mnt/ root/ tmp/ var/

/sbin

这个目录包含了所有使系统运行的关键二进制可执行文件。包含了系统管理和维护硬件配置的程序。你可以在这里找到lilo, fdisk, init, ifconfig等等。

这里有所有用户都需要的关键程序。

/usr/sbin

另一个包含系统可执行文件的目录。这个目录包含了系统管理员使用的一些其他程序。这里你可以找网络守护程序以及一些不需要维护和修理系统的管理员所使用的程序。

/bin

相对于/sbin, bin目录包含一些系统管理员和普通用户都可以使用的命令。这个目录通常包含诸如bash, csh等shell,以及诸如cp, mv, rm, cat, ls等非常有用的命令。这些命令对于用户来说是不可缺少的。

/usr/bin

包含一些其它的用户命令。从另一方面看,这些命令本质上并不是为用户准备的。

/boot

这个目录包含system.map文件以及Linux kernel。Lilo将启动扇区的备份放在这里。

/dev

这是一个非常有趣的目录,是Linux文件系统的一个闪亮的特性 - 所有对象都是文件或目录。仔细观察这个目录你会发现hda1, hda2等, 它们代表系统主硬盘的不同分区。/dev/cdrom和/dev/fd0代表你的CDROM驱动器和floppy驱动器。看上去可能有些奇怪,但比较文件和硬件的特性这却是十分合理的。它们都可以读出和写入。例如/dev/dsp,这个文件代笔你的扬声器。那么写入这个文件的数据都回传送到喇叭。试一试 'cat /etc/lilo.conf > /dev/dsp' 你会听到一些声音。这是你的 lilo.conf 文件的声音!同样,向 /dev/ttyS0 ( COM 1 ) 读出或写入数据你可以和接到上面的设备进行通讯。

/home

Linux 是多用户环境,所以每一个用户都有一个只有自己可以访问的目录(当然管理员也可以访问)。它们以 /home/username 的方式存在。这个目录也保存一些应用对于这个用户的配置,比如 IRC, X 等。

/lib

这里包含了系统程序所需要的所有共享库文件,类似于 Windows 的共享库 DLL 文件。

/lost+found

Linux 应该正确的关机。但有时你的系统也可能崩溃掉或突然断电使系统意外关机。那么启动的时候 fsch 将会进行长时间的文件系统检查。Fsck 会检测并试图恢复所发现的不正确的文件。被恢复的文件会放置在这个目录中。所恢复的文件也许并不完整或并不合理,但毕竟提供了一些恢复数据的机会。

/mnt

这是一个普通的加载目录,在这里你可以加载你的文件系统或设备。

加载是使一个文件系统对于系统可用的过程。

在加载后你的文件可以在加载目录下访问。

这个目录通常包含加载目录或用于加载软驱和光驱的子目录。

如果需要,你也可以在这里建立其它的加载目录。

对于加载目录的位置并没有强制性的要求,你可以在系统的任意位置建立加载目录。

建立 /mnt 只是为了使系统更工整的惯例。

/opt

这个目录包含所有默认系统安装之外的软件和添加的包。一般来说你可以在这里找到 KDE 和 StarOffice 。这个目录一般并不会经常被启用,这是Unix系统安装的标准。

/proc

这是系统中极为特殊的一个目录,实际上任何分区上都不存在这个目录。它实际是个实时的、驻留在内存中的文件系统。详细信息请参阅 /root

这是root的用户用户目录。

/tmp

这里包含大多数要用到的临时文件。

许多程序在这里建立lock文件和存储临时数据。有些系统会在启动或关机时清空此目录。

/usr

这是系统中很重要的一个目录,这里包含所有用户的二进制文件。

X,及其库文件,用户程序比如 telnet, ftp 等等都在这里。

/usr/doc包含系统文档。/usr/src/Linux包含 Linux kernel 的源码。

/var

这里存储假脱机(spooling)数据,比如 mail 以及打印机守护的输出。

系统日志也存放在这里。你还可以在/var/named下找到BIND的数据库,在/var/yp下找到NIS的数据库。

以上就是Linux文件系统的一些基本命令和存储目录,一句话总结:Windows下,目录结构属于分区;Linux下,分区属于目录结构。

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

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

相关文章

POJ 1850 Code(组合数学)

题目链接 这个题目的组合解法,太巧妙了。长度为n的方案数总和为C(26,n),我竟没有发现。。然后长度和字符串相等的时候的情况,第一位默认,以后默认为前一位1,这样才能保证递增特性。 网上还有DP解法,智商拙计…

(10) 需求征集 -- 权限管理

权限管理,都碰到过哪些需求?我们汇总看看,能汇总出多少需求来?将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。转载于:https://blog.51cto.com/jirigala/787926

c语言中英文的作用,C语言中英文对照.doc

C语言中英文对照一File(文件) Load 加载 F3 Pick(选择) Alt-F3New 新文件Save 存盘 F2 Write To 写文件Directory 目录Change Dir 改变目录OS Shell 暂时退出Quit 退出 Alt-x二Edit 编辑 Line n Col n Insert Indent Tab Fill Unindent * D;FILE1.CLine n 光标处在文件的第n行C…

首次公开!人教版1-9年级绝密编写:被重点中小学永久收录的数学教案和试题...

全世界只有3.14 % 的人关注了爆炸吧知识在中国的教育历史上,不少人都会有感慨:“我是读着人教版教材长大的”。(人教版即由人民教育出版社出版。)的确,由毛泽东主席亲笔题写社名的人民教育出版社,自1950年1…

如何通过 C# 自动捕获一个文件的变更?

咨询区 PaulB:请问在 C# 中如何实现当一个磁盘文件的变更,让我的程序马上能感知到?回答区 Dirk Vollmar:在 C# 中有一个 FileSystemWatcher 类,它专门用来做文件的变更感知,大概有如下四类通知事件&#xf…

新随笔

2012年2月27日 岁数大了,特别愁得慌。 转载于:https://www.cnblogs.com/laozhang/archive/2012/02/27/2369771.html

Rails 开发小贴士积累

Model (ActiveRecord) 中 Boolean 类型的属性,在做是否存在的校验的时候,不能使用 presence: true ,而是要使用 inclusion: { in: [true, false] }。否则,当值为 false 的时候,会校验失败。 ClienSideValidations 对 Boolean 类型…

安装分布式文件系统MooseFS

示意图#4种角色共有的安装步骤yum install gcc zlib zlib-devel fuse fuse-devel fuse-libs libpcap libpcap-devel net-tools useradd mfs -s /sbin/nologin cd /download/ tar xf moosefs-2.0.80.tar.gz cd moosefs-2.0.80 ./configure \ --prefix/usr/local/mfs \ --with-de…

太爽了!宅男醒来后,发现自己变成了……

全世界只有3.14 % 的人关注了爆炸吧知识小编这两天看了一本关于数学家的故事后开了一个脑洞:如果把那些数学大神的故事写成爽文会是什么样?以下内容,纯属娱乐和虚构。前方高能预警第一章 称王冠原来是这样的“阿基米德,国王叫你呢…

陈睿学长在CUIT建校70周年校庆上的演讲

【个人成长】| 总结/Edison Zhou1睿叔演讲背景10月23号,我的母校成都信息工程大学(以下简称CUIT)举行了建校70周年(1951~2021)校庆,B站(哔哩哔哩)董事长兼CEO陈睿(睿叔&a…

SSH基本原理和免密码登录

SSH基本原理和免密码登录SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全…

poj2442Sequence(优先队列)

http://poj.org/problem?id2442 题解http://www.cnblogs.com/372465774y/archive/2012/07/09/2583866.html 本来写的二维数组 &#xff0c;直接対一维排序 不知道为嘛一直WA 只好该为一维的 就AC了 View Code 1 #include <iostream>2 #include<cstdio>3 #includ…

ExtJS 4.0

基本组件&#xff1a; xtype Class 描述 button Ext.Button 按钮 splitbutton Ext.SplitButton 带下拉菜单的按钮 cycle Ext.CycleButton 带下拉选项菜单的按钮 buttongroup Ext.ButtonGroup 编组…

967c语言程序设计是什么,2018年湖南师范大学数学与计算机科学院967C语言程序设计和数据结构[专硕]之C程序设计考研核心题库...

一、选择题1&#xff0e; 设有以下函数&#xff1a;则下面对函数指针的定义和赋值均是正确的是( )。A.B.C. D. 【答案】D【解析】函数指针的一般定义形式为&#xff1a;数据类型(*指针变量名)( )。定义函数指针时&#xff0c;对应的类型名以及 返回值类型都要和对应函数的参数列…

System.Text.Json 中的字符编码

System.Text.Json 中的字符编码Intro默认的 System.Text.Json 序列化的时候会把所有的非 ASCII 的字符进行转义&#xff0c;这就会导致很多时候我们的一些非 ASCII 的字符就会变成 \uxxxx 这样的形式&#xff0c;很多场景下并不太友好&#xff0c;我们可以配置字符编码来解决被…

maven3安装和使用笔记

2019独角兽企业重金招聘Python工程师标准>>> 1、下载 http://maven.apache.org/download.cgi 2、解压 3、配置环境变量 M2_HOME D:\program\apache-maven-3.3.3 Path : %M2_HOME%\bin 4、验证是否成功 打开命令行窗口&#xff0c;输入mvn -version&#xff0c;显示…

数学,原来可以这么美!

全世界只有3.14 % 的人关注了爆炸吧知识法国著名艺术家罗丹曾说&#xff1a;世界中从不缺少美&#xff0c;而是缺少发现美的眼睛。对于我们的眼睛&#xff0c;不是缺少美&#xff0c;而是缺少发现。在艺术者眼中&#xff0c;一切都是美的&#xff0c;因为他锐利的慧眼&#xff…

Hadoop的伪分布安装 hadoop的核心思想

Hadoop的伪分布安装hadoop的安装分为本地模式、伪分布模式、集群模式。本地模式是运行在本地&#xff0c;只负责存储&#xff0c;没有计算功能&#xff0c;本书不讲述。伪分布模式是在一台机器上模拟分布式部署&#xff0c;方便学习和调试。集群模式是在多个机器上配置hadoop&a…

jQuery获取及设置单选框,多选框,文本框内容

在工作中,text,radio,checkbox,select在开发过程中是必不可少的一部分.在开发过程中经常要处理页面表单元素. Eg: 在复选框checkBox中获取checked的value值,来触发和调用其它页面表单元素,制作互动性更强更友好的用户体验. jQuery通过元素$(#id)产生一个object对象,通过对获…

js局部打印

因为需要用到这个东西&#xff0c;所以很无耻的拾人牙慧&#xff0c;收在博客里了~ ?<!DOCTYPE html><html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>无标题文档</title>&l…