-
Notifications
You must be signed in to change notification settings - Fork 127
/
Introduction.md
89 lines (66 loc) · 3.85 KB
/
Introduction.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
## Linux 是什么
`Linux` 是一个开源系统内核,1991年由托瓦兹 (Linus Torvalds) 开发出来的,我们平时讲的 `Liunx` 系统其实并不是很准确,`Ubuntu` `CentOS` 这些才是系统,`Linux` 是参考 `Unix` 系统开发出来的。
现实生活中有哪些软件或系统是基于 `Linux` 开发出来的呢? `嵌入式` 程序开发 `Android` 手机系统,我们经常浏览的网站服务器,基本都是运行 `Linux` 系统之上。
`Linux` 是一个支持多用户、多任务的系统。
`Linux` 系统上一切都是以文件的形式存在,文件和目录名称都区分大小写的。所有文件命名要体现文件的格式或内容,`demo.php` 代表这是一个 `php` 文件,`demo.txt` 代表 `txt` 文件,`demo.tar.gz` 代表以 `gzip` 压缩的打包文件。还有一种特殊文件,有文件也有目录,文件名称以 `.` 开头的隐藏文件,例如: `.vim` 默认是不显示的,一般都是软件的配置文件。
无论是源码编译安装还是通过包管理器 `yum` 或 `apt-get` 安装的软件,默认都是需要设置开机自启动,单纯的启动服务,如果服务器有重启的话,程序无法运行,还要登录服务器排查原因,费事费力。
## `Linux` 与 `Windows` 最大的区别
1. 名称区分大小写
2. 系统路径
3. 文件权限
4. 一切皆文件
## 关于 Linux 命令的几个分类
- 内置命令
- 例如 `cd` `ls` 这些命令,默认系统内置无需安装
- 外置命令
- 例如 `ccat` `wget` ,如果执行命令提示 command not found ,通常都是需要用户自己使用 `apt-get` 或 `yum` 软件包管理器安装
- 程序或软件命令
- 例如 `nginx` `php` 或者自己写的程序编译出来的命令,这种命令与外置命令类似,但是会有配置等其他文件,外置命令一般安装之后只有一个二进制可执行文件
## Linux 的优势
- 跨平台
- 安全
- 多用户多任务
- 占用系统资源少
- 网络功能强大
- 稳定
## Linux 的运行级别
- 0 停机,关机
- 1 单用户,无网络连接,不运行守护进程,仅 root 用户可以登录
- 2 多用户,无网络连接,不运行守护进程
- 3 多用户,正常启动系统
- 4 用户自定义
- 5 多用户,带图形界面
- 6 重启
## Linux 的启动流程
1. 加载内核
2. 启动初始化进程
3. 确定运行级别
4. 加载开机启动程序
5. 用户登录
6. 进入 login shell
7. 打开 non-login shell
## Linux 的目录结构
Ubuntu 16.04
```
/bin #用户二进制文件
/boot #启动核心文件
/dev #设备文件
/etc #配置文件
/home #用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/lib #系统库
/lib64 #系统库
/lost+found #这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/media #可移动媒体设备
/mnt #挂载目录
/opt #用户安装的软件目录
/proc #进程信息
/root #该目录为系统管理员,也称作超级权限者的用户主目录
/run #存放进程的I
/sbin #s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/tmp #系统临时文件
/srv #srv是service的缩写,该目录存放一些服务启动之后需要提取的数据
/sys #这个目录跟/proc 非常类似,也是一个虚拟的文件系统,主要也是记录与内核相关的信息。
/usr #注意 usr 并不是 user 的缩写,而是Unix Software Resource的缩写,即 Unix 操作系统软件资源放在该目录,而不是用户的数据。
/var #软件运行所产生的文件
```
补充:其他 `Linux` 系统的发行版目录大致也是一样的。