第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条)
很不错,再接再励。