目录
vim
基本上vim可以分为三种状态,分别是命令模式 (command mode)、插入模式 (Insert mode) 和底行模 式 (last line mode).
命令行模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last )
插入模式:也称为编辑文本模式 只有在Insert mode下,才可以做文字输入,按 「ESC」键可回到命令行模式。
底行模式: 将文件保存或退出vi,也可以设置编辑环境,如搜索、替换、保存、退出、撤销、高亮等等
安装vim
yum -y install vim
插入命令
i 在光标前插入
I 在光标当前行开始插入
a 在光标后插入
A 在光标当前行末尾插入
o 在光标当前行的下一行插入新行
O 在光标当前行的上一行插入新行
定位命令
显示行号
:set nu
取消行号
:set nonu
gg 到文本的第一行
G 到文本的最后一行
:n 到文本的第n行
$ 当前行的最后一个字符
替换和取消命令
u 取消上一步操作 Ctrl+r 返回到undo之前
r 替换光标所在处字符
R 从光标所在处开始替换,按esc结束
删除命令
x 删除光标所在字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到末尾行的所有内容
D 删除光标所在处到行尾的内容
删除指定范围的行,从第5行到第7行
:5,7d
常用快捷键
Shift+ zz 保存退出,与“:wq”作用相同
v 进入字符可视模式
V 或 Shift + v 进入行可视模式
Ctrl + v 进入块可视模式
复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴 功能。
查找
用"/"加上要查找的内容.例如"/hello"或者是"?hello"也是可以的.
替换
「r」:替换光标所在处的字符。 ,按一下"r"然后输入要即可.
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
恢复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。
按多次"u"可以执行多次恢复.就相当于"CTRL +Z"的操作.
替换
在命令模式下使用“s/原字符/新字符/g” 代表当前行所有
如果想全局替换,s变为%s
文件内全部替换:
把abc替换成123
:%s#abc#123#g
(如文件内有#,可用/替换,:%s/abc/123/g)
文件内局部替换:
把20行到30行内abc替换成123
:20,30s#abc#123
(如文件内有#,可用/替换,:%s/abc/123/g)
用户管理
创建用户
1.常用选项:
useradd [选项] 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义
-c comment:添加注释
案例:创建用户 yyl 不带任何选项
验证是否成功:
a. 验证/etc/passwd的最后一行,查看是否有yyl的信息;
b. 验证是否存在家目录(在Centos下创建好用户之后随之产生一个同名家目录);
2.用户操作
创建用户
useradd -g 666 -u 77 hhhtest
删除用户
userdel -r hhhtest
更改密码
passwd hhhtest
切换用户
su root
3.查看信息
ls /home查看用户
whoami查看当前使用的用户
cat /etc/passwd 查看用户信息
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
grp grouptest /home/test grouptest 组的成员将拥有对该目录的访问权限和控制权。
kill -9 71860 杀死进程
创建组
groupadd -g 1172 qy172 添加分组
cat /etc/group 查看分组
groupdel tset2删除分组
4.修改用户的组
usermod -g 用户组 用户名
注:-g–gid,修改用户的gid,该组一定存在
多组:
usermod -G 组名,组名 用户名
5.给文件授权到组
-- change group premission
chgrp 组名 文件名
chgrp g1 /home/test
6.设置文件权限
chmod 770 /home/test
750
不能对目录里原有的文件进行操作
用数字来表示权限(r=4(read),w=2(wirte),x=1(excute),- =0)
d 代表的目录
l 代表的是链接
- 代表的是文件
rwx 从2-4 三位代表的是当前用户的权限 读写操作
r-x 从5-7 代表的是当前用户所在的组的权限 读 和操作
r-x 其他组 读和操作的权限
日期
date查看日期
以 2024-01-11 20:23:20的格式
date "+%Y-%m-%d %H:%M:%S"
获取之前或者之后的某个时间
date -d "-1 year" "+%Y-%m-%d %H:%M:%S"
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
查看硬件时间
hwclock
设置当前的时间
date -s "2024-01-11 19:21:00"
用上海日期覆盖本地的日期
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime