Linux第二弹
Updated:
VIM文本编辑器
- VI是什么?
- 即 Visual Interface,一个可视化接口
- 类似 Windows 的记事本
- VIM是什么?
- VI的升级版
- 支持多级撤销(u)
- 可跨平台运行
- 支持语法高亮
- 支持图形界面
- VIM编辑器的操作模式
- VIM编辑器的三种操作模式 :
- Conmand Mode 命令模式
- Insert Mode 输入模式
- Last Line Mode 底行模式
- 就比如说 :
- 你用 vim abc 创建并打开了一个abc
此时,默认处于命令模式,即无法直接写入东西 - 然后,让我们输入一个命令 :i(即insert)
这样它就从命令模式变成了输入模式啦! - 输入完成后,按一下 Esc(退出输入模式),再输入 :wq(保存并退出文件编辑):
然后就变成了底行模式 –> 最后回车执行命令 - 让我们来查看一下是否有正确输入并保存 :
就很完美 ( • ̀ω•́ )✧
- 你用 vim abc 创建并打开了一个abc
- 底行模式和命令模式的区别 :
- 底行模式 :输入的命令会在底行显示,且必须按下回车才会执行
- 命令模式 :输入的命令不会显示,并且即输即执行
- VIM编辑器的三种操作模式 :
- VIM编辑器的命令格式
- 最基础的命令格式 :
- 基本格式 :vim [文件名]
- 作用 :直接进入文件,以进行后续操作
- 进入时的各种光标定位 :
- 定位到最后一行 :vim + [文件名]
- 定位到指定某一行 :vim +行数 [文件名]
- 定位到最后一行 :vim + [文件名]
- 查找某个单词第一次出现的那行 :
- 基本格式 :vim +/单词 [文件名]
- 比如说我们来查找 ooo :
- 但是呢,再一次使用这个命令的时候,我们会发现光标变了 :
为什么呢?因为光标是具有记忆功能的,它会记录你上次打开的位置,然后在此下的下面一行,这样子 - 那我要怎么找到需要的那个 ooo 呢?可以这样 :
按 n 就可以在这几个单词之间来回切换啦
- 在多个文件中进行切换 :
- 比如说我现在创建了 aa bb cc :
- 打开后会发现只进入了 aa :
- 那要怎么进入 bb cc 呢?底行命令 :n(跳转至下一个文件):
- 那要怎么回到 aa 呢?底行命令 :N(回到上一个文件):
- 然后就可以在各个文件中快乐地切换啦
- 比如说我现在创建了 aa bb cc :
- 最基础的命令格式 :
- 底行模式及命令模式的常用操作
- 底行模式 :
- :w 保存当前修改
- :q 退出当前文件
- :! 强制执行某一命令
- :wq 保存退出
- :q! 不保存,强制退出
- :ls 列出当前编辑器中打开的所有文件
- :n 切换到下一个文件
- :N 切换到上一个文件
- :数字 快速将光标定位到某行
- :/xxx 从光标位置向后搜索,将光标定位到搜索出的第一个xxx处
- ?xxx 从光标位置向前搜索,将光标定位到搜索出的第一个xxx处
- 命令模式 :
- h 光标左移
- j 光标下移
- k 光标上移
- l 光标右移
- ctrl + f 向下翻页(front)
- ctrl + b 向上翻页(back)
- ctrl + d 向下翻半页(down)
- ctrl + u 向上翻半页(up)
- dd 删除光标所在行
- o 在光标所在行下方插入一行并切换到输入模式
- yy 复制光标所在行
- p 在光标所在行的下方粘贴
- P 在光标所在行放上方粘贴
- 底行模式 :
磁盘管理
- 查看磁盘分区的使用状况 :df
- 基本格式 :df [选项]
- 选项 :
- -l 仅显示本地磁盘(默认)
- -a 显示所有文件系统(比如各种0字节分区)的磁盘使用情况
- -h 以1024进制显示磁盘容量
- -H 以1000进制显示磁盘容量
- -T 显示磁盘分区类型(即各个分区使用的文件系统)
- -t 显示指定类型文件系统的磁盘分区
- -x 显示除指定类型文件系统的之外的磁盘分区
- -l 仅显示本地磁盘(默认)
- 统计磁盘上文件的大小 :du
- 基本格式 :du -s [选项] [文件名]
- 选项 :
- -s 指定统计目标
- -b 以byte为单位统计文件
- -k 以KB为单位统计文件
- -m 以MB为单位统计文件
- -h 按照1024进制统计文件
- -H 按照1000进制统计文件
- -s 指定统计目标
- Linux中的MBR分区
- 首先在虚拟机中创建一块新硬盘 :
- 然后就可以开始分区啦 :
- 进行MBR分区要用到fdisk :
- 通过 fdisk -l 查看详细信息 :
可以看到新添加的磁盘是没有分区表的信息的 - 通过 fdisk [设备路径] 来进入分区模式 :
- 输入 m 查看帮助信息 :
- 输入 n 添加新的分区 :
- p为主分区,e为扩展分区,l为逻辑分区(这里没出现就是了)
- 然后把后面几个选择走一遍,一个主分区就分好啦~
- 备注备注,后面几个选择分别为 :
- 指定分区编号
- 指定扇区的起始位置
- 指定扇区的终止位置(可以直接指定分区大小,比如这里的+3000M,就表示给这个分区指定3000M空间)
- 进行MBR分区要用到fdisk :
- 同理,分好其他几个,输入p进行查看 :
- sdb1:主分区 sdb2:扩展分区 sdb5/sdb6:逻辑分区
- 备注 :输入 d 可以按分区编号删除分区
然后就可以重新分配啦
- sdb1:主分区 sdb2:扩展分区 sdb5/sdb6:逻辑分区
- 最后!输入 w 保存分区情况,再用 fdisk -l 查看一下 :
- 我们的MBR磁盘分区就完美分完啦 φ(>ω<*)
- 首先在虚拟机中创建一块新硬盘 :
- MBR和GPT分区的区别 :
- MBR :
- 主分区不超过4个
- 单个分区容量最大2TB
- GPT :
- 主分区数量几乎没有限制(最多128个)
- 单个分区容量几乎没有限制(每个分区18EB)
- MBR :
- Linux中的GPT分区
- 同样,先加一块硬盘上去
- 然后开始我们的GPT叭!
- GPT要用到的是 parted :
- 输入 help 查看帮助文档 :
- 输入 select [设备路径] 切换磁盘 :
- 然后指定分区表类型(若为MBR,则跟 msdos):
- 输入 print 查看当前硬盘分区详情 :
- 或者,输入 print all 查看全部硬盘分区详情 :
主要是让它感受一下自己只是一块没有分区表的野硬盘
- GPT要用到的是 parted :
- 然后就可以开始分区了,首先来看一下交互模式 :
- 直接放个完整流程好了反正都是中文嘻嘻嘻 :
- 然后还可以用 print 确认一下 :
- 这里要解释一下为什么要从1而不是0开始 –>
出于某种不可抗拒的原因,从0开始会出现一个这样的警告 :
以至于不得不cancel掉(虽然其实好像是受4k对齐的影响,虽然其实我并不很懂4k对齐是啥)
- 直接放个完整流程好了反正都是中文嘻嘻嘻 :
- 然后感受一下命令模式 :
- 依然是一张图 :
- 依然是一张图 :
- 最后 如果有哪里分得不太满意 –> 就删除叭
- 命令为 rm [分区编号] ,就不截图啦
- 改成满意的之后,输入 quit 退出即可,不用专门保存辣
- Linux中分区的格式化 :mkfs
- 首先来看一下sdb磁盘分区在设备上的情况
- 然后就可以分别格式化sdb的几个分区了 :
- 方法一 :mkfs.[文件系统类型] [设备名称]
- 方法二 :mkfs -t [文件系统类型] [设备名称]
- 方法一 :mkfs.[文件系统类型] [设备名称]
- 注意 :
- 只有主分区和逻辑分区可以格式化,扩展分区不可以
- gbt硬盘的分区表只能通过启动 parted 查看
- 首先来看一下sdb磁盘分区在设备上的情况
- Linux中的挂载分区
- 分区默认的挂载目录 :/mnt
- 挂载 :
- 卸载(取消挂载):
- 注意 :
- 这个挂载是非永久性的,重启后就会失效
- 如果想让它变成永久性的话,可以写入到/etc/fstab
- 给硬盘添加一个swap
- 大致步骤如下 :
- 建立一个普通的Linux分区
- 修改分区类型的十六进制编码
- 格式化交换分区
- 启用交换分区
- 具体一点就是这样 :
- 首先,直接对我们的第二块硬盘的6号分区下手好了
- 输入t修改分区类型,L查看类型编号
- 修改编号为82(swap分区),输入p确认一下,然后w保存
- 首先,直接对我们的第二块硬盘的6号分区下手好了
- 大致步骤如下 :
用户管理
- 什么是用户和用户组?
- 用户 :使用操作系统的人
- 用户组 :在该系统中具有相同权限的用户们
- 用户组信息 :
- 存储在 /etc/group 中
- 让我们进入这个文件看一看 :
- 那么被冒号隔开的四个属性分别是啥呢?
- myGroup 组名称
- x 组密码占位符
- 111 每个用户组的唯一编号
- aa,bb,cc 组中用户名列表
- 注意注意 :
- 当组内只有一个用户,且用户名和组名相同时,组内用户名列表是可以直接省略掉的
- root用户组(即超级管理员用户组)的组号一定为0
- 组号1-499属于系统预留的组标号(一般是预留给安装在该操作系统上的软件或服务的,比如说mySQL)
- 用户手动创建的组编号是从500开始的
- 组密码占位符固定为x
- 组密码信息 :
- 存储在 /etc/gshadow 中
- 同样,让我们进去看一看这个文件 :
- 这里的每段分别表示 :
- myGroup 组名称
- 组密码(为*、!、或为空时,均表示组密码为空)
- 组管理者(为空时表示组内所有用户均可管理)
- aa,bb,cc 组内用户名列表
- 注意 :
- 这里的行数与group中的行数相一致
- 每行都与group中的该行一一对应
- 用户信息 :
- 存储在 /etc/passwd 中
- 进去查看一下 :
- 每段分别表示 :
- userName 用户名
- x 密码占位符
- 111 用户编号
- 222 用户组编号
- xxxxxxxxx 用户注释信息
- /home/userName 用户主目录
- /bin/bash shell类型
- 备注 :
- 同样,每行是一一对应的
- 其实不用管这么多啦
- 稍微需要注意一点的是这个用户主目录,它是指系统为除root用户外的其他用户,在home目录下以该用户的用户名创建的一个,用来存放该用户个人文件的,目录
- 用户的密码信息 :
- 存储在 /etc/shadow 中
- 查看一下 :
- 前两段分别为用户名和被加密过的密码
- 后面就不用管了啦
(懒死你算了)
- 用户和用户组的各种命令 :
- 不管了不管了 上链接!用啥查啥 万岁 ٩(๑>◡<๑)۶
http://www.runoob.com/linux/linux-user-manage.html
- 不管了不管了 上链接!用啥查啥 万岁 ٩(๑>◡<๑)۶
又到了幸福的结尾时间
- 就酱紫啦 先留个印象 有需要再说 嗯!