本博文的内容来自Linux 达人养成计划 II 的个人学习笔记,内容较为详细,供大家学习参考之用。
目录
第1章 VI 与 VIM
–VIM 支持多级撤销
–VIM 可以夸平台运行
–VIM 语法高亮
–VIM 支持图形界面
1.1 VI 编辑模式
Command Mode #命令模式
Insert Mode #输入模式
Last Line Mode #底行模式
vim abc 打开文件
vim + abc 打开文件光标在最后一行
vim +3 abc 打开文件光标定位到第三行
vim +/xxx abc 光标定位到xxx第一次出现的那行。 n命令移到下一个xxx所在行
vim aa bb cc 创建多个文件,首先处于aa文件,只要在底行 :n就能切换到下一个文件,如果是最后一个文件无法切换了,这时候输入:N
1.2 底行模式常用命令
:w #执行保存修改
:q #退出
:! #强制执行
:ls #列出所有打开文件
:n #切换到下一个文件
:N #切换上一个文件
:15 #光标快速定位到15行
:/xxx #从光标位置开始向后搜索找到第一个xxx字符串,光标就定位到那里
:?xxx #从光标位置向前搜索,搜索到第一个xxx字符串,就定位到那里
1.3 命令模式常用命令
-h #光标左移
-j #光标下移
-k #光标上移
-l #光标右移
-ctrl + f #向下翻页(front)
-ctrl + b #向上翻页(back)
-ctrl + d #向下翻半页(down)
-ctrl + u #向上翻半页(up)
-dd #删除光标所在行
-o #在光标所在行的下方插入一行并切换到输入模式
-yy #复制光标所在行
-p #在光标所在行的下方粘贴
-P #在光标所在行的上方粘贴
第2章 磁盘管理
df 查看磁盘分区使用情况
-l 仅显示本地磁盘(默认)
-a 显示所有文件系统的磁盘使用情况,包含比如/proc/
-h 以1024进制计算最合适的单位显示磁盘容量
-H 以1000进制计算最合适的单位显示磁盘容量
-T 显示磁盘分区类型
-t 显示指定类型文件系统的磁盘分区
-x 不显示指定类型文件系统的磁盘分区
du 统计磁盘上文件大小
-b 以byte为单位统计文件
-k 以KB为单位统计文件
-m 以MB为单位统计文件
-h 按照1024进制以最合适的单位统计文件
-H 按照1000进制以最合适的单位统计文件
-s 指定统计目标
在保留原硬盘基础下,添加一块硬盘,支持热插拔更好。
使用fdisk 分区工具
- 主分区
- 逻辑分区
- 扩展分区
2.2 磁盘分区和格式化
通过之前的学习,我们已经知道在Linux系统中硬件设备都是以文件的形式存在于根目录下的dev目录下。硬件设备都是由Linux系统自动识别的,当硬盘添加到服务器中,服务器开机之后,就会被自动的识别,但是它并不能直接使用,需要对硬盘进行分区,格式化、挂载后才行。将分区挂载到指定的挂载点。
2.2.1分区模式之MBR
这种分区模式比较老旧,受以下限制因素:
1、主分区不超过4个
2、单个分区容量最大2TB
2.2.2 分区模式之GPT
1、主分区个数“几乎”没有限制
2、单个分区的容量“几乎”没有限制(每个分区最多可达到18EB )注意:1EB = 1024PB,1PB = 1024TB,1TB = 1024GB
fdisk 只能给硬盘做MBR分区,输入的是扇区数据块的始末编号
parted 既能给硬盘做MBR分区,又能做GPT分区,输入的是数据块的起始位置和大小
1、输入parted命令,启动parted分区工具
2、输入help查看帮助信息
3、切换分区目标磁盘,输入select /dev/sdc
4、给目标硬盘指定分区表的类型,然后才能给硬盘添加分区,输入mklable命令,
(如果使用MBR分区,输入mklabel msdos;使用GPT分区,输入mklabel gpt)
5、输入print 查看当前分区详情;输入print all命令,查看所有分区详情
6、parted分区操作模式:①交互模式(使用提问模式选择) ②命令模式
交互模式添加分区:
添加分区指令:输入mkpart命令
输入分区名称
File system type?[ext2]?选择分区系统类型(默认ext2),
Start?分区从第几MB开始:从0开始
End?结束位置:2000MB
Ignore/Cancel?(4K对齐,对硬盘分区很重要,为了达到最佳性能,分出1-2000MB空间,让数据块对齐)
输入Cancel取消
命令模式添加分区:
mkpart test(分区名称) 2000(开始位置2000MB) 3000(结束位置MB)
注意:使用命令模式添加分区的时候,分区名称是不能省略的
删除分区:rm 3(分区编号)
unit GB命令:使用GB给分区指定开始和结束位置
quit 命令: 退出分区工具
2.2.3 格式化
mkfs.ext3 /dev/sdb1 #将sdb1格式化为ext3文件系统类型
mkfs -t ext4 /dev/sdb2 #将sdb2分区格式化为ext4文件系统类型,此法和上一条效果一样!!
需要注意的是:
在MBR中,只有主分区和逻辑分区才可以格式化,扩展分区不可以格式化。
在GPT,使用fdisk没法看到,只有用parted分区工具和print指令才能查看GPT硬盘的分区表
2.2.4 挂载分区
(有关于挂载的问题,也可参考我之前的博文https://blog.csdn.net/sunshine_lyn/article/details/81739300)
在格式化之后,要往分区中存放数据,需要挂载,若不挂载的话,这个分区是不能使用的。
1、首先要先建立好文件夹(挂载点)
2、执行挂载命令:mount /dev/sdb1 /mnt/imooc #mount 分区 挂载点
卸载:umount /mnt/imooc
想让分区在重启后自动挂载的,需要执行以下命令:
vim + /etc/fstab
进入如下界面后进行配置,输入设备名称、挂载点、文件系统类型,后面两个默认参数为0,0即可。
2.2.5 swap分区
如何为硬盘添加swap分区?
第一,建立一个普通的Linux分区
第二,修改分区类型为16进制编码
第三,格式化交换分区
第四,启用交换分区
root@imooc:~# fdisk /dev/sdb
Command (m for help):p #查看分区
Command (m for help):t #选择分区
Partition number (1-6):6
Hex code(type L to list codes):L #输入16进制编码,先查看一下,找到编号82为交换分区
Hex code(type L to list codes):82
Command (m for help):p
Command (m for help):w #保存
root@imooc:~# mkswap /dev/sdb6 #格式化swap交换分区,和之前分区操作有区别
root@imooc:~# swapon /dev/sdb6 #启用交换分区
root@imooc:~# free #查看swap加载状况
root@imooc:~# swapoff /dev/sdb6 #停止
第3章 用户管理
用户:使用操作系统的人,Linux中允许多个用户同一时间登陆同一个操作系统
用户组:具有相同系统权限的一组用户,Linux中,允许存在多个用户组
3.1 配置文件
(1)/etc/group 存储当前系统中所有用户组的信息
-Group : x : 123 :abc,def,xyz
-组名称 :组密码占位符 :组编号 :组中用户名列表
(2)/etc/gshadow 储存系统用户组密码信息
-Group: * : : abc,def
-组名:组密码 :组管理者:组中用户名列表 (注明:组管理者一般为空代表该组所有用户都可以管理该组)
(3)/etc/passwd 存储当前系统中所有用户信息
-user : x : 123 : 456 : xxxxxxxx:/home/user :/bin/bash
-用户名:密码占位符:用户编号 :用户组编号:用户注释 :用户主目录 :shell类型
注意:除了root用户外,创建用户时,会在home下创建一个和用户名一样的文件夹, 超级管理员root编号为0。(4)/etc/shadow 存储当前系统中所有用户密码
-user :passw:::::
-用户名:密码 :::::
以上四个配置文件包含了有关用户和用户组的所有配置信息,无论是用户还是用户组的配置信息都单独保存。
3.2 用户组和用户的基本管理命令
3.2.1 用户基本命令
1. useradd 用户名 #添加用户,所在用户组与用户名同名
2. useradd -g 组名 用户名 #添加用户,指定其所在的组
3. useradd -d 目录 用户名 #添加用户,制定其用户的家目录,没有指定所在组时,默认用户名就为用户组名
4. usermod -c 注释信息 用户名 #为指定用户名添加注释
5. usermod -l 新用户名 旧用户名 #更改用户名
6. usermod -d 目录 用户名 #更改用户个人文件夹的路径
7. usermod -g 新用户组 用户名 #更改指定用户的所属组
8. userdel 用户名 #删除用户,但是不删除用户个人文件夹里的文件
9. userdel -r 用户名 #删除用户并且删除用户个人文件夹里的文件
3.2.2用户组基本命令
1. groupadd 组名 #添加用户组
2. groupadd -g 组编号 组名 #添加用户组并指定组编号
3. groupmod -n 新组名 原组名 #更改用户组名称
4. groupmod -g 组编号 组名 #更改用户组编号
5. groupdel 组名 #删除用户组
只允许root,禁止普通账号登录服务器,如何操作?
在etc目录下创建一个nologin文件(文件内容无关紧要)
touch /etc/nologin #使用touch创建一个空文件
3.3 用户和用户组进阶命令
锁定账号:passwd -l 用户名
解锁账号:passwd -u 用户名
删除用户密码:passwd -d 用户名
给用户添加附属组:gpasswd -a 用户名 用户组
删除用户附属组:gpasswd -d 用户名 用户组
设置用户组密码:gpasswd 用户组名称
既指定主要组又指定附属组:useradd -g group1 -G group1,group2
当用户登陆操作系统中,要把当前的组身份切换到附属用户组时。如果当前的附属用户组设有组密码,就需要输入(组密码也就是在此时用的)。
好啦,到这里,已经把Linux达人养成计划的I和II都学完了,跨入了Linux的大门哈哈哈哈~之后还要在实战中多加练习才行,当然,对于Linux中更为深入的知识点,之后也会逐渐更新哦,希望和我一样对Linux非常感兴趣的小伙伴们一起加油(●'◡'●)