Linux中阶知识总结

社会主义新天地 提交于 2020-01-17 15:39:10

Linux目录结构

“一切皆文件”思想

Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。

和Windows系统不同,Linux系统没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。

这样做最明显的好处是,开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。举个简单的例子,Linux 中几乎所有读(读文件,读系统状态,读 socket,读 PIPE)的操作都可以用 read 函数来进行;几乎所有更改(更改文件,更改系统参数,写 socket,写 PIPE)的操作都可以用 write 函数来进行。

不利之处在于,使用任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用。我们知道,本身 Linux 具有一个以根目录为树根的文件目录结构,每个设备也同样如此,它们是相互独立的。如果我们想通过 Linux 上的根目录找到设备文件的目录结构,就必须将这两个文件系统目录合二为一,这就是挂载的真正含义。

目录结构及各文件目录的详情

在这里插入图片描述 /bin (/usr/bin 、 /usr/local/bin)
是Binary的缩写, 这个目录存放着最经常使用的命令

/sbin (/usr/sbin 、 /usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

/home
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/root
该目录为系统管理员,也称作超级权限者的用户主目录。

/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/etc
所有的系统管理所需要的配置文件和子目录

/usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。

/boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里

/proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/srv
service缩写,该目录存放一些服务启动之后需要提取的数据。

/sys
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

/tmp
这个目录是用来存放一些临时文件的。

/dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储。

/media
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。

/var
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/usr/local
这是另一个给主机额外安装软件所摆放的目录。一般是通过编译源码方式安装的程序。

/opt
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/selinux
SELinux是一种安全子系统,它能控制程序只能访问特定文件。

vi编辑器

VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。
VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。

vi编辑器的三种模式及其转换

vi编辑器有三种模式,分别是一般模式,命令模式和编辑模式,三种模式的转换如下图所示:

在这里插入图片描述

一般模式

以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 可以使用“上下左右”键来移动光标,可以使用“删除字符”或“删除整行”来处理档案内容, 也可以使用“复制”、“粘贴”来处理文件数据。

指令 功能
yy 复制光标当前一行
y数字y 复制一段(从第几行到第几行)
p 箭头移动到目的行粘贴
u 撤销上一步
dd 删除光标当前行
d数字d 删除光标(含)后多少行
x 删除一个字母,相当于del,向后删
X 删除一个字母,相当于Backspace,向前删
yw 复制一个词
dw 删除一个词
shift+^ 移动到行头
shift+$ 移动到行尾
gg或者1+G 移动到页头
G 移动到页尾
数字+G(先输入数字,在按G) 移动到目标行

编辑模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容,使用"i, I, o, O, a, A, r, R"等任何一个指令之后才会进入编辑模式。
通常在Linux中,按下这些按键时,在画面的左下方会出现"INSERT或 REPLACE"的字样后,才可以进行编辑。而如果要回到一般模式时, 则必须要按下"Esc"即可退出编辑模式。

指令 功能
i,I 当前光标前
a,A 当前光标后
o,O 当前光标行的下一行
s,S s:删除当前字符并进入编辑 S:删除整行并进入编辑
R 进入替换模式

指令模式

在一般模式当中,输入“: / ?”3个中的任何一个按钮,就可以进入指令模式。
在指令模式当中, 可以提供“搜寻资料”等动作,读取、存盘、大量取代字符、离开vi 、显示行号等动作也是在此模式中完成。

命令 含义
: w 保存
: q 退出
: ! 强制执行
: %s/old字符/new字符 批量替换
/ 要查找的词 n 查找下一个,N 往上查找
:set nu/:set nonu 显示行号/关闭行号

Linux运行级别runlevel

查看默认级别: vi /etc/inittab

Linux系统有7种运行级别(runlevel):常用的是级别3和5

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

在这里插入图片描述

Linux分区

linux磁盘分区主要分为基本分区/主分区(primary partion)和扩展分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。

Linux的分区和Windows分区的对比:

在这里插入图片描述

在Windows操作系统中,是先将物理地址分开,再在分区上建立目录。在Windows操作系统中,所有路径都是从盘符开始,如C://program file。
Linux正好相反,是先有目录,再将物理地址映射到目录中,这个将物理存储空间映射到Linux目录下的操作叫做挂载,挂载完成后,该目录的存储空间的大小就是与其挂载的物理存储介质的大小。
在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。

Linux默认的三个分区:

boot分区

该分区对应于/boot目录,约100MB.该分区存放Linux的Grub(bootloader)和内核源码。用户可通过访问/boot目录来访问该分区.换句话说,用户对/boot目录的操作就是操作该分区。

swap分区

该分区没有对应的目录,故用户无法访问。
Linux下的swap分区即为虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行。所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行。
虚拟内存:是指将硬盘上某个区域模拟为内存。因此虚拟内存的实际物理地址仍然在硬盘上。虚拟内存,或者说swap分区只能由系统访问,其大小为物理内存的2倍。

根分区

在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区。因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!