一、vi,vim
vim是vi的升级版
1、命令模式下
光标移动
-
h:左 l:右 j:下 k:上
数字+h/l/j/k 移动多少格 -
w 跳到下一个单词的开头
-
e 跳到下一个单词的末尾
-
b 跳到下一个单词的开头
数字+w/e/b 跳多少个单词 -
PgDO CTRL+F:向下翻页
-
PgUP CTRL+B:向上翻页
在一行中
- 行首:home,0,^ 0,home 跳到最前面;^略过首行空格
- 行尾:end,$
在行间
- gg:跳到行首
- G:跳到尾行
行号+gg:跳到指定行
删除
- x,delete 删除光标所在的字符
- dd:删除整行
- 数字+dd :删除当前行开始后的几行
- 行间之间的删除 光标之后:D,d+$
光标之前:d+^
复制
- yy:复制光标所在行
- 数字+yy:复制光标及光标以下的几行
粘贴
- p:粘贴光标所在下一行
- P:粘贴光标所在上一行
查找
- /要查找的内容 ------从上到下查找 光标所在位置
- ?要查找的内容 -------从下往上查找
替换
- r:替换光标所在字符
- R:整体替换字符; ESC退出
撤销
- u:撤销一次操作
- 数字+u: 撤销多次操作
- Ctrl+r:恢复上一次的撤销操作
重复上一次操作
可视化
- v:按照字符选择
- V:按照矩形选择(选一行)
补充:ctrl+v 按照字符选,可以上下左右调整所选区域大小
2、命令模式----->编辑模式
- i:光标前 I:行首
- a:光标后 A:行尾
- o:光标下一行 O:光标上一行
3、末行模式
-
:wq
-
: w
w /文件路径/文件名 (不存在直接创建) -
:e /文件路径/文件名 打开一个新的文件 编辑
e ~/passwd1 ===> e /root/passwd1 ===>e ./passwd
/root/ ===> /~/ -
r / 文件路径/文件名 读入一个文件内容
r /etc/passwd -
s /old/new/ 替换光标所在行的第一个匹配的字段
-
s /old/now/g 替换光标所在行的所有的字段
-
行号1,行号2 s/old/new 指定行间所在行的第一个匹配的字段
-
行号1,行号2 s/old/new/g 指定行间所在行的所有的字段
(set nohlsearch 取消光亮) -
% s /old/new/ 全文所有行的第一个匹配的字段
-
% s /old/new/g 全文所有行的所有字段
-
% s /old/new/gc c:提示用户是否替换
-
% s /old/new/gic i:忽略大小写
-
:!+shell命令 在文档中执行shell命令
4、打开文件
- vim
- vim + 行号
- vim + /关键字
上次文件保存时光标所在位置
5、关闭文件
-
ZZ,命令模式关闭文件
-
.vimrc 配置在用户的家目录下, /home/user1/
set nu,标记行数
set ai -
/etc/vimrc 配置全局
二、压缩&解压缩
1、zip unzip
-
zip 压缩文件名(test.zip)要被压缩的文件名
-
zip -m test1.zip test2.txt 把test2添加到test1.zip
-
zip -d test1.zip test2.txt 把test2从test1.zip删除掉
-
zip test.zip *.txt -x test.10.txt 除test10以外,将所有.txt的压缩
-
zip -r /dir 递归压缩
-
unzip test1.zip
-
unzip test1.zip -d /压缩目录
-
unzip -v test1.zip 不解压,查看压缩内容
2、gzip,gunzip
-
gzip 被压缩的文件名,压缩后源文件不保留
-
gzip -c test.txt > test.txt.gz 压缩后源文件保留
-
gzip -r 目录 压缩了目录下的所有内容
-
gunzip test.txt.gz 解压文件
-
gunzip -c test.txt.gz > /root/test.txt 解压缩到特定目录,并且源文件保留
gunzip===gzip -d
不解压查看
[root@localhost test1]#zcat test5.txt.gz
[root@localhost test1]#zless test5.txt.gz
3、bzip2,bunzip2
-
bzip2 被压缩的文件名,压缩后源文件不保留
-
bzip -c test.txt > test.txt.bz2 压缩后源文件保留
-
bunzip2 test.txt.bz2
bunzip2 ===bzip2 -d
4、xz,unxz
-
xz 被压缩的文件名,压缩后源文件不保留
-
xzcat test.txt.xz 查看压缩后的文件内容
-
xz dir/*
-
unxz test.txt.xz
-
xz -d test.txt.xz
-
xz -d dir/*
5、xzcat test.txt.xz 查看压缩后的文件内容
练习作业
1、新建系统组mariadb, 新建系统用户mariadb, 属于mariadb组,要求其没有家目录,且shell为/sbin/nologin;尝试root切换至用户,查看其命令提示符;
2、新建GID为5000的组nebulaedu,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名;
3、新建用户fedora,其家目录为/users/fedora,密码同用户名;
4、新建用户www, 其家目录为/users/www;删除www用户,但保留其家目录;
5、为用户gentoo和fedora新增附加组nebulaedu;
6、复制目录/var/log至/tmp/目录,修改/tmp/log及其内部的所有文件的属组为nebulaedu,并让属组对目录本身拥有写权限;
研发部开发人员David和Peter属于组A,行政部人员Jack和Mike属于组B;
1.建立目录“/project_a”,该目录里面的文件只能由研发部开发人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;并要求在此目录下创建的文件研发组内成员可以互相访问
2…建立目录“/project_b”,该目录里面的文件只能由行政部人员读取、增加、删除、修改以及执行,其他用户不能对该目录进行任何的访问操作;要求在此目录下创建的文件行政部人员只能删除自己的文件,不得删除其他人员文件