N26-第六周博客

vim编辑器及简单shell脚本示例

请详细总结vim编辑器的使用并完成以下练习题 
1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;

[root@localhost tmp]# vim rc.sysinit
:%s@^[[:space:]]\+[^[:space:]]@#&@g

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;

[root@localhost tmp]# vim grub.conf
:%s@^[[:space:]]\+@@

3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符

[root@localhost tmp]# vim rc.sysinit
:%s@^#[[:space:]]\+@@

4、为/tmp/grub.conf文件中前三行的行首加#号;

[root@localhost tmp]# vim grub.conf
:1,3s@^@#@

5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;

[root@localhost /]# vim /etc/yum.repos.d/CentOS-Media.repo
:%s@\(enabled\|gpgcheck\)=0@\1=1@g

6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202

[root@localhost ~]# crontab -e
0 */4 * * * /bin/tar -zcf /backup/etc-$(date +\%Y\%m\%d\%H\%M).tar.gz /etc

7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402

[root@localhost ~]# crontab -e
0 0 * * 2,4,6 /bin/tar -zcf /backup/messages_logs/messages-$(date +\%Y\%m\%d).tar.gz /var/log/messages

8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中

[root@localhost ~]# crontab -e
0 */2 * * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt

9、工作日的工作时间内,每两小时执行一次echo “howdy”

[root@localhost ~]# crontab -e
0 9-18/2 * * * 1-5 /bin/echo "howdy" >> /howdy.log

脚本编程练习 
10、创建目录/tmp/testdir-当前日期时间;

#!/bin/bash
#
mkdir /tmp/testdir-$(date +%F-%H-%M)

11、在此目录创建100个空文件:file1-file100

#!/bin/bash
#
touch /tmp/file{0..100}

12、显示/etc/passwd文件中位于第偶数行的用户的用户名;

#!/bin/bash
#
sed -n 'n;p' /etc/passwd | cut -d: -f 1

13、创建10用户user10-user19;密码同用户名;

#!/bin/bash
#
for num in {24,25};do
 if
      ! id user$num &> /dev/null;then
     useradd user$num
     echo "user$num" | passwd --stdin user$num
 else
     echo "the user$num is exists"
 fi
done

14、在/tmp/创建10个空文件file10-file19;

#!/bin/bash
#
for num in {10..19};do
if
  [ ! -e file$num ];then
  touch /tmp/file$num
else
  echo "the file$num is exists"  
fi
done

15、把file10的属主和属组改为user10,依次类推。

#!/bin/bash
#
for num in {10..19};do
  chown user$num:user$num /tmp/file$num
done

 

原创文章,作者:youngfer,如若转载,请注明出处:http://www.178linux.com/68892

(0)
youngferyoungfer
上一篇 2017-02-16
下一篇 2017-02-16

相关推荐

  • Cobbler实现多系统自动化安装

    Cobbler介绍:  Cobbler能够快速建立多系统同时安装的网络系统安装环境;传统的pxe+dhcp+tftp+kickstart仅能够提供单一系统安装,功能过于简单;如果遇到安装不同操作系统时就遇到瓶颈;而cobbler正好解决了这一问题。Cobbler是增强版的网络系统安装。 Cobbler由不同的组件配合完成系统安装,各组件之间配合如下…

    Linux干货 2015-08-11
  • bash通配符和正则表达式元字符部分归纳

    Linux中有各种各样的字符,而且在不同环境和不同命令之下含义也不同 作为新手,决定先归纳学到的符号,方便后面学习厘清它们之间的关系。 glob 简化了的正则表达式 bash默认通配符: ? :只匹配一个任意字符; * :匹配零个或多个任意字符;   [^] :方括号及其中^中的取反 [abc]:匹配任何一个列在方括号中的字符(这个例子要么匹配一个…

    Linux干货 2016-04-11
  • 关于文件权限管理了解和使用

                    文件权限管理   文件属性格式              文件属性操作 chown          设置文件的所有者…

    系统运维 2016-08-05
  • 从LongAdder看更高效的无锁实现

    接触到AtomicLong的原因是在看guava的LoadingCache相关代码时,关于LoadingCache,其实思路也非常简单清晰:用模板模式解决了缓存不命中时获取数据的逻辑,这个思路我早前也正好在项目中使用到。 言归正传,为什么说LongAdder引起了我的注意,原因有二: 作者是Doug lea ,地位实在举足轻重。 他说这个比AtomicLon…

    Linux干货 2016-06-01
  • 懒人本地YUM源设置

    一、挂载本地光盘到根目录下/media。 [root@wing-PC ~]# mount -v /dev/sr0 /media/ 二、用mv 修改/etc/yum.repos.d下面的文件。 [root@wing-PC ~]# mv -v /etc/yum.repos.d/CentOS-Base.repo / CentOS-Base.repo.bak [ro…

    系统运维 2017-08-05
  • 条件判断工具 test or [ ]

    概述         条件判断是学习shell脚本之前要掌握的重点基础。条件判断分为以下几类:文件判断、数值判断、字符判断。而文件判断还可以细分到:文件类型判断、文件权限判断、文件所属判断、文件之间属性判断;      &nbsp…

    Linux干货 2016-02-14

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-10 16:25

    总结的很好,脚本的思路清晰,加油~~~~