馬哥教育網絡班20期+第6周課程練習

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
按Esc進入vim的末行模式,并輸入
:%s/^[[:space:]]/#&/g

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

[root@localhost ~]# cp /boot/grub/grub.conf /tmp
[root@localhost ~]# vim /tmp/grub.conf
按Esc進入vim的末行模式,并輸入
:%s/^[[:space:]]\+//g

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

[root@localhost ~]# vim /tmp/rc.sysinit
按Esc進入vim的末行模式,并輸入
:%s/^[[:space:]]\{0,\}#[[:space:]]\+//g

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

[root@localhost ~]# vim /tmp/grub.conf
按Esc進入vim的末行模式,并輸入
:1,+2s/^/#&/g

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

[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo
按Esc進入vim的末行模式
:/enabled=0/s/0/1/g
:/gpgcheck=0/s/0/1/g
或
%s@enabled=0@enabled=1@g
%s@gpgcheck=0@gpgcheck=1@g

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

[root@localhost ~]# crontab -e
crontab: installing new crontab
* */4 * * * cp -r /etc/ /backup/etc-`date +%Y%m%d%H%M`
[root@localhost ~]# /etc/init.d/crond start

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

* * * * */2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-`date +%Y%m%d`

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

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

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

* 9-17/2 * * */1-5 echo "howdy"

腳本編程練習

10、創建目錄/tmp/testdir-當前日期時間;

[root@localhost tmp]# vim create.sh
#!/bin/bash
mkdir -pv /tmp/testdir-$(date +%F-%H-%M-%S)
[root@localhost tmp]# bash -n create.sh
[root@localhost tmp]# bash create.sh
mkdir: 已創建目錄 "/tmp/testdir-2016-07-13-16-12-37"

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

[root@localhost tmp]# cd /tmp/testdir-2016-07-13-16-12-37/
[root@localhost testdir-2016-07-13-16-12-37]# nano createfile.sh
#!/bin/bash
for i in {1..100};do
    mkdir file$i
done
[root@localhost testdir-2016-07-13-16-12-37]# bash -n createfile.sh
[root@localhost testdir-2016-07-13-16-12-37]# bash createfile.sh
[root@localhost testdir-2016-07-13-16-12-37]# ls
createfile.sh  file19  file3   file40  file51  file62  file73  file84  file95
file1          file2   file30  file41  file52  file63  file74  file85  file96
file10         file20  file31  file42  file53  file64  file75  file86  file97
file100        file21  file32  file43  file54  file65  file76  file87  file98
file11         file22  file33  file44  file55  file66  file77  file88  file99
file12         file23  file34  file45  file56  file67  file78  file89
file13         file24  file35  file46  file57  file68  file79  file9
file14         file25  file36  file47  file58  file69  file8   file90
file15         file26  file37  file48  file59  file7   file80  file91
file16         file27  file38  file49  file6   file70  file81  file92
file17         file28  file39  file5   file60  file71  file82  file93
file18         file29  file4   file50  file61  file72  file83  file94

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

[root@localhost tmp]# sed -n 'p;n' /etc/passwd | cut -d: -f1

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

[root@localhost tmp]# vim usercreate.sh
#!/bin/bash
for i in {10..19};do
    if id user$i &>/dev/null;then
    echo "user$i exists."
    else
    useradd user$i
    if [ $? -eq 0 ];then
        echo "user$i" | passwd --stdin user$i &> /dev/null
        echo "Add user$i finished."
    fi
    fi
done
[root@localhost tmp]# bash -n usercreate.sh
[root@localhost tmp]# bash usercreate.sh
Add user10 finished.
Add user11 finished.
Add user12 finished.
Add user13 finished.
Add user14 finished.
Add user15 finished.
Add user16 finished.
Add user17 finished.
Add user18 finished.
Add user19 finished.

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

[root@localhost tmp]# vim file.sh
#!/bin/bash
for i in {10..19};do
    mkdir /tmp/file$i
done
[root@localhost tmp]# bash file.sh
[root@localhost tmp]# ls | grep file
file10
file11
file12
file13
file14
file15
file16
file17
file18
file19
file.sh

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

[root@localhost tmp]# vim file1.sh
#!/bin/bash
cd /tmp
for i in {10..19};do
    chown user$i:user$i /tmp/file$i
done
[root@localhost tmp]# bash -n file1.sh
[root@localhost tmp]# bash file1.sh
[root@localhost tmp]# ll | grep file
drwxr-xr-x. 2 user10 user10     4096 7月  13 16:38 file10
drwxr-xr-x. 2 user11 user11     4096 7月  13 16:38 file11
drwxr-xr-x. 2 user12 user12     4096 7月  13 16:38 file12
drwxr-xr-x. 2 user13 user13     4096 7月  13 16:38 file13
drwxr-xr-x. 2 user14 user14     4096 7月  13 16:38 file14
drwxr-xr-x. 2 user15 user15     4096 7月  13 16:38 file15
drwxr-xr-x. 2 user16 user16     4096 7月  13 16:38 file16
drwxr-xr-x. 2 user17 user17     4096 7月  13 16:38 file17
drwxr-xr-x. 2 user18 user18     4096 7月  13 16:38 file18
drwxr-xr-x. 2 user19 user19     4096 7月  13 16:38 file19
-rw-r--r--. 1 root   root         77 7月  13 16:47 file1.sh
-rw-r--r--. 1 root   root         77 7月  13 16:46 file.sh

 

原創文章,作者:二極管,如若轉載,請注明出處:http://www.www58058.com/24374

(0)
二極管二極管
上一篇 2016-07-16 22:29
下一篇 2016-07-16 22:29

相關推薦

  • HTTP響應連接介紹

    HTTP即超文本傳輸協議,web站點的實現就是基于HTTP協議得以實現。本文將詳細討論HTTP。 1. HTTP協議版本: HTTP從誕生到現在一共有如下幾個版本: HTTP 0.9:是最早的版本,為HTTP的原型版本,其功能非常簡陋; HTTP 1.0:此版本增加了很多新特性,如cache,method,MIME等,MIME的出現讓網頁不再是單純的純文本界…

    2017-05-31
  • Linux進程管理工具

    進程管理

    Linux筆記 2018-05-06
  • 追風箏的人

    IO重定向 管道 tr 用戶管理 組管理 文件權限管理 文本處理工具
    Grep和正則表達式 擴展的正則表達式和VIM

    Linux筆記 2018-04-08
  • GRUB Legacy&Trouble Shooting

    GRUB (Grand Unified Bootloader)        位于系統引導盤的MBR中的Boot Loader。        GRUB是一個來自GNU項目的啟動引導程序。GRUB是多啟動規范的實現,它允…

    Linux干貨 2016-09-13
  • linux下小練習(2)

    1、編寫腳本/bin/per.sh,判斷當前用戶對指定的參數文件,  是否不可讀并且不可寫  ?                       2、編寫腳本/root/bin/nologin.sh和login.sh,實現禁止和充 許…

    Linux干貨 2016-08-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-16 22:35

    寫的很好,排版也很漂亮,加油,每天的不要/1,每周的直接寫就可以

欧美性久久久久