vim與bash腳本的那些事兒

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

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:]]\+/#&/g

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

[root@localhost~]# cp /boot/grub/grub.conf /tmp
[root@localhost~]# vim /tmp/grub.conf

末行模式輸入:

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

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

[root@localhost~]# vim /tmp/rc.sysinit
%s/^[#][[:space:]]\+//g

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

[root@localhost~]# vim /tmp/grub.conf
1,3s/^/#&/

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

[root@localhost~]# vim etc/yum.repos.d/CentOS-Media.repo
%s#\(enabled=\)[[:digit:]]#\11#g
%s#\(gpgcheck=\)[[:digit:]]#\11#g

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

0 */4 * * * /bin/cp -a /etc /backup/etc-$(date +\%Y\%m\%d\%H\%M\%S)

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

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文件中

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

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

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

腳本編程練習

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

#!/bin/bash
mkdir -p /tmp/testdir-$(date +%Y%m%d%H%M%S)

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

#!/bin/bash
for i in $(seq 1 100);do touch file$i;done

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

#!/bin/bash
sed -n 'n;p' /etc/passwd | cut -d: -f1

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

#!/bin/bash
for u in $(seq 10 19);do useradd user$u;echo "user$u" | passwd --stdin user$u;done

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

#!/bin/bash
for f in $(seq 10 19);do touch /tmp/file$f;done

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

#!/bin/bash
for f in $(seq 10 19);do chown user$f:user$f /tmp/file$f;done

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

(0)
AnacondaAnaconda
上一篇 2016-08-02
下一篇 2016-08-02

相關推薦

  • 高效傳輸的幾種用法

    scp命令下載:scp [options] [user@]host:/sourcefile /destpath scp -pr root@172.20.96.1:/root/kanger /root/傳送:scp [options] /sourcefile [user@]host:/destpath scp -pr /kanger 172.20.96.1:?!?/p>

    Linux筆記 2018-05-21
  • 路由配置

      RA和RB為linux系統,此處虛擬成為路由器,在每一臺路由器的接口上設置好ip之后開始配置路由表 ip地址配置如下: RA:eth1:192.168.100.1/24    eth0:10.1.0.1/8       主機A:10.1.0.25/8 RB: eth1:192.168.100.2…

    Linux干貨 2016-09-07
  • 第七周作業

    1、創建一個10G分區,并格式為ext4文件系統;  (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@localhost ~]# fdisk /dev/sdb #創建10G分區 Welcome to fdisk (util-linux 2.23.2). Changes wi…

    Linux干貨 2017-02-19
  • 正則表達式

    正則表達式 熱身 正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。 例如 grep, expr, sed , awk. 或Vi中經常會使用到正則表達式,為了充分發揮&…

    Linux干貨 2016-08-12
  • SSH協議及基于SSH集群key認證實驗

    本節索引: 一、SSH協議相關概念 二、實驗:實現基于key登錄認證 三、實驗:實現多臺機器間互相基于key登錄認證 四、實驗:實現100臺機器基于key登錄驗證 五、實驗:利用pssh工具實現集群操作 一、SSH協議相關概念 SSH:secure shell,protocal,22/tcp,安全的遠程登錄; 利用 SSH 協議可以有效防止遠程管理過程中的信…

    2018-05-19
  • Linux用戶和組的相關管理命令(一、用戶的相關命令)

    Linux是一個可以實現多用戶登錄的操作系統,通過su – 用戶名 可以進行用戶之間的切換,從而完成不同登錄用戶下對私有文件的操作,同時,每個用戶有且只有一個主組,但是可以有零個或多個附加組,每個組可以是一個用戶的主組,同時還可以是多個用戶的附加組。因此,熟練掌握用戶和組的相關命令十分重要。 首先,要了解用戶和組的配置文件各有兩個: 與用戶相關的…

    2017-07-22
欧美性久久久久