作业03

1、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello();

答:

grep --colour=auto "\<[[:alpha:]]\+\>()"/etc/rc.d/init.d/functions

grep --colour=auto "[_[:alpha:]]\+()"/etc/rc.d/init.d/functions

2、使用echo命令输出一个绝对路径,使用grep取出其基名;

扩展:取出其路径名

答:

①    echo"/etc/test.txt" | grep -E -o "[^/]+$"

echo"/mnt/sdc/" | grep -E -o "[^/]+/?$" | cut -d‘/‘ -f1

②    echo"/mnt/sdc" | grep -E -o --colour=auto "^/.*/"

3、找出ifconfig命令结果中的1-255之间数字;

答:

ifconfig | grep -o --colour=auto -E"[0-9]{1,3}"

ifconfig | grep --colour=auto -o -E"\<[0-9]{1,3}\>"

4、查找当前系统上没有属主或属组的文件;

进一步:查找当前系统上没有属主或属组,且最近3天内曾被访问过的文件或目录;

答:

①    find/ \( -type f -a -nouser -a -nogroup \) -ls

②   find / \( -type f -a -nouser -a -nogroup -a-mtime -3 \) -ls

5、查找/etc目录下大于1M,且类型为普通文件的所有文件;

答:

find /etc \( -type f -a -size +1M \) -ls

6、查找/etc/init.d/目录下,所有用户都有执行权限,且其它用户有写权限的文件;

答:

find /etc/init.d/ \( -type f -a -perm -113 \) -ls

7、查找/etc目录下最近一周内其内容被修改过,且不属于root或hadoop的文件;

答:

find /etc/ \( -type f -a -mtime -7 -not \( -user root -o-user hadoop \) \) -ls

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

答:

cp /etc/rc.d/rc.sysinit /tmp

vim /tmp/rc.sysinit

%s/^[[:space:]]\+/#&/

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

答:

vim /tmp/rc.sysinit

%s/^#[[:space:]]\+//

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

答:

vim /etc/yum.repos.d/CentOS-Media.repo

 %s/\(enabled=\)0/\11/

  %s/\(gpgcheck=\)0/\11/

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

答:

mkdir -p /backup/messages_logs/

crontab -e

  0 0 * * 2,4,6 /usr/bin/cp /var/log/messages/backup/messages_logs/messages-`date +\%Y\%m\%d` &> /dev/null

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

答:

mkdir /stats

  crontab -e

 0 */2 * * * /usr/bin/grep "^S.*"/proc/meminfo >> /stats/memory.txt

13、写一个脚本创建10用户user10-user19;密码同用户名;

答:

vim test.sh

#!/bin/bash

if [ ! $UID -eq 0 ]; then

    echo"root only"

    exit1

fi

for i in {10..19};do

    if iduser$i &> /dev/null; then

       echo "user$i exist"

    else

       useradd user$i

        [$? -eq 0 ] && echo "user$i" | passwd --stdin user$i &>/dev/null

       echo "add user$i success"

    fi

done

时间: 2024-08-03 03:06:32

作业03的相关文章

寒假作业03

寒假作业03 0. 先来闲聊一下 我还记得以前的时候家严经常去某个,呃,著名的电子一条街去买那些各种各样的装系统光盘(或者其他啥的?忘了),基本都是windows的,啥啥纯净版xp,啥雨林木风xp.当然那时候还小,对电脑的印象就是玩游戏,对电脑系统啥的一窍不通(现在也是,哈哈).即便如此,年轻的我还是意识到这些乱七八糟的光盘是有问题的,为啥?装了之后电脑又慢还总死机,于是就再去那条街去买新的盘,如此往复恶性循环,家里老电脑就是这样坏掉的.很明显这个教训并不是十分刻骨铭心,因为新电脑也开始遭受各种

JAVA作业 03

动手动脑 一.JAVA的类的对象实例化 1)定义:在面向对象的编程中,通常把用类创建对象的过程称为实例化,其格式为:类名 对象名 = new 类名(参数1,参数2...参数n); 如 Date date=new Date();就是用日期类创建了一个日期的对象,就叫对象的实例化.实例化一个对象 就是为对象开辟内存空间,或者是不用声明,直接使用new 构造函数名(),建立一个临时对象. 2)例子:图1:没有对象实例化 图2:进行了对象实例化: 二.利用线性同余法生成随机数 1)定义: 2)例子: 课

预备作业03

安装Linux操作系统 最开始下载安装VirtualBox,但是安装了之后打不开,之后又换了版本重新下载安装,才算完成,之后按照图文教程一步步来,没有什么问题,但是在创建虚拟机时,可选择的版本只有32节的,然后百度得到了解决方法,(虽然并不知道这样做的道理)[OracleVMVirtualBox不能创建64位的虚拟机办法](https://jingyan.baidu.com/article/dca1fa6f6e705ef1a44052f6.html?qq-pf-to=pcqq.c2c) 接下来的

软件工程概论作业03

这一周,老师有提出了新的要求. 1.生成随机数,整数的和分数的,分数的用字符串表示,单独写一个分数类,分子分母,写出分数加减乘除的方法. 2.生成随机运算符数组,每道题最多有10个运算数,所以最多有9个运算符. 3.生成表达式,用控制语句选择要生成的表达式. 3.结果的处理,是分数的要化简. package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatem

软件工程概论个人作业03

第三次写四则运算了,这次又加了一些新的要求,简化了细节,但是在查重方面提出了更高的要求.这次也加上数据库了,存取都要在数据表中. 一.题目要求     二.程序设计思想 三.源代码 四.实验结果截图 五.反思 (1).

软件工程个人作业03

package demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Random; import java.util.Scanner; import java.util.Stack; public cla

课后作业03

   查找list[]中的最大值:int Largest(int list[], int length); 首份实现代码如下: int Largest(int list[], int length) {          int i,max;          for(i = 0; i < (length – 1); i ++ )     {                if(list[i] > max)           {                          max=li

软工作业03

一,题目要求(四则运算3) 1.学生写的程序必须能判定用户的输入答案是否正确,例如程序输出:20 – 5 = ?用户输入15,那么程序就会反馈正确,然后继续出题.直到 30 道题目结束,程序最后告诉用户作对了几道题. 2.程序必须能处理四种运算的混合算式: n20 – 5 * 2 =?           正确答案是10. n20– 5 * 2 + 9 / 3 = ?   正确答案是13 3.注意:连续的减法和除法,应该遵守左结合的规定. 连续除法要打括号,否则会引起歧义 二.设计思想 三.源程

软件工程结对作业03

同组成员(尤凯丽):http://www.cnblogs.com/love528/ 设计思想 在有负数的情况下,要保证找出的子数组的和是最大的,那么最小的负数是一定不会在子数组中的,我们将最小的负数作为一个断点,放在非循环数组的第一位,这样它之前的数就不需要先考虑了.例如:当循环数组为1,2,-5,6,-1时,最小的负数是-5,我们就可以将它断成非循环数组-5,6,-1,1,2.这样就可以算出最大和的子数组了.如果没有负数的话,从哪里断开就是无所谓的了,但是为了编程方便,我们还是从最小的数处断开