linux学习作业-第六周

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

cp /etc/rc.d/rc.sysinit /tmp 
sed ‘[email protected]^[[:space:]]\[email protected]\#&@‘ /tmp/rc.sysinit
替换可用符号s#.#.# s/././  [email protected]@[email protected]

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

cp /boot/grub/grub.conf /tmp
sed ‘[email protected]^[[:space:]]\[email protected]@‘ /tmp.grub

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

sed ‘/^\#[[:space:]]\+/d‘ /tmp/rc.sysinit
d为删除

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

head -n 3 /tmp/grub.conf |sed ‘[email protected]*@###&@‘ #用head取前三行,再使用sed添加###;&引用前字段
sed ‘1,[email protected]*@###&@‘ /tmp/grub.conf  #头三行添加###并显示全部
sed -n ‘1,[email protected]*@###&@p‘ /tmp/grub.conf  #只显示修改的行  -n p 一同使用的效果

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

sed -e ‘s#enabled=0#enabled=1#‘ -e ‘s#gpgcheck=0#gpgcheck=1#‘ /etc/yum.repos.d/CentOS-Media.repo
-e 多处修改时使用

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

mkdir /backup
crontab -e
1 */4 * * * cp /etc/* /backup/etc\-$(date +"%Y%m%d%H%M")
# %必须使用""标注,不让没有效果

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

messages-20160830
mkdir -p /backup/messages_logs
crontab -e 
1 1 * * 2,4,6 cp /var/log/messages /backup/messages_logs/messages\-$(date +"%Y%m%d")
前面必须标注时间,不然会变成每小时每秒执行

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

mkdir /stats
crontab -e
1 */2 * * * grep "^[s,S]" /proc/meminfo >> /stats/memory.txt

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

crontab -e
1 */2 * * 1-5 echo "howdy"

脚本编程练习

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

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

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

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

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

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

#!/bin/bash  #脚本开始注明使用shell
#homework 
#V0.0.1 
for num1 in {1..100};do  # for语句,循环数字1-100
        mkdir -p /tmp/testdir\-$(date +%Y%m%d%H%M%S)/"file$num1"
        #无论如何都创建 /tmp/testdir-时间/file1-100目录
        done
sed -n "n;p" /etc/passwd  #显示偶数行有两种模式,其中一种
sed ‘1~2d‘ /etc/passwd  #显示偶数行有两种模式,其中一种
#!/bin/bash
#homework 
#V0.0.1 
for num2 in {10..19};do
useradd "user$num2"  #创建10-19用户
echo "user$num2" |passwd --stdin user$num2  #添加密码
mkdir /tmp/file$num2  #创建对应文件夹
chown "user$num2" /tmp/file$num2  #修改该文件夹权限
done
时间: 2024-10-10 11:37:52

linux学习作业-第六周的相关文章

Linux学习笔记第六周第四次课(3月15日)

六周第四次课(3月15日) 复习 扩展 打印某行到某行之间的内容http://ask.apelearn.com/question/559 按关键词打印内容,#sed -n '/\[abcd\]/,/\[rty\]/'p test 按行数打印内容,# sed -n '4,8'p test sed转换大小写 http://ask.apelearn.com/question/7758 sed中,使用\u表示大写,\l表示小写 1. 把每个单词的第一个小写字母变大写: sed 's/\b[a-z]/\u

linux学习作业-第八周

本周作业内容: 1.请描述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 网桥是早期的两端口二层网络设备,用来连接不同网段.网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域. 与交换机一样可以隔离冲突域,可只有2个端口,交换机可有多个比集线器接口数少,无路由功能 集线器 是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备.集线器是运作在OSI模型中的物理层.它可以视作多端口的中继器,若它侦测到碰撞,它会提交阻塞信号.无路由功能.不可隔离冲

linux学习作业-第三周

本周作业内容: 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [[email protected] ~]$ who | sort |cut -d " " -f1 |uniq -c 2.取出最后登录到当前系统的用户的相关信息. last |head -n 1|cut -d " " -f1 |id 3.取出当前系统上被用户当作其默认shell的最多的那个shell. echo $SHELL ;env |grep SHELL

linux学习作业-第五周

1.显示当前系统上root.fedora或user1用户的默认shell: #!/bin/bash #Program #input username ,then print userbash #2016/08/30 V0.0.1 rex frist  #注明程序使用的shell,作用,日期,版本 read -p "please input you username.then ,output you default shell :" userbash #读取输入的用户名 if [ $us

LINUX内核分析第六周学习总结——进程的描述和进程的创建

LINUX内核分析第六周学习总结——进程的描述和进程的创建 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 进程的描述 进程描述符task_struct数据结构(一) 进程描述符task_struct数据结构(二) 进程的创建 进程的创建概览及fork一个进程的用户态代码 理解进程创建过程复杂代码的方法 浏览进程创建过程相关的关键代码 创建的新进程是从哪里开始执行的

201671010140. 2016-2017-2 《Java程序设计》java学习第十六周

java学习第十六周         本周对十三章:"部署java应用程序"进行了课堂学习,在老师思路牵引下,对这一章知识进行学习,对实例程序运行和注释,对比课前对书本上知识的浅显预习,半知半解,课堂学习后,对这部分知识的理解也更加深入,尤其是在JAR文件这部分,感觉掌握的不错,对Java程序为何要打包成JAR文件,如何去做都有了进一步学习,认知,之前并不理解如何使用jar程序制作JAR文件,在课堂上同学的演示下,也理解了这部分知识.在对JAR文件中的包的密封,属性映射等方面的知识掌握

Linux学习第十二周总结

linux学习第十一周总结 http协议和APACHE 实现LAMP架构 日志管理 网络文件共享服务 一 .HTTP协议和apache 1.HTTP 简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议. HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). HTTP是一个属于应用层的面向对象的协议,由于其简捷.

Linux内核分析——第六周学习笔记20135308

第五周 进程的描述和进程的创建 一.进程描述符task_struct数据结构 1.操作系统三大功能 进程管理 内存管理 文件系统 2.进程控制块PCB——task_struct 也叫进程描述符,为了管理进程,内核需要对每个进程进行描述,它就提供了内核所需了解的进程信息. struct task_struct数据结构很庞大,1235行~1644行 3.Linux进程状态 Linux进程的状态与操作系统原理中的描述的进程状态有所不同 操作系统状态: 就绪态 运行态 阻塞态 linux进程状态: 4.

Linux内核设计第六周学习总结 分析Linux内核创建一个新进程的过程

陈巧然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验过程 登陆实验楼虚拟机http://www.shiyanlou.com/courses/195 打开shell终端,执行以下命令: cd LinuxKernel rm -rf menu git clone https://github.com/mengning/menu.git cd menu mv test_fork.c