第6周
1
复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit ; sed -i 's@^[[:space:]]\+@#@g' rc.sysinit
2
复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; cp /boot/grub/grub.conf ; sed '/^[[:space:]]\+/d' grub.conf
3
删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符 sed '/^#[[:space:]]\+/d' rc.sysinit
4
为/tmp/grub.conf文件中前三行的行首加#号; sed -n '1,3s@^@#@gp ' grub.conf
5
将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1; sed -r 's@([enabled|gpgcheck])=0@\1=1@' epel.repo
6
每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202 0 */4 * * * /bin/cp -ar /etc /backup/etc-$(date "+%Y%m%d%H%M%S")
7
每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402 0 0 2,4,6 * * /bin/cp -ar /var/log/messages /backup/messages_logs/messages$(date "+%Y%m%d)
8
每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中 0 */2 * * * cat /proc/meminfo|grep -i '^s'>>/stats/memory.txt
9
工作日的工作时间内,每两小时执行一次echo "howdy" 0 */2 1-5 * echo "howdy"
10
创建目录/tmp/testdir-当前日期时间; #!/bin/bash mkdir /tmp/testdir-$(date "+%Y%m%d%H%M%S")
11
在此目录创建100个空文件:file1-file100 #!/bin/bash declare -i i=1 while [ $i -le 100 ];do touch file$i let i++ done
12
显示/etc/passwd文件中位于第偶数行的用户的用户名; cat /etc/passwd|sed -n '2~2p'|cut -d: -f1
13
创建10用户user10-user19;密码同用户名;
#!/bin/bash
for i in {10..19};do useradd user$i;passwd --stdin user$i ;done
14
在/tmp/创建10个空文件file10-file19; #!/bin/bash for i in $(seq 10 19);do touch /tmp/file$i ;done
15
把file10的属主和属组改为user10,依次类推。
#!/bin/bash
for i in {10..19};do chown file$i:file$i file$i;done
vim编辑器
vim是什么?
vi:Virtual Interface,是一种文本编辑器,所谓文本数据基于文本编码的文件.常见的文本编码有ASCLL码、UNICODE码等等. 文本编辑器分为两种: 行编辑器: 一行行的编辑文件,例sed. 全屏编辑器: 全屏编辑文件,例 nano ,vim. vim 即 Vi IMproved.vi的提升版,vim是模式化的编辑.
vim工作模式
vim在工作过程中分为三个模式.分别为命令模式、输入模式、末行模式; 命令模式: 在编辑模式下所执行的特定命令.也称为编辑模式. 输入模式: 用于输入文本信息. 末行模式: vim内置的命令行接口,执行vim的内置命令.

模式切换 1 Esc键和":"用于切换模式 2 命令模式 --> 输入模式 i: 在光标所在处开始输入 a: 在光标所在处的后方开始输入 o: 在光标所在处的下方新建一空行开始输入 I: 在光标所在行首开始输入 A: 在光标所在行尾开始输入 O: 在光标所在上方新建一空行开始输入 3 输入模式 --> 命令模式 键入Esc 3 命令模式 --> 末行模式 使用":" 4 末行模式 --> 命令模式 键入Esc
vim基础使用
打开文件
vim [options] [file ..]
options:
+[num]: 打开第一个文件,光标将放置于指定的行的行首.
+/{pat}: 打开第一个文件,光标将放置在第一个被模式匹配到的行的行首.
退出文件
打开文件时,默认处于命令模式.
命令模式的退出
ZZ:保存退出
末行模式的退出
:q ///退出
:q! ///不保存退出
:wq ///保存退出
:wq! ///强制保存退出,先后顺序不能颠倒
:x ///保存退出
命令模式下
光标移动
字符间移动
h 左
l 右
k 上
j 下
单词间移动
w 跳至下一个单词的词首
e 跳至下一个单词的词尾
b 跳至上一个单词的词首
注意:
支持数字移动: #{h|l|j|k|w|e|b} \\\一次移动多少字符,跳多少单词
行间移动
^ 跳至行首(非空字符行首)
$ 跳至行尾
0 跳至行首(绝对行首)
句子间移动
( 上一句
) 下一句
段落间移动
{ 上一段
} 下一段
编辑命令
字符编辑:
x ///删除当前光标字符
#x ///删除当前光标开始的#个字符
结合命令:
xp ///将前后字符对换位置
删除,负责,修改命令;c,y与d用法相同
编辑命令可与光标移动命令和数字移动结合使用(以d命令为例):
dw
de
db
d^
d$
d0
d[h|j|k|l]
dd ///删除当前行
#COMMAND ///命令操作数量,例如3dd,删除三行
粘贴命令:
p: 粘贴,粘贴内容为上一次操作编辑的内容;
如果内容为字符串,则粘贴至光标后方;
如果内容为行,则粘贴至光标行的下一行;
P: 粘贴,粘贴内容为上一次操作编辑的内容;
如果内容为字符串,则粘贴至光标前方;
如果内容为行,则粘贴至光标行的上一行;
替换命令:
r: 替换,替换单个字符
rCHAR
R: 替换,进入替换模式,在此模式下可替换所有文本;
其他编辑命令:
可视化编辑:
v: 按字符选定
V: 按行选定
结合编辑命令使用
撤销操作命令(undo):
u: 撤销上一步操作
#: 撤销上#步操作
撤销此前的撤销:
Ctrl+r
重复执行上一次操作:
.
翻屏操作
Ctrl+f : 向下翻一屏
Ctrl+b : 向上翻一屏
Ctrl+d : 向下翻半屏
Ctrl+u : 向上翻半屏
Enter : 向下翻一行
vim自带的练习教程:vimtutor
末行模式下
地址定界
:start_1[,End_2]
.: 光标所在行;
#: 指定特定为#行,例如5,则为第5行;
#,#: 左边指定起始行,右边指定结束行;
#,+#: 左边指定起始行,右边指定向下偏移行数;
%: 代表全文;
$: 末行;
/part1/,$: 左边为第一次模式匹配到的行,右边为末行;
/part1/,/part2/: 左边为左侧模式匹配第一次匹配到的行,右边为右侧模式匹配第一次匹配到的行;
可结合编辑命令一起使用,
d
c
y
w /some/where/file ///保存至指定文件
r /some/where/file ///将指定文件读入指定位置
练习:
1 写出第一次行首为#,至行首不为#的行,复制
:/^#/^[^#]/y
2 第一行至倒数第二行,删除
:1,$-1d
3 删除全文
:%d
4 vim编辑/etc/fstab,将/etc/issue文件内容读入最后一行
:$r /etc/issue
查找
/PATTERN : 从当前光标处,到末尾查询匹配到的字符串
?PATTERN : 从当前光标处,到行首查询匹配到的字符串
n: 下一个匹配到的字符串,与命令查询方向一致
N: 上一个匹配到的字符串,与命令查询方向相反
查找并替换:
s:末行模式的命令
使用格式:
s/要查找的内容/替换为的内容/修饰符
要查找的内容: 可以使用正则表达式
要替换的内容: 不能使用正则表达式,但可以引用;
引用:
后项引用
引用查询模式匹配到的全部文本,使用&符号;
修饰符:
i: 忽略大小写;
g: 全局替换(默认为替换第一个匹配到的字符串);
分割符可以为多种:
s@@@
s###
练习:
1、复制/etc/grub2.cfg文件至/tmp目录中,用查找替换命令删除/tmp/grub2.cfg文件中以空白字符开头的行的行首的空白字符;
%s@^[[:space:]]\+@@
2、复制/etc/rc.d/init.d/functions文件至/tmp目录中,用查找替换命令为/tmp/functions文件的每个以空白字符开头的行的行首加上#;
%s@^[[:space:]]\+[^[:space:]]@#&@g
3、为/tmp/grub2.cfg文件的前三行的行首加上#号;
1,3s@^@#@g
4、将/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替换为enabled=1,所有gpgcheck=0替换为gpgcheck=1;
%s@\(enabled\|gpgcheck\)=0@\1=1@g
vim多文件编辑:
多文件: vim FILE1 FILE2 ... 在文件间切换: :first ///第一个文件 :last ///最后一个文件 :prev ///上一个文件 :next ///下一个文件 退出所有文件: :wqall <--> :wqa ///退出并保存所有文件 :qall <--> :qa ///退出所有文件 :wall <--> :wa ///保存所有文件 多窗口: -o : 水平分割窗口 -O : 垂直分割窗口 切换窗口: Ctrl+w --> ARROW(h,j,k,l,w) 注意:单文件也可分割为多窗口编辑查看; Ctrl+w --> s : 水平分割窗口 Ctrl+w --> v : 垂直分割窗口
vim相应配置文件
末行模式下使用配置命令,只生效于当前vim进程; 全局配置: /etc/vimrc 个人配置: ~/.vimrc (默认不存在,需手动创建) 记录vim操作历史: ~/.viminfo
定制vim的工作特性:
1、行号 显示:set number, 简写为set nu 取消显示:set nomber, set nonu 2、括号匹配高亮 匹配:set showmatch, set sm 取消:set nosm 3、自动缩进 启用:set ai 禁用:set noai 4、高亮搜索 启用:set hlsearch 禁用:set nohlsearch 5、语法高亮 启用:syntax on 禁用:syntax off 6、忽略字符大小写 启用:set ic 禁用:set noic 7、设置tab键缩进4个字符 set ts=4 (注:ts是tabstop的缩写,设TAB宽4个空格) 获取帮助: :help :help subject
原创文章,作者:N25_sadan,如若转载,请注明出处:http://www.178linux.com/67406


评论列表(1条)
很不错,再接再励。