一.vim编辑器

1.vim的三种模式

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

a.命令行模式

| 命令 | 含义 |
| ----------- | ------------------------------------------------------------ |
| yy | 复制光标所在行,3yy表示复制3行 |
| p(小写p) | 光标所在行后面粘贴 |
| P(大写P) | 光标所在行前面粘贴 |
| gg | 光标快速跳到文件首行,并且定位到首字符,3gg表示快速跳到文件第3行行首字符 |
| G | 光标快速跳到文件尾行,并且定位到首字符 |
| home\|^ | 跳转到行首 |
| end\|$ | 跳转到行尾 |
| dd | 删除光标所在行,3dd表示删除3行(包括光标所在行) |
| d^ | 从光标位置删至行首,不包括光标位 |
| d$ | 从光标位置删至行尾,包括光标位,与D作用相同 |
| dG | 删除光标所在行以及下面所有行 |
| dgg | 删除光标所在行以及上面所有行 |
| ==x(小写)== | 删除光标所在字符后面一个字符,3x删除3个字符 |
| X(大写) | 删除光标所在字符前面一个字符,3X删除3个字符 |
| u | 撤销操作,ctrl+r 取消撤销 |


案例如下
[root@localhost tmp]# vi /tmp/passwd
[root@localhost tmp]# vi +2 /tmp/passwd 进入文件后光标在第2行
[root@localhost tmp]# vi +/root /tmp/passwd 进入文件后会高亮所有root关键字

b.编辑模式

i 从光标所在字符前开始插入
a 从光标所在字符后开始插入
I 从光标所在行行首开始插入
A 从光标所在行行尾开始插入
o 从光标所在行下新建一行开始插入
O 从光标所在行上面新建一行开始插入
S 删除光标所在行开始插入

 c.底行模式

保存和退出
:w 保存 :w 文件名 保存到另一个文件
:q退出 :wq保存和退出
:q! 强制退出 :wq!保存并强制退出
:x 若已修改文件,则保存退出;若未修改文件则退出

搜索和替换
/root 搜索root,n向下匹配,N向上匹配
:%s/root/ROOT/
:%s/root/ROOT/g
:%s/root/ROOT/gc
:%s/\/root/\/ROOT/g 替换/root,需要用\转义/
:%s#/root#/ROOT#g 替换/root,使用#为分隔符
:5s/root/ROOT/g 只替换第五行

其他功能
:noh 取消高亮
:set nu或:set number 设置临时行号,退出再进就没有了
若要永久设置行号,需要在/etc/vimrc文件最后追加上set number
:set list 可以查看控制字符

地址定位
:1,3 w 文件file 1到3行保存到另一个文件file
:r /tmp/passwd 在光标所在行读取passwd文件的内容
:3r /tmp/passwd 在第三行下读取passwd文件的内容
:nr! command 在第n行下读取command命令的执行结果
:n! command 用command的执行结果替换第n行

2.多窗口编辑问题

O(pen for Read-Only):打开成只读文件。
E(dit):用正常方式打开要编辑的文件,并不会载入暂存文件的内容。这很容易出现两个用户相互改变对方的文件的问
题。
R(ecover):加载暂存文件的内容。
D(elete):如果你确定这个暂存文件是没有用的,则可以删除。
Q(uit):不进行任何操作,回到命令行。
A(bort):忽略这个编辑行为,和Q类似。
需要注意的是:
这个暂存文件不会因为你结束vim后自动删除,必须要手动删除。否则每次打开对应的文件时都会出现这样的提示。

3.可视化模式

ctrl+v可以切换到该模式

二.linux用户管理

1.用户概念及作用

linux系统用来管理系统和服务的人

作用,管理文件,linux下一切皆文件

​ 文件基本管理:创建,修改,删除等

​ 文件高级管理:程序安装,升级,卸载等,终极目的是对外提供稳定的服务

2.用户分类

超级用户,管理员root,具有最大权限,uid=0

系统用户,由程序产生,用于程序运行时的身份,默认不能登录系统,1<=uid<=499;rh7下1<=uid<=999

普通用户:由root创建,对系统进行有限的管理维护操作,可以登录系统,500<=uid<=60000;rh7下1000<=uid<=60000

3.用户的基本管理

a.用户添加(useradd)

格式:useradd [选项] 用户名
-u uid
-g 指定主组,组名或gid
-G 指定用户附加组
-d 指定用户家目录
-s 执行用户默认shell
-c 用户描述

案例
[root@localhost tmp]# useradd -u 666 u1

/etc/shells 系统支持的shell
其中/sbin/nologin 不能登录系统

保存用户信息配置文件/etc/passwd
/etc/paaswd配置文件
以冒号:分割为7列,如下:
account 用户名称
password 密码,将密码单独存放在另外一个文件中
UID 用户ID
GID 组ID
GECOS 用户描述说明
directory 用户的家目录
shell /bin/bash用户的默认shell,其中/sbin/nologin表示非交互,不能登录系统

用户密码信息保存文件/etc/shadow

用户账户信息修改(chage)
chage --help
-d 修改用户最后一次更改密码的时间,修改为0时,则下次登录时必须修改密码
-m 修改密码的最小存活期(几天后才能修改密码)
-M 修改密码的最大存活期(每隔多少天更新一次密码)
-W 修改密码过期前警告(过期前几天发出警告)
-I 修改允许密码过期几天
-E 修改账户过期时间
-l 列出账户的信息

案例如下
[root@localhost home]# chage -d 0 boss01
[root@localhost home]# chage -l boss01
Last password change : password must be changed
Password expires : password must be changed
Password inactive : password must be changed
Account expires : Jun 04, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 15
Number of days of warning before password expires : 7
[root@localhost home]#

b.用户密码修改

root下: passwd inst01 修改inst01的用户密码
inst01下直接输入passwd回车,修改当前用户的密码

c.用户信息修改

-u 修改用户uid
-g 修改用户主组
-G 修改用户附加组
-d 修改用户家目录
-s 修改用户默认shell

案例
[root@localhost home]# usermod -u 700 boss01
[root@localhost home]# ^C
[root@localhost home]# cat /etc/passwd |grep boss01
boss01:x:700:509::/home/boss01:/bin/bash
[root@localhost home]#

d.用户删除

-r 删除用户时同时删除用户家目录和邮箱等
用户邮箱默认在/var/spool/mail/用户名
-f 强制删除正在登录的用户

案例
[root@localhost home]# userdel -r jack
[root@localhost home]# ll jack
ls: cannot access jack: No such file or directory
[root@localhost home]#

三.linux用户组管理

1.组和用户的关系

组的目的是==管理用户,==用户是管理维护系统或服务的人

用户是管理文件的,文件使用用户创建的,文件属性中的属组就是用户的主组

2.组的基本管理

a.组创建groupadd

-g 指定gid
组信息配置文件/etc/group

案例
[root@localhost home]# groupadd -g 600 g1
[root@localhost home]# tail -1 /etc/group
g1:x:600:
[root@localhost home]#
b.修改组groupmod

-g 修改gid

案例
[root@localhost home]# groupmod -g 601 g1
[root@localhost home]# tail -1 /etc/group
g1:x:601:
[root@localhost home]#

c.删除组groupdel

格式:groupdel 组名
[root@localhost home]# groupdel g1
[root@localhost home]# tail -1 /etc/group
itcast6:x:514:
[root@localhost home]#

d.组成员管理gpasswd

语法:gpasswd [选项] 组名
-a 添加组成员
-A 指定管理员,管理员用户可以添加组成员等
-d 从组中删除组成员
-M 指定组员,可以批量添加成员到组中

案例
[root@localhost home]# gpasswd -a tom boss01
Adding user tom to group boss01
[root@localhost home]# gpasswd -A tom boss01
[root@localhost home]#
[root@localhost home]# gpasswd -d tom boss01
Removing user tom from group boss01
[root@localhost home]#

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄