Linux做業6

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

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

    替換命令: %s@^[[:space:]]\+@#&@g
vim

    如圖中的1三、1六、20-21行:bash

    wKioL1fLsZTxcPoeAABoBGhQ7uo705.png    

二、複製/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符;ide

# cp /boot/grub/grub.conf /tmp/
# vim /tmp/grub.conf

    替換命令: %s/^[[:space:]]\+//gspa

    替換後的結果如圖中的15-17行:    wKiom1fLtJGwBMdqAABvXvFr5aw248.png3d

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

# vim /tmp/rc.sysinit

    使用vim替換命令: %s/^#[[:space:]]\+//g
blog

    替換前:
crontab

    wKiom1fLtcuQ_Vz6AABArTHhUpA897.png

    替換後:
get

    wKiom1fLtmXgJp_IAAA6opAPIQU344.png

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

# vim /tmp/grub.conf

    vim替換命令:1,3s/^/#/

    替換前:

    wKioL1fLt0TTPuDxAAAzXBOZyT8460.png

    替換後:

    wKioL1fLuH7hb-eDAABEJ2I1kNg396.png

五、將/etc/yum.repos.d/CentOS-Media.repo文件中全部的enabled=0或gpgcheck=0的最後的0修改成1;

    使用vim打開文件,並用替換命令進行修改,替換命令::%s#enabled=0#enabled=1#

    替換前:

    wKioL1fLus7wLoXWAACvUjfA258027.png

    替換後:

    wKiom1fLvF-Cvm1tAACtEVSail8993.png

六、每4小時執行一次對/etc目錄的備份,備份至/backup目錄中,保存的目錄名爲形如etc-201608300202

    使用crontab -e命令建立一條計劃任務,內容以下:

crontab -e

0 */4 * * * /usr/bin/tar -cJf /backup/etc-$(date +"\%Y\%m\%d\%H\%M").tar.xz /etc/ &> /dev/null

    結果:

    wKiom1fUNWHgt7hRAAAnxTyk4GE371.png        

    說明:

    每4個小時歸檔壓縮(xz)/etc目錄,保存至/backup目錄下

七、每週2,4,6備份/var/log/messages文件至/backup/messages_logs/目錄中,保存的文件名形如messages-20160830

    使用crontab -e命令建立一條計劃任務,內容以下:

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

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

# crontab -e
0 */2 * * * /usr/bin/grep '^S' /proc/meminfo > /stats/memory.txt

九、工做日的工做時間內,每兩小時執行一次echo "howdy"

# crontab -e
0 9-17/2 * * 1-5 /usr/bin/echo 'howdy'

腳本編程練習

十、建立目錄/tmp/testdir-當前日期時間;

#!/bin/bash
#
dateTime=$(date +"%Y%m%d%H%M")
dir=/tmp/testdir-$dateTime

if [ -d $dir ]; then
    echo "$dir already existed!"
else
    mkdir $dir &> /dev/null
fi

   結果:

    wKiom1fU9YbDTLwvAAAoW4RrOYw798.png

十一、在此目錄建立100個空文件:file1-file100

#!/bin/bash
#
dateTime=$(date +"%Y%m%d%H%M")
dir=/tmp/testdir-$dateTime
if [ -d $dir ]; then
    echo "$dir already existed!"
else
    mkdir $dir &> /dev/null
fi
cd $dir
for i in {1..100}; do
    touch file$i
done

   結果:

    wKiom1fU_S_B4POpAAB5QDa538o578.png

十二、顯示/etc/passwd文件中位於第偶數行的用戶的用戶名;

#!/bin/bash
#
userNum=$(cat /etc/passwd | wc -l)
i=2
while [ $i -le $userNum ] 
do
    echo "Line $i: $(head -$i /etc/passwd | tail -1 | cut -d: -f1)"
    let i=i+2
done

     結果:

    wKiom1fVJTCRrJK5AACGp95mZgM770.png

1三、建立10用戶user10-user19;密碼同用戶名;

#!/bin/bash
#

if [ ! $UID -eq 0 ]
then
    echo "Please login root."
    exit 1
fi

for i in $(seq 10 19)
do
    if id user$i &> /dev/null
    then
        echo "$user$i already existed!"
    else
        useradd user$i && echo "user$i" | passwd --stdin user$i &> /dev/null && echo "Add user$i finished."
    fi
done

   結果:

    wKioL1fVF0uSaz2jAABkvN-7zHc212.png

1四、在/tmp/建立10個空文件file10-file19;

#!/bin/bash
#
for i in $(seq 10 19)
do
    if [ -e /tmp/file$i ]
    then
        echo "file$i already existed!"
    else
        touch /tmp/file$i && echo "file$i finished!"
    fi
done

    結果:

    wKiom1fVGWegpwQPAABvdqrp_LQ877.png

1五、把file10的屬主和屬組改成user10,依次類推。   

#!/bin/bash
#
for i in {10..19}
do
    if [ -e /tmp/file$i ]
    then
        chown user$i:user$i /tmp/file$i && ls -l /tmp/file$i
    else
        echo "/tmp/file$i not exist!"
    fi
done

    結果:

    wKioL1fVGxGTYhArAAA2T-X2t2Y546.png

相關文章
相關標籤/搜索