发布时间:2019-09-12 07:59:02编辑:auto阅读(1597)
本周作业内容:
1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
[root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/ #复制文件 [root@localhost ~]# vim /tmp/rc.sysinit #编辑文件 :%s/^[[:space:]]/#&/ #末行模式下查找替换
替换结果对比:

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
[root@localhost ~]# cp /boot/grub/grub.conf /tmp/ #复制文件 [root@localhost ~]# vim /tmp/grub.conf #vim编辑文件 :%s/^[[:space:]]\+// #末行模式查找替换,不指定替换内容即为删除
删除结果对比:
3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
[root@localhost ~]# vim /tmp/rc.sysinit #vim 编辑文件 :%s/^#[[:space:]]\+// #末行模式查找替换
删除结果对比:
4、为/tmp/grub.conf文件中前三行的行首加#号;
[root@localhost ~]# vim /tmp/grub.conf #vim 编辑文件 :1,3s/^/#&/ #末行模式查找替换,1,3指定搜索范围, :w /tmp/grub.conf.bak #另存为 /tmp/grub.conf.bak [root@localhost ~]# vimdiff /tmp/grub.conf /tmp/grub.conf.bak #vimdiff 对比两个文件
对比结果:
5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
[root@localhost ~]# cp /etc/yum.repos.d/CentOS-Media.repo /tmp/ #复制文件 [root@localhost ~]# vim /tmp/CentOS-Media.repo #vim 编辑文件 :%s/enabled=0/enabled=1/g #全局查找替换 :%s/gpgcheck=0/gpgcheck=1/g
替换前后对比:
6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201608300202
[root@localhost ~]# mkdir /backup [root@localhost ~]# crontab -e 0 */4 * * * /bin/cp /etc /backup/etc-`date +%Y%m%d%H%M`
7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20160830
[root@localhost ~]# crontab -e 0 0 * * 2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-`date +%Y%m%d`
8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
[root@localhost ~]# mkdir /stats [root@localhost ~]# crontab -e 0 */2 * * * /bin/grep '^S' /proc/meminfo > /stats/memory.txt
9、工作日的工作时间内,每两小时执行一次echo "howdy"
[root@localhost ~]# crontab -e 0 8-17/2 * * 1,2,3,4,5 /bin/echo "howdy" #1-5为工作日,8-17为工作时间
脚本编程练习
10、创建目录/tmp/testdir-当前日期时间; 
[root@localhost ~]# vim /MK-testdir.sh #!/bin/bash mkdir /tmp/testdir-`date +%Y%m%d%H%M` [root@localhost ~]# chmod +x /MK-testdir.sh [root@localhost ~]# ll /MK-testdir.sh -rwxr-xr-x. 1 root root 54 9月 9 10:41 /MK-testdir.sh [root@localhost ~]# /MK-testdir.sh [root@localhost ~]# ls /tmp/ 3 CentOS-Media.repo maxusers.txt testdir-201609091042 3] crontab.RT2uVE mylinux tfile-2016-08-12-17-01-01 a_c etc.conf mytest1 yum.log a_d etc.test mytest2 yum_save_tx-2016-08-01-01-55m_XEdJ.yumtx b_c grub.conf mytest3 b_d grub.conf.bak rc.sysinit [root@localhost ~]#
11、在此目录创建100个空文件:file1-file100
[root@localhost tmp]# vim /MK-testdir.sh 
#!/bin/bash
dir=/tmp/testdir-`date +%Y%m%d%H%M`
mkdir $dir
if [ $? -eq 0 ]; then      #判断之前目录是否创建成功,若创建成功则进入循环创建文件file1-file100
  for i in {1..100};do
    touch $dir/file$i
  done
  echo 'touch file1-file100 success.'
else
  echo 'touch file1-file100 failed.'
fi
[root@localhost /]# ./MK-testdir.sh 
touch file1-file100 success.
[root@localhost /]# ll /tmp/testdir-201609091148
总用量 0
-rw-r--r--. 1 root root 0 9月   9 11:48 file1
-rw-r--r--. 1 root root 0 9月   9 11:48 file10
-rw-r--r--. 1 root root 0 9月   9 11:48 file100
-rw-r--r--. 1 root root 0 9月   9 11:48 file11
......12、显示/etc/passwd文件中位于第偶数行的用户的用户名;
[root@localhost /]# vim test-6-12.sh #!/bin/bash cat -n /etc/passwd | sed -n 'n;p' | cut -d: -f1 [root@localhost /]# ./test-6-12.sh 2 hadoop 4 daemon 6 lp 8 shutdown .........
13、创建10用户user10-user19;密码同用户名;
[root@localhost work]# vim test-6.13.sh 
#!/bin/bash
#
for i in {10..19};do                  
  if id user$i &> /dev/null; then          
    echo "user$i exists."                
  else
    useradd user$i &> /dev/null      
     if [ $? -eq 0 ]; then              
        echo "user$i" | passwd --stdin user$i &> /dev/null
        echo "add user$i success."    
     fi
  fi
done
[root@localhost work]# ./test-6.13.sh 
Add user10 success.
Add user11 success.
Add user12 success.
Add user13 success.
Add user14 success.
Add user15 success.
Add user16 success.
Add user17 success.
Add user18 success.
Add user19 success.14、在/tmp/创建10个空文件file10-file19; 
[root@localhost work]#vim test-6.14.sh 
#!/bin/bash
for i in {10..19};do                  
  touch /tmp/file$i
    if [ $? -eq 0 ];then
       echo "file$i touch success."
    fi
done
[root@localhost work]# ./test-6.14.sh 
file10 touch success.
file11 touch success.
file12 touch success.
file13 touch success.
file14 touch success.
file15 touch success.
file16 touch success.
file17 touch success.
file18 touch success.
file19 touch success.15、把file10的属主和属组改为user10,依次类推。
[root@localhost work]#vim test-6.15.sh
#!/bin/bash
#
for i in {10..19};do                       
    if [ -e /tmp/file$i ];then             
       chown user$i:user$i /tmp/file$i &> /dev/null  
    else 
       echo "No Find The file."             
    fi
done
[root@localhost work]# ./test-6.15.sh 
[root@localhost work]# ll /tmp/ | grep user
-rw-r--r--.  1 user10 user10     0 9月   9 12:30 file10
-rw-r--r--.  1 user11 user11     0 9月   9 12:30 file11
-rw-r--r--.  1 user12 user12     0 9月   9 12:30 file12
-rw-r--r--.  1 user13 user13     0 9月   9 12:30 file13
-rw-r--r--.  1 user14 user14     0 9月   9 12:30 file14
-rw-r--r--.  1 user15 user15     0 9月   9 12:30 file15
-rw-r--r--.  1 user16 user16     0 9月   9 12:30 file16
-rw-r--r--.  1 user17 user17     0 9月   9 12:30 file17
-rw-r--r--.  1 user18 user18     0 9月   9 12:30 file18
-rw-r--r--.  1 user19 user19     0 9月   9 12:30 file19
-rw-r--r--.  1 root   root     854 8月  19 18:07 maxusers.txt
[root@localhost work]#
上一篇: python之day3(文件操作、字符转
下一篇: python-selenum3 第五天定
 51194
 50609
 41233
 38051
 32513
 29420
 28281
 23136
 23094
 21432
 1489°
 2202°
 1825°
 1753°
 2064°
 1813°
 2499°
 4193°
 4055°
 2894°