马哥教育网络班22期+第6周课程练习 忍者乱太郎喻成

请详细总结vim编辑器的使用并完成以下练习题

1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#
cp /etc/rc.d/rc.sysinit /tmp
方法一 vim法
在vim下用 : 进入命令行模式
  

  %s/^ /#\1/g

方法二 sed法

sed "s/\(^ \)/#\1/g" /tmp/rc.sysinit > tmp
cat tmp > /tmp/rc.sysinit
rm tmp

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
    cp /boot/grub/grub.conf /tmp/
vim法
命令行模式下使用

%s/^ .*//g

sed法

sed "s/^ .*//g" /tmp/grub.conf >tmp
cat tmp > /tmp/grub.conf
rm tmp

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

:%s/^\s\+//g

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

0,3s/^/#/g

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

%s/enabled=0/enabled=1/g

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

mkdir /backup
crontab -e #设置crontab任务
加入行 
* */4 * * * tar -cvf /backup/etc-$(date "+%Y%m%d%H%M") /etc

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

mkdir /backup

crontab -e #设置crontab任务
加入行

* * * * 2,4,6 cp /var/log/messages /backup/messages_logs/messages-$(date "+%Y%m%d")

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

mkdir stats
touch /stats/memory.txt

crontab -e #设置crontab任务
加入行

* */2 * * * cat /proc/meminfo/S* >> /stats/memory.txt

9、工作日的工作时间内,每两小时执行一次echo ""howdy""
crontab -e #设置crontab任务
加入行

* 8-17/2 * * 1-5 echo "\"howdy\""

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

mkdir /tmp/testdir-$(date +"%Y%m%d")

11、在此目录创建100个空文件:file1-file100
写一个脚本文件并执行
#!/bin/bash

cd /tmp
for i in $(seq 1 100);do
    touch file-$i
done


12、显示/etc/passwd文件中位于第偶数行的用户的用户名;
写一个脚本文件并执行

#!/bin/bash

declare -i i=0;
cat /etc/passwd | while read -r line; do
        if [ $[ $i%2 ]  == 0 ]; then
                echo $(echo $line | cut -d":" -f1);
        fi
        i=$i+1;
done
        

13、创建10用户user10-user19;密码同用户名;
写一个脚本并执行
#!/bin/bash

for i in $(seq 10 19);do
        useradd user$i -p 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 $(seq 10 19);do
    chown user$i:user$i /tmp/file$i
done

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

(0)
chengyuchengyu
上一篇 2016-10-24 09:11
下一篇 2016-10-24 09:11

相关推荐

  • Linux文件与目录管理之权限与命令之间的关系

    Linux文件与目录管理之权限与命令之间的关系 我们知道权限对于用户账户来说是非常重要的,因为它可以限制用户能不能读取/新建/删除/修改文件或目录。在这我们就来说明下什么命令在什么样的权限下才能够运行。         让用户能进入某目录成为“可工作目录”的基本权限是什么     &nbs…

    Linux干货 2017-04-24
  • 马哥教育网络班22期中秋节课程练习1

    #!/bin/sh   set -e CheckRoot() { #check if currect use is root user     CUR_USER=`whoami`     if&nbs…

    Linux干货 2016-10-09
  • 命令(2017.5.16-2017.519-部分)

    命令(1) bc  计算器 dd if=/dev/zero 查看逻辑设备(非硬件) dd if=/dev/sd 查看硬件设备 dd if=/dev/zeroof=file bs=1M count=24  写入磁盘速度 dd if=/dev/zeroof=/dev/null bs=1M count=24  测试…

    Linux干货 2017-05-22
  • VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证]

    VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证] VSFTPD+PAM+[基于文件虚拟用户认证 | 基于MYSQL虚拟用户认证] 一、实验环境 二、实验步骤 1、通过mysql数据库方式虚拟用户认证 1.1数据库配置 1.2FTP配置 1.3测试 2、通过文件方式进行虚拟用户认证 一、实验环境 CentOS 6.7+vsftpd…

    Linux干货 2016-04-18
  • Python 数据结构

    python 内置数据结构python 内置数据结构数字的处理函数: round() 五舍六入       2.5  2     2.6    3 floor() 向下取整       2.5  2     2.6    2 ceil() 向上取整       2.5  3     2.6    3 min() 取最小的       1,2,3      1…

    Linux干货 2017-09-23
  • linux中软链接和硬链接简单说明

    linux链接文件 在 Linux 上文件系统被分成两个部分:数据 (user data) 与元数据 (metadata)。数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如:文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含…

    Linux干货 2016-12-05

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-25 13:13

    相关知识扩展的很好,但排版有点欠火候,你可以咨询一下455568219