/images/hugo/avatar.png

4.1 Linux目录结构

Linux 目录结构

/images/linux_mt/linux_mt.jpg

接下来,我们将学习 Linux 下的目录结构和Linux Bash 的基础特性。通过三节内容,我们将学习以下内容:

  • Linux 文件系统及文件的组织结构
  • Linux 常见的文件类型
  • Bash 常见特性和快捷键使用
  • 常用基础命令与命令历史
  • 基础的文件管理命令与系统变量

文件系统同样是很复杂的东西,具体原理后面会介绍。当前,只要知道文件系统是操作系统对磁盘的抽象,为用户提供了管理磁盘文件的接口。开机启动时,内核加载完毕之后,内核就会挂载用户在开机启动配置文件中设置的根文件系统。Linux 上的文件系统必需挂载到根文件系统上才能被使用。开机启动流程,文件系统会在之后详细介绍。当前我们需要重点了解的是,Linux 上目录和文件的组织结构。

字典和集合

1. 内置散列类型概览

/images/fluent_python/maping_abc.png

抽象基类:

  • 作用:
    • 作为形式化的文档,定义了构建一个映射类型所需要的最基本的接口
    • 跟 isinstance 一起被用来判定某个数据是不是广义上的映射类型
1
2
3
>>> my_dict = {}
>>> isinstance(my_dict, abc.Mapping)
True

非抽象映射类型:

3.2 Linux 命令帮助

Linux 中获取命令帮助

/images/linux_mt/linux_mt.jpg

通过之前的学习我们了解到 Linux 命令分为两类,一类是 shell 内置的内嵌命令,另一类是外部命令。这两种命令获取帮助的并不相同,对于内部命令使用 help command 即可。而对于外部命令有很多方式,其中最重要也是最便捷的就是使用 man 帮助手册。本节我们将学习如何获取外部命令的使用帮助,以及了解 man 手册的使用方式。

序列

1. 内置序列类型概览

  1. 容器序列:
  • 能存放不同类型的数据
  • 序列内存放的是它们所包含的任意类型的对象的引用
  • 包括
    • list
    • tuple
    • collections.deque 这些序列
  1. 扁平序列:
  • 只能容纳一种类型
  • 序列里存放的是值而不是引用
  • 扁平序列是一段连续的内存空间,更加紧凑
  • 但只能存放诸如字符、字节和数值这种基础类型
  • 包括
    • str、 bytes、 bytearray
    • memoryview
    • array.array
  1. 可变序列
  • 包括
    • list、 bytearray、
    • array.array、
    • collections.deque
    • memoryview
  1. 不可变序列
  • 包括
    • tuple、 str 和 bytes

/images/fluent_python/sequence_abc.png

3.1 Linux 命令基础

Linux 基础命令

/images/linux_mt/linux_mt.jpg

在安装完 Centos 之后,我们开始正式学习 Linux。在深入学习 Linux 之前,我们需要学习一些最基本命令的使用。我们将分成两节来学习下面内容:

Python 数据模型

1. 语言特性

  1. Python 最好的品质之一是一致性,体现在 Python 的数据模型上

2. 数据模型

定义:是对 Python 框架的描述
作用:规范了这门语言自身构建模块的接口(API)
包括:不限于序列、迭代器、函数、类和上下文管理器