第六周作業 bash編程學得好痛苦啊,啊啊啊~~需要挺??!

請詳細總結vim編輯器的使用并完成以下練習題

VIM很強大,但是萬變不離其宗,最核心的三模式以下圖表示:

第六周作業 bash編程學得好痛苦啊,啊啊啊~~需要挺??!

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

:%s/^[[:blank:]]\+.*/\0#/g

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

:%s/^[[:space:]]\+//g

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

:%s/^#[[:blank:]]\+//g

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

:1,3s/^/\0#/g

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

:%s/\(enabled\|gpgcheck\)=0/\1=1/g

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

* */4 * * * /usr/bin/cp /etc /backup/etc-$(date +%Y%m%d%H%M)/

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

* * * * 2,4,6   /usr/bin/cp /var/log/messages /backupmessages_logs/messages-$(date +%Y%m%d)

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

* */2 * * * /usr/bin/grep -E "S.*" /proc/meminfo>>/stats/memory.txt

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

* 9-18/2 * * 1-5        /usr/bin/echo "howdy"

腳本編程練習

10、創建目錄/tmp/testdir-當前日期時間; 在此目錄創建100個空文件:file1-file100

[root@centos7 ~]# cat testdir
#!/bin/bash
#Author:Jerry

cd /tmp && mkdir testdir-$(date +%Y%m%d%H%M%S)

cd testdir-$(date +%Y%m%d%H%M%S)

for i in {1..100}; do
    touch file$i
done




[root@centos7 ~]# bash testdir
[root@centos7 ~]# ls /tmp/testdir-20161219144412/
file1    file14  file2   file25  file30  file36  file41  file47  file52  file58  file63  file69  file74  file8   file85  file90  file96
file10   file15  file20  file26  file31  file37  file42  file48  file53  file59  file64  file7   file75  file80  file86  file91  file97
file100  file16  file21  file27  file32  file38  file43  file49  file54  file6   file65  file70  file76  file81  file87  file92  file98
file11   file17  file22  file28  file33  file39  file44  file5   file55  file60  file66  file71  file77  file82  file88  file93  file99
file12   file18  file23  file29  file34  file4   file45  file50  file56  file61  file67  file72  file78  file83  file89  file94
file13   file19  file24  file3   file35  file40  file46  file51  file57  file62  file68  file73  file79  file84  file9   file95
[root@centos7 ~]#

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

[root@centos7 ~]# sed -n '2~2p' /etc/passwd |cut -d ":" -f1
bin
adm
sync
halt
operator
ftp
avahi-autoipd
systemd-network
polkitd
apache
abrt
unbound
saslauth
amandabackup
geoclue
setroubleshoot
ntp
nfsnobody
qemu
mysql
pulse
gnome-initial-setup
sshd
tcpdump
hadoop
testbash
nologin
user1

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

#!/bin/bash
#

    for i in {10..19};do
            if id user$i ;then
                    echo "user$i exists."
            else
                    useradd user$i
                    echo "user$i" | passwd --stdin user$i
            fi
    done

14、在/tmp/創建10個空文件file10-file19; 把file10的屬主和屬組改為user10,依次類推。

#!/bin/bash
#
            cd /tmp/
    for i in {10..19};do
            if [ -e file$i ] ;then
                    echo "file$i exists."
                    chown user$i:user$i file$i
            else

                    touch file$i
                    chown user$i:user$i file$i
            fi
    done

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

(0)
N24_JerryN24_Jerry
上一篇 2016-12-19
下一篇 2016-12-19

相關推薦

  • Lvm基本應用,擴展及縮減實現

    什么是LVM LVM是Logical Volume Manager的簡寫。其是Linux環境下對磁盤分區進行管理的一種機制。LVM由Heinz Mauelshagen在Linux 2.4內核上實現。其主要作用是在不損壞磁盤數據的情況下對磁盤空間進行增加,縮減。LVM的做法是將幾塊物理硬盤通過軟件的方式組合成一塊空間相對大的Volume Group,簡稱VG,…

    Linux干貨 2016-09-08
  • Linux防火墻之基本原理

    本系列文章主要講述Linux防火墻的基本原理和基礎使用方法: 1.什么是防火墻: 當我們把計算機連入互聯網與其他計算機進行通信時,這無疑也將自己的信息暴露了,那就意味著可能會有一些心懷不軌的人會利用這些信息來攻擊自己的主機,尤其是作為一臺服務器向互聯網用戶提供服務時,就迫切需要一種隔離和保護機制,來隔離外部網絡,達到保護自我的目的。而這種隔離機制就叫做防火墻…

    Linux干貨 2016-12-27
  • shell腳本編程之變量

    一、創建shell腳本文件   創建shell腳本時,必須在第一行指定要使用的shell。格式為:   #!/bin/bash   通常在shell腳本中,#代表注釋行,即不被執行的行,而第一行“#!”則是表示用哪個shell來執行腳本。   實例:   讓我們來執行一下這個腳本:   上面的結果顯…

    Linux干貨 2016-02-14
  • LVM 邏輯卷管理器-縮小LV容量及快照區的建立

    LVM 邏輯卷管理器-縮小LV容量 將/dev/sdb2分區抽離出來,縮小LV容量 (1)首先查看/dev/sdb2的容量大小 [root@centos6 ~]# df -h /mnt/lvm/ Filesystem        &nbs…

    Linux干貨 2016-09-19
  • linux 文本處理工具 grep cut sort等

    linux day 7 間歇性回憶 自動屬于這個組 是  SGID 的功能 chmod g+s /data/testdir setfacl —m g:g2:rwx /data/testdir setfacl -m b:g:g2:rwx /data/testdir setfacl -m d:g:g3:r testdir chmod o= testdi…

    Linux干貨 2016-08-08
  • 位運算符及其應用

    一、C語言的六種位運算符: & 按位與 | 按位或 ^ 按位異或 ~ 取反 << 左移 >> 右移 1.   按位與運算 按位與運算符"&"是雙目運算符。     &nb…

    Linux干貨 2015-11-18

評論列表(2條)

  • N24_yezi
    N24_yezi 2016-12-19 19:55

    兄弟出品,必屬精品啊

    • N24_Jerry
      N24_Jerry 2016-12-20 15:14

      @N24_yezi多謝班長捧場

欧美性久久久久