第六周:vim編輯器和cron計劃任務的使用練習

查看vim編輯器的使用介紹另見:http://afterdawn.blog.51cto.com/7503144/1855557

at及cront計劃任務介紹見:http://afterdawn.blog.51cto.com/7503144/1864365

1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;

命令模式下,輸入以下內容:
%s@\(^[[:space:]].*\)@#\1@g
或
%s@\(^[[:space:]]\+\)@#\1@g

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

命令模式下,輸入:
$s@^[[:space:]]\+@@g

3、刪除/tmp/rc.sysinit文件中的以#開頭,且后面跟了至少一個空白字符的行行的#和空白字符;

命令模式下,輸入:
%s@^#[[:space:]]\+@@g

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

命令模式下,輸入:
1,3s@\(.*\)@#\1@g
或
1,3s@^@#@g

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

命令模式下,輸入:
%s@\(enabled=\|gpgcheck=\)0@\11@g

6、每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名為形如etc-201504020202;

0 */4 * * * /bin/tar -zcvf /backup/etc-$(date +%Y%m%d%H%M).tar.gz /etc/ &>/dev/null

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

0 0 * * 2,4,6 /bin/tar -zxvf /backup/messages_logs/messages-$(date +%Y%m%d).tar.gz /var/log/messages &>/dev/null

8、每天每兩小時取當前系統/proc/meminfo文件中的所有以S開頭的信息至/stats/memory.txt文件中;

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

9、工作日的工作時間內,每兩小時執行一次echo ""howdy"";

0 */2 * * 1-5 /bin/echo ""howdy""

腳本編程練習 
10、創建目錄/tmp/testdir-當前日期時間;

11、在此目錄創建100個空文件:file1-file100;

#!/bin/bash
dir=/tmp/testdir-$(date +%F)
[ ! -d $dir ] && mkdir $dir && cd $dir
for i in $(seq 100); do
        touch file$i
        let i++
done

12、顯示/etc/passwd文件中位于第偶數行的用戶的用戶名;

通過腳本實現:

#!/bin/bash
for i in $(seq 2 2 100); do
        sed -n ${i}p /etc/passwd | cut -d: -f1
        let i+=2
done

通過命令實現:

sed -n 'n;p' /etc/passwd | cut -d: -f1

13、創建10用戶user10-user19;密碼同用戶名;

#!/bin/bash

for i in $(seq 10 19); do
        useradd user$i
        echo "user$i" | passwd --stdin user$i &>/dev/null
        let i++
done
tail -10 /etc/passwd | cut -d: -f1

14、在/tmp/創建10個空文件file10-file19;

    

15、把file10的屬主和屬組改為user10,依次類推。

#!/bin/bash

for i in $(seq 10 19); do
        useradd user$i
        touch /tmp/file$i
        chown user$i.user$i /tmp/file$i
        echo "user$i" | passwd --stdin user$i &>/dev/null
        let i++
done
tail -10 /etc/passwd | cut -d: -f1

原創文章,作者:dawning,如若轉載,請注明出處:http://www.www58058.com/54574

(0)
dawningdawning
上一篇 2016-10-26
下一篇 2016-10-26

相關推薦

  • rpm包管理

    rpm包管理 由于 RPM 是透過預先編譯打包成為 RPM 文件格式后,再加以安裝的一種方式,還能夠進行數據庫的記載。 所以 RPM 有以下的優點: RPM 內含已經編譯過的程序與配置文件等數據,可以讓用戶免除重新編譯的困擾; RPM 在被安裝前,會先檢查系統的硬盤容量、操作系統版本等,可避免檔案被錯誤安裝; RPM 檔案本身提供軟件版本信息、相依屬性軟件名…

    Linux干貨 2016-08-21
  • 高級文件系統管理之磁盤配額及RAID的運用

    本章內容 設定文件系統配額 設定和管理軟RAID設備 一,概述 配置配額系統: 綜述 在內核中執行 以文件系統為單位啟用 磁盤配額最小單位是以文件系統為單位啟用,就是一個掛載點,而不能以目錄為單位 對不同組或者用戶的策略不同 根據塊或者節點進行限制 執行軟限制(soft limit) 硬限制(hard limit) 初始化 分區掛載選項:usrquota、g…

    Linux干貨 2016-09-07
  • grep命令v2

    顯示netstat 以LISTEN結尾,或后接空白的行

    Linux干貨 2016-11-20
  • 第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]# cp -r /etc/skel /home/tuser1 ]# chmod -R 700 /home/tuser1/ 2、編輯/etc/group文件,添加組hadoop ~]# echo "hadoop:…

    Linux干貨 2016-12-14
  • python內建函數

    # Python內建函數(部分)– 標識id返回對象的唯一標識,CPython返回內存地址– 哈希hash()返回一個對象的哈希值– 類型type()返回對象類型– 類型轉換float() int() bin() hex() oct() bool() list() tuple() dict()set() com…

    Linux干貨 2017-10-09
  • 第七周 練習

    1. 請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 集線器:集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離網橋:是早期的兩端口二層網絡設備,用來連接不同網段。網橋的兩個端口分別有一條獨立的交換信道,      不是共享一條背板總線,可隔…

    Linux干貨 2016-12-13
欧美性久久久久