文本编辑器 -vim
简单的文本编辑器就是记事本,Linux下的文本编辑器叫:vim
vi即是工具也是命令
vim + 文件名:如果是新文件,则出现new,相当于新建
如果是已存在的文件,则直接进入编辑器,下面的:数字+L代表多少行;数字+C代表多少字符
vi的三个模式
-
命令行模式(command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入insert mode下,或者到 last line mode。
-
插入模式(insert mode)
只有在此状态下,才可以编辑文字,esc键回到命令行模式
-
底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号······等。
编辑模式下的命令
插入命令 | 含义 |
---|---|
i | 在当前字符前插入文本 |
I | 在光标所在行首插入文本 |
a | 在当前字符后插入文本 |
A | 在光标所在行末添加文本 |
o | 在当前行后插入空行 |
O | 在当前行前插入空行 |
G/gg | 跳转到全文最后一行/首行 |
删除命令 | 含义 |
---|---|
r | 替换当前光标所在字符 |
x | 删除光标后一个字符,不能跨行删 |
X | 删除光标前一个字符,不能跨行删 |
dd | 删除光标所在行 |
数字+dd | 删除光标下的N行 |
d$ | 删除光标所在处到行尾的所有字符 |
u | 撤销前一操作 |
复制命令 | 含义 |
---|---|
yy | 当前一行 |
num+yy | 复制光标下的n行 |
p | 粘贴 |
cw | 改变(替换)光标所在处到结尾的单词(change) |
dw | 删除光标所在处的单词(delete) |
查找命令 | 含义 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
:{num} | 跳转到第n行 |
/string或?string | 从光标所在处查找相应的字符串 |
光标命令 | 含义 |
---|---|
k j h l | 上 下 移动命令 |
h l | 左 右 移动命令 |
ctrl+f | 向上翻页 |
n/N | 查找上一个/下一个 |
ctrl+b | 向下翻页 |
退出和保存命令 | 含义 |
---|---|
:q | 退出 |
:q! | 强制退出 |
:w+新名字 | 保存(改新名字) |
:wq | 保存当前文件并退出 |
:x | 保存当前文件并退出 |
查找并替换当前行命令 | 含义 |
---|---|
:s/Mem/memory/ | 替换当前行第一个Mem为memory |
:s/Mem/memory/g | 替换当前行所有Mem为memory |
查找并替换每行的命令 | 含义 |
---|---|
:%s/Mem/memory/ | 替换每行第一个Mem为memory |
:%s/Mem/memory/g | 替换每行所有Mem为memory |
查找并替换范围行的命令 | 含义 |
---|---|
:n,$s/Mem/memory/ | 替换第n行开始到最后一行中每一行的第一个Mem为memory |
:n,$s/Mem/memory/g | 替换第n行开始到最后一行所有的第一个Mem为memory |
Linux的定时任务
crontab -l 查看当前用户下有哪些定时任务
crontab -e 编辑当前用户定时任务
*分钟 *小时 *日 *月 *星期
minute:0~59之间的整数
hour:0~23之间的整数
day:1~31之间的整数
month:1~12之间的整数
week:0-6之间的整数,其中0代表星期日
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
实例:
每小时执行/etc/cron.hourly内的脚本
0 * * * * echo "have a break now” >> /etc/cron.hourly
每两个小时执行/etc/cron.hourly内的脚本
0*/2 *** echo "have a break now” >> /etc/cron.hourly
晚上11点到早上8点之间每两个小时和早上八点
*23-8/2,8 * * *
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
*11 4 * 1-3
定时任务的错误会报错发送到/var/spool/mail/root文件中
定时任务设定后,使用"tail -f + 文件名或路径" 查看定时任务实时更新内容