linux文件系统概念目录结构

文件系统概念
一. 文件与目录的定义
1. 文件系统:它是磁盘上有特定格式的一片区域,操作系统通过文件系统可以方便地查寻和访问其中所包含的磁盘块;
2. 文件:文件系统中存储数据的一个命名的对象。
3. 目录:其中包含许多文件项目的一类特殊文件。
4. 子目录:被包含在另一个目录中的目录。
5. 文件名:用来标识文件的字符串,它保存在一个目录文件项中。
6. 路径名:由斜线字符(/)结合在一起的一个或多个文件名的集合。
二. 文件结构
1. 文件的成份:无论文件是一个程序、一个文档、一个数据库,或者是一个目录,操作系统都会赋予文件相同的结构,具体信息如下:
① 索引节点:又称 i 节点。
② 数据:文件的实际内容。
2. 命名文件:文件名保存在目录文件中。
为方便管理文件,应遵循以下规则:
① 文件名应量简单,并且应反映出文件内容。
② 除斜线(/)和空字符以外,文件名可以包含任意的 ASCII 字符;
③ 习惯上允许使用下线符(_)和句点(.)来区别文件的类型,使文件名更易读;但是应避免使用以下字符,因为对系统的 shell 来说,它们有特殊的含义。这些字符是:
           ; | <   >   `   “   ‘   $   !   %   &   *   ?   /   (   )   [   ]
④ 同类文件应使用同样的后缀或扩展名。
⑤ Linux 系统区分文件名的大小写.
⑥ 以圆点(.)开头的文件名是隐含文件,默认方式下使用 ls 命令并不能把它们在屏幕上显示出来。
3. 文件名扩展字符:为了能一次处理多个文件,shell 提供了几个特别字符,称为文件名扩展字符(也称通配符)。文件名扩展字符主要有:
① 星号(*):与 0 个或多个任意的字符相匹配。
② 问号(?):只与一个任意的字符匹配。
③ 方括号([ ]):只与方括号中字符之一匹配,可用短横代表一个范围内的字符。
三. 文件类型
Linux 操作系统支持以下文件类型:普通文件、目录文件、设备文件和符号链接文件。
1. 普通文件:又称常规文件,包含各种长度的字符串。
2. 目录文件:是一种特殊文件,利用它可以构成文件系统的分层树形结构。
3. 设备文件:是一种特别文件,除了存放在文件 i 节点中的信息外,它们不包含食任何数据。
4. 符号链接文件:是一种特殊文件,它们提供对其他文件的参照。
目录结构
一. 树型目录结构
1. Linux系统以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所有文件的说明信息采用树型结构组织起来,即常说的目录。
二. 工作目录、用户主目录与路径
1. 工作目录与用户主目录
用户在登录到 Linux 系统之后,所在的目录称为工作目录。
2. 路径
顾名思义,路径是指从树型目录的某个目录层次到某个文件的一条道路。路径主要是由目录名称构成,中间用“/”分隔。
三. Linux 系统主要目录说明
1. /: 根目录,系统所有目录均从根目录开始;
2. /bin: bin是二进制(binary)的英文缩写。在一般的系统中,用于存放 Linux 最常用的命令;
3. /boot: 引导核必的程序目录。在使用 LILO 或 GRUB 引导 Linux 时,会用到这个目录中的文件;
4. /dev: dev 是设备(device)的英文缩写。这个目录中包含了所有在 Linux 系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序;
5. /etc: etc 是 etcetera 的缩写。这个目录包含了系统管理所需要的配置文件和子目录,它是系统中最重要的目录之一,用户要用到的网络配置文件、文件系统、X-Windows 系统配置文件、设备配置信息、设置用户信息等都在这个目录下;
6. /sbin: 这个目录是用来存放系统管理员使用的系统管理程序,一般用户没有权限访问;
7. /home: 用来存放用户主目录的地方。一般来说,“/home/用户名” 就是该用户的主目录;
8. /lib: lib是库(library)的英文缩写。这个目录是用来存放系统动态连接共享库的。
9. /mnt: 这个目录在一般情况下是空的。可以临时将别的文件系统挂在这个目录下;
10. /proc: 这个目录是 Linux 提供的一个虚拟系统,该目录下的文件并不存于硬盘中,而是由系统初启的时候在内存中产生的。
11. /root: 这个目录是超级用户 root 默认的主目录,一般用户没有访问权限;
12. /tmp: 用来存放不同程序执行时产生的临时文件;
13. /usr: 是 user 的缩写,Linux 系统中占用空间最大的目录,用户的很多应用程序和文件几乎都存放在这个目录中.
14. /var: 主要存放一些系统记录文件和配置文件,通常/var下面的文件是提供给系统管理员对系统的用户注册、系统负载、安全性方面的查询。

 

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

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

相关文章

JDK源码解析之 java.lang.Class

Java程序在运行时&#xff0c;Java运行时系统一直对所有的对象进行所谓的运行时类型标识。 这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行&#xff0c;用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态&#xff…

Linux Vi常用技巧

VI常用技巧VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了&#xff0c;但是因为它的命令集众多&#xff0c;很多人都不习惯使用它&#xff0c;其实您只需要掌握基本命令&#xff0c;然后加以灵活运用&#xff0c;就会发现它的优势&#xff0c;并会逐渐喜欢使用这种方…

JDK源码解析之 java.lang.ClassLoader

Class代表它的作用对象是类&#xff0c;Loader代表它的功能是加载&#xff0c;那么ClassLoader就是把一个以.class结尾的文件以JVM能识别的存储形式加载到内存中。 一、核心方法 1、loadClass方法 protected Class<?> loadClass(String name, boolean resolve) throws…

Linux Vi的使用

一、插入文本┌──┬────────────┐│命令│描述 │├──┼────────────┤│i │在当前字符前插入文本 │├──┼────────────┤│I │在行首插入文本 │├──┼────────────┤│a │在当前字符后添加文本 │├──┼──…

Hive-beeline服务

Hive客户端工具后续使用了Beeline 替代HiveCLI &#xff0c;并且后续版本也会废弃掉HiveCLI 客户端工具,Beeline是 Hive 0.11版本引入的新命令行客户端工具,它是基于SQLLine CLI的JDBC客户端。 Beeline支持嵌入模式(embedded mode)和远程模式(remote mode)。在嵌入式模式下&am…

用户账号管理基本概念

什么是用户账号管理用户账号一般包括普通用户账号、管理账号和系统账号。为了鉴别用户身份以及加强系统安全&#xff0c;系统为每个使用它的人分配了一个账号&#xff0c;这就是普通用户账号。每个人拥有一个独立的普通用户账号&#xff0c;每个账号有不同的用户名和密码。用户…

JDK源码解析之 Java.lang.Compiler

Compiler类提供支持Java到本机代码编译器和相关服务。在设计上&#xff0c;它作为一个占位符在JIT编译器实现。 一、源码部分 public final class Compiler {private Compiler() {} // dont make instancesprivate static native void initialize();private st…

shell的基本概念

Shell就像一个壳层&#xff0c;这个壳层介于用户和操作系统之间&#xff0c;负责将用户的命令解释为操作系统可以接收的低级语言&#xff0c;并将操作系统响应的信息以用户可以了解的方式来显示。 从用户登陆到注销期间&#xff0c;用户输入的每个命令都会经过解译及…

JDK源码解析之 java.lang.System

一个和系统环境进行交互的类. System不允许被实例化, 而且是一个final类 一、不能实例化 private System() { }二、成员变量 public final static InputStream in null; //这是“标准”输入流。 public final static PrintStream out null; //这是“标准”输出流。 public …

详解MySQL中DROP,TRUNCATE 和DELETE的区别

注意:这里说的delete是指不带where子句的delete语句 相同点: truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index…

JDK源码解析之 Java.lang.Package

如果我们在Class对象上调用getPackage方法&#xff0c;就可以得到描述该类所在包的Package对象(Package类是在java.lang中定义的)。我们也可以用包名通过调用静态方法getPackage或者调用静态方法getPackages(该方法返回由系统中所有已知包构成的数组)来获得Package对象。getNam…

Mysql中limit的用法详解

在我们使用查询语句的时候&#xff0c;经常要返回前几条或者中间某几行数据&#xff0c;这个时候怎么办呢&#xff1f;不用担心&#xff0c;mysql已经为我们提供了这样一个功能。SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SE…

Docker入门-简介

独具魅力的Docker作为一门新技术&#xff0c;它的出现有可能引起其所在领域大范围的波动甚至是重新洗牌。根据业内专业人士的看法&#xff0c;不论如何&#xff0c;Docker的出现&#xff0c;已经成为云服务市场中一枚极具意义的战略性棋子。从2013年开始在国内发力&#xff0c;…

Mysql中limit的优化

在一些情况中&#xff0c;当你使用LIMIT row_count而不使用HAVING时&#xff0c;MySQL将以不同方式处理查询。 如果你用LIMIT只选择一些行&#xff0c;当MySQL选择做完整的表扫描时&#xff0c;它将在一些情况下使用索引。 如果你使用LIMIT row_count与ORD…

Docker入门-架构

Docker 包括三个基本概念: 镜像&#xff08;Image&#xff09;&#xff1a;Docker 镜像&#xff08;Image&#xff09;&#xff0c;就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。容器&#xff08;Cont…

MYSQL出错代码列表大全(中文)

mysql出错了,以前往往靠猜.现在有了这张表,一查就出来了. 1005&#xff1a;创建表失败1006&#xff1a;创建数据库失败1007&#xff1a;数据库已存在&#xff0c;创建数据库失败1008&#xff1a;数据库不存在&#xff0c;删除数据库失败1009&#xff1a;不能删除数据库文件导致…

Docker入门-安装

Centos7下安装Docker docker官方说至少Linux 内核3.8 以上&#xff0c;建议3.10以上&#xff08;ubuntu下要linux内核3.8以上&#xff0c; RHEL/Centos 的内核修补过&#xff0c; centos6.5的版本就可以&#xff09; 1、把yum包更新到最新&#xff1a;yum update 2、安装需要的…

Docker原理之Namespaces

命名空间&#xff08;namespaces&#xff09;是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法。 一、Namespaces 在日常使用 Linux 或者 macOS 时&#xff0c;我们并没有运行多个完全分离的服务器的需要&#xff0c;但是如果我们在服务器上启…

mysql 快速插入(insert)多条记录

方法1: INSERT INTO table(col_1, col_2,col_3) VALUES(1,11,111); INSERT INTO table(col_1, col_2,col_3)   VALUES(2,22,222); INSERT INTO table(col_1, col_2,col_3)   VALUES(3,33,333); 有没有更快捷的办法呢?答案是有(见方法2) 方法2: INSERT INTO table(col…

Docker原理之CGroups

控制组&#xff08;cgroups&#xff09;是 Linux 内核的一个特性&#xff0c;主要用来对共享资源进行隔离、限制、审计 等。只有能控制分配到容器的资源&#xff0c;才能避免当多个容器同时运行时的对系统资源的竞争。控制组技术最早是由 Google 的程序员 2006 年起提出&#x…