2016-9-11第六周作业

  • cp [OPTION]... SOURCE(原文件)... DIRECTORY(目录)
  • sed [options] ‘command‘ file(s)

    -i∶直接修改读取的档案内容,而不是由萤幕输出。

  • vi中的末行模式:

    #,+#从左侧#表示的行起始,加上右侧#表示的行数;

    %:全文

    s:在末行模式下完成查找替换操作
    s/要查找的内容/替换为的内容/修饰符
    要查找的内容:可使用模式
    替换为的内容:不能使用模式,但可以使用\1,\2,...等后向引用符号;还可以使用"g"引用前面查找时查找到的整行内容;

  • crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]

    -e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
    -r [UserName]: 删除目前的时程表
    -l [UserName]: 列出目前的时程表
    -v [UserName]:列出用户cron作业的状态

    crontab -e

    # 此时会进入 vi 的编辑画面让您编辑工作!注意到,每项工作都是一行。

    #分 时 日  月 周      |<==============任务的完整命令行
       * */2 */1 * *        grep "^S" /proc/meminfo

  • cut [OPTION]... [FILE]...
    -d DELIMITER: 指明分隔符
    -f FILEDS:
    #: 第#个字段
    #,#[,#]:离散的多个字段,例如1,2,4
    #-#:连续的多个字段,例如1-6

1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;

  1. [[email protected]ost ~]# cp /etc/rc.d/rc.sysinit /tmp/
  2. [[email protected] ~]# sed -i ‘s/\(^[[:space:]]\)/#\1/g‘ /tmp/rc.sysinit
  1. [[email protected] ~]# cp /etc/rc.d/rc.sysinit /tmp/
  2. [[email protected] ~]# vi /tmp/rc.sysinit
  3. 在末行模式下输入
  4. :%s/^[[:space:]]/#&/g

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

  1. [[email protected] ~]# cp /boot/grub/grub.conf /tmp/
  2. [[email protected] ~]# sed -i ‘s/^[[:space:]]\+//g‘ /tmp/grub.conf
  1. [[email protected] ~]# cp /boot/grub/grub.conf /tmp/
  2. [[email protected] ~]# vi /tmp/grub.conf
  3. 在末行模式下输入
  4. :s/^[[:space:]]\+//g

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

  1. [[email protected] ~]# sed -i ‘s/^#[[:space:]]\+//g‘ /tmp/rc.sysinit
  1. [[email protected] ~]# vi /tmp/rc.sysinit
  2. 在末行模式下输入
  3. :%s/^#[[:space:]]\+//g

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

  1. [[email protected] ~]# sed -i ‘1,+2s/^/#&/g‘ /tmp/grub.conf
  1. [[email protected] ~]# vi /tmp/grub.conf
  2. 在末行模式下输入
  3. :1,+2s/^/#&/g

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

  1. [[email protected] /]# sed -i ‘/enabled/s/0/1/g;/gpgcheck/s/0/1/g;‘ /etc/yum.repos.d/CentOS-Media.repo
  1. [[email protected] ~]# vi /etc/yum.repos.d/CentOS-Media.repo
  2. 在末行模式下输入
  3. :%s/enabled=0/enabled=1/g

    :%s/gpgcheck=0/gpgcheck=1/g

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

  1. [[email protected] /]# cat /do/crond-shell.sh

    #!/bin/bash

    cd /

    tar zcf /backup/etc-`date +\%Y\%m\%d\%H\%M` ./etc > /dev/null 2>&1

  2. [[email protected] ~]# chmod +x /do/crond-shell.sh
  3. [[email protected] /]# crontab -e
    crontab: installing new crontab
    * */4 * * * sh /do/crond-shell.sh
[[email protected] /]# crontab -e
crontab: no changes made to crontab
* */4 * * * cp -r /etc/ /backup/etc-`date +%Y%m%d%H%M`

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

  1. [[email protected] /]# cat /do/week-shell.sh

    #!/bin/bash

    cd /

    tar zcf /backup/messages-‘date+%Y%m%d‘ ./var/log/messages > /dev/null 2>&1

  2. [[email protected] ~]# chmod +x /do/crond-shell.sh
  3. [[email protected] /]# crontab -e

    crontab: no changes made to crontab

    * * * * */2,4,6 /do/week-shell.sh > /dev/null 2>&1

  1. [[email protected] /]# crontab -e

    crontab: no changes made to crontab

    * * * * */2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-`date +%Y%m%d`

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


[[email protected] /]# crontab -e

crontab: no changes made to crontab

* */2 */1 * * grep "^S" /proc/meminfo >> /stats/memory.txt

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


[[email protected] /]# crontab -e

crontab: no changes made to crontab

* 9-18/2 * * */1-5 echo "howdy"

脚本编程练习

10、创建目录/tmp/testdir-当前日期时间;

  1. [[email protected] /]# cat mkdir.sh
    #!/bin/bash
    mkdir -pv /tmp/testdir-$(date +%F-%H-%M-%S)
  2. [[email protected] /]# chmod +x mkdir.sh
  3. [[email protected] /]# ./mkdir.sh
    mkdir: 已创建目录 "/tmp/testdir-2016-08-16-22-50-03

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

  1. [[email protected] testdir-2016-08-16-22-50-03]# cat mkdir1-100.sh
    #!/bin/bash
    for i in {1..100};do
        mkdir file$i
    done
  2. [[email protected] testdir-2016-08-16-22-50-03]# chmod +x mkdir1-100.sh
  3. [[email protected] testdir-2016-08-16-22-50-03]# ./mkdir1-100.sh
  4. [[email protected] testdir-2016-08-16-22-50-03]# ls
    file1    file16  file23  file30  file38  file45  file52  file6   file67  file74  file81  file89  file96
    file10   file17  file24  file31  file39  file46  file53  file60  file68  file75  file82  file9   file97
    file100  file18  file25  file32  file4   file47  file54  file61  file69  file76  file83  file90  file98
    file11   file19  file26  file33  file40  file48  file55  file62  file7   file77  file84  file91  file99
    file12   file2   file27  file34  file41  file49  file56  file63  file70  file78  file85  file92  mkdir1-100.sh
    file13   file20  file28  file35  file42  file5   file57  file64  file71  file79  file86  file93
    file14   file21  file29  file36  file43  file50  file58  file65  file72  file8   file87  file94
    file15   file22  file3   file37  file44  file51  file59  file66  file73  file80  file88  file95

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

  1. [[email protected] ~]# sed -n ‘p;n‘ /etc/passwd | cut -d: -f1
    root
    daemon
    lp
    shutdown
    mail
    operator
    gopher
    nobody
    saslauth
    sshd
    mageia
    bash
    basher
    user1
    hadoop

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

[[email protected] ~]# cat /do/useradd.sh
#!/bin/bash
for i in {10..19};do
    if id user$i &>/dev/null;then
    echo "user$i exists."
    else
    useradd user$i
    if [ $? -eq 0 ];then
        echo "user$i" | passwd --stdin user$i &> /dev/null
        echo "Add user$i finished."
    fi
    fi
done
[[email protected] ~]# chmod +x /do/useradd.sh
[[email protected] ~]# ../do/useradd.sh
UserAdd user10 finish.
UserAdd user11 finish.
UserAdd user12 finish.
UserAdd user13 finish.
UserAdd user14 finish.
UserAdd user15 finish.
UserAdd user16 finish.
UserAdd user17 finish.
UserAdd user18 finish.
UserAdd user19 finish

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

[[email protected] home]# cat /do/file.sh
#!/bin/bash
for i in {10..19};do
    touch /tmp/file$i
done
[[email protected] home]# chmod +x /do/file.sh
[[email protected] home]# ../do/file.sh
[[email protected] home]# ll /tmp/ | grep ‘file‘
-rw-r--r--.   1 root   root       0 8月  16 23:17 file10
-rw-r--r--.   1 root   root       0 8月  16 23:17 file11
-rw-r--r--.   1 root   root       0 8月  16 23:17 file12
-rw-r--r--.   1 root   root       0 8月  16 23:17 file13
-rw-r--r--.   1 root   root       0 8月  16 23:17 file14
-rw-r--r--.   1 root   root       0 8月  16 23:17 file15
-rw-r--r--.   1 root   root       0 8月  16 23:17 file16
-rw-r--r--.   1 root   root       0 8月  16 23:17 file17
-rw-r--r--.   1 root   root       0 8月  16 23:17 file18
-rw-r--r--.   1 root   root       0 8月  16 23:17 file19

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

[[email protected] home]# cat /do/file-user.sh
#!/bin/bash
cd /tmp
for i in {10..19};do
    chown user$i:user$i /tmp/file$i

done

[[email protected] home]# chmod +x /do/file-user.sh
[[email protected] home]# ../do/file-user.sh

[[email protected] home]# ll /tmp/ | grep ‘file‘
-rw-r--r--.   1 user10 user10     0 8月  16 23:17 file10
-rw-r--r--.   1 user11 user11     0 8月  16 23:17 file11
-rw-r--r--.   1 user12 user12     0 8月  16 23:17 file12
-rw-r--r--.   1 user13 user13     0 8月  16 23:17 file13
-rw-r--r--.   1 user14 user14     0 8月  16 23:17 file14
-rw-r--r--.   1 user15 user15     0 8月  16 23:17 file15
-rw-r--r--.   1 user16 user16     0 8月  16 23:17 file16
-rw-r--r--.   1 user17 user17     0 8月  16 23:17 file17
-rw-r--r--.   1 user18 user18     0 8月  16 23:17 file18
-rw-r--r--.   1 user19 user19     0 8月  16 23:17 file19

时间: 2024-10-15 15:33:11

2016-9-11第六周作业的相关文章

解题报告——-2018级2016第二学期第三周作业

解题报告——2018级2016第二学期第三周作业 A:[NOIP2002P]过河卒 题目: 描述 如图,A 点有一个过河卒,需要走到目标 B   点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点.例 如上图 C  点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C).卒不能通过对方马的控制点. 棋盘用坐标表示,A 点(0,0).B 点(n,m)(n,m 为不超过 20  的整数,并由键盘输入)

第六周作业。

第六周作业.额,暂时不知道写什么好.那就写写如何翻越GFW   (科学上网)的教程吧.基于Shadow socks的教程.可能不是第一个,也可能不是最后一个.但是这也算是科普吧.毕竟连翻越GWF(科学上网)能力都没有何必谈的上是一个好的Programer呢?. ========================================================== 顺便说一句:Fk GFW. ==============================================

解题报告——2018级2016第二学期第五周作业排座椅

解题报告--2018级2016第二学期第五周作业 F:排座椅 描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来 之后,只有有限的D对同学上课时会交头接耳.同学们在教室中坐成了M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设 置了K条横向的通道,L条纵向的通道.于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅

解题报告—— 2018级2016第二学期第五周作业 删数问题

解题报告--  2018级2016第二学期第五周作业 删数问题 描述 键盘输入一个高精度的正整数n(<=240位),去掉其中任意s个数字后剩下的数字按原左右次序将组成一个新的正整数.编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小. 输入ns输出最后剩下的最小数样例输入 178543 4 样例输出 13 分析: 这题题目上已表明是贪心算法:原本最容易产生的错误贪心准则是删去其中最大的数字:但通过简单举例便可得之,这种贪心准则要漏洞:通过简单的计算举例发现如果这个数是一位比一位大的话

2017-2018-2 20179215《网络攻防实践》第六周作业

2017-2018-2 20179215<网络攻防实践> 第六周学习总结 课本学习笔记 一.TCP/IP网络协议攻击 1.网络安全的属性:机密性 .完整性 .可用性 .真实性 .不可抵赖性 . 2.网络攻击的基本模式分为:截获(嗅探 与 监听) .中断(拒绝服务) .篡改(数据包篡改) .伪造(欺骗) . 3.TCP/IP网络协议栈在设计时采用了分层模型,分为:网络接口层 .互联层 .传输层 .应用层.每一层当中都有针对破坏网络安全属性为目的的攻击技术.每一层所涉及的主要协议: 网络接口层:以

马哥2016全新Linux+Python高端运维班第六周作业

1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#: 答:可使用vim的查找替换功能完成: 命令如下: [[email protected] ~]# cp /etc/rc.d/rc.sysinit /tmp       ##复制文件 [[email protected] ~]# vim /tmp/rc.sysinit            ##vim编辑该文件 命令结果如下(下图红框为与上图对比效果):

软件质量保证与测试第六周作业

作业内容:本周在进行项目开发的过程中,我接触到了JDBC(Java Data Base Connectivity,java数据库连接),它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC可以为多种数据库提供统一的访问,简单来说JDBC就是用来连接java和数据库的桥梁,体现了Java“编写一次,处处运行”的高大上精神.连接到oracle数据库之后,我在同学的指导下进行了慕课网JDBC视频的学习 http://www.

第六周作业:《人月神话》对我做项目实践的启示(一)

<人月神话>这本书有两个老师都有给我们推荐,第一个老师推荐时不以为然,第二个老师也推荐时,自己感觉应该是挺重要的吧,于是去图书馆借了这本书来看,刚借回来时,总觉得时间不够.作业很多,也没来的及看,就一直搁置在了那里,直到上周,在我们的项目实践开始近三周,但进度却一直赶不上来的情况下,看到了这本书,才拿起来看.目前还没看完,先写一点儿领悟到的东西. 作者从焦油坑,提出项目失败的表现,把过去几十年的大型系统开发比作一个炼焦坑,各种团队一个个地淹没在焦油坑,他们都试图解决面对的问题,但他们都必须去了

Linux系统管理第六周作业【Linux微职位】

1.请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS系统启动流程如下: POST --> Boot Sequence(BIOS) --> Boot Loader(MBR) --> GRUB --> Kernel(ramdisk) --> rootfs --> switchroot --> /sbin/init --> (/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别 --&g