vim及用户组管理

一.vim编辑器

1.vim的三种模式

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]#

猜你喜欢

转载自blog.csdn.net/sxlong_work/article/details/88782341
今日推荐