N26-第六周博客

vim編輯器及簡單shell腳本示例

請詳細總結vim編輯器的使用并完成以下練習題 
1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;

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

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

[root@localhost tmp]# vim grub.conf
:%s@^[[:space:]]\+@@

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

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

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

[root@localhost tmp]# vim 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\|gpgcheck\)=0@\1=1@g

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

[root@localhost ~]# crontab -e
0 */4 * * * /bin/tar -zcf /backup/etc-$(date +\%Y\%m\%d\%H\%M).tar.gz /etc

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

[root@localhost ~]# crontab -e
0 0 * * 2,4,6 /bin/tar -zcf /backup/messages_logs/messages-$(date +\%Y\%m\%d).tar.gz /var/log/messages

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

[root@localhost ~]# crontab -e
0 */2 * * * /bin/grep "^S" /proc/meminfo >> /stats/memory.txt

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

[root@localhost ~]# crontab -e
0 9-18/2 * * * 1-5 /bin/echo "howdy" >> /howdy.log

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

#!/bin/bash
#
mkdir /tmp/testdir-$(date +%F-%H-%M)

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

#!/bin/bash
#
touch /tmp/file{0..100}

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

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

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

#!/bin/bash
#
for num in {24,25};do
 if
      ! id user$num &> /dev/null;then
     useradd user$num
     echo "user$num" | passwd --stdin user$num
 else
     echo "the user$num is exists"
 fi
done

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

#!/bin/bash
#
for num in {10..19};do
if
  [ ! -e file$num ];then
  touch /tmp/file$num
else
  echo "the file$num is exists"  
fi
done

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

#!/bin/bash
#
for num in {10..19};do
  chown user$num:user$num /tmp/file$num
done

 

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

(0)
youngferyoungfer
上一篇 2017-02-16 11:26
下一篇 2017-02-16 15:26

相關推薦

  • htop使用詳解

        在管理進程時通常要借助一些工具,比較常用的就是ps和top了;不過CentOS還為我們提供了一個更加強大的工具htop,下面就來了解一下此工具的使用方法。 一、安裝htop         htop工具在epel源中提供,請自行配置epel源,也可以直…

    Linux干貨 2015-05-18
  • HDFS寫入和讀取流程

    一、HDFS HDFS全稱是Hadoop Distributed System。HDFS是為以流的方式存取大文件而設計的。適用于幾百MB,GB以及TB,并寫一次讀多次的場合。而對于低延時數據訪問、大量小文件、同時寫和任意的文件修改,則并不是十分適合。 目前HDFS支持的使用接口除了Java的還有,Thrift、C、FUSE、WebDAV、HTTP等。HDFS…

    Linux干貨 2015-05-12
  • Redis高可用架構(1)—Keepalive+VIP

    最近整理一下Redis高可用架構的文檔,也準備分享出來,雖然這些架構也不是很復雜。Redis的高可用方案目前主要嘗試過5種方式,其中2種方式已經在線上使用。 1)Redis Master-Slave + Keepalive + VIP。這是很經典的db架構,也可以用與mysql的主從切換?;驹硎牵篕eepalive通過腳本檢測master的存活,然后通過…

    Linux干貨 2016-04-13
  • 初識MySQL(二)SQL語句

        MySQL是關系型數據庫的一種,基于二維表實現數據的存儲與讀取,通過索引實現快速查詢,而實現數據庫、表、索引的操作則是由SQL語句來完成的。     1、MySQL中字符大小寫       (1)、SQL關鍵字以及函數名不…

    Linux干貨 2015-08-26
  • 數據結構-棧和隊列

    1.棧 1.1 棧的定義 棧是一種特殊的線性表。其特殊性在于限定插入和刪除數據元素的操作只能在線性表的一端進行。如下所示: 結論:后進先出(Last In First Out),簡稱為LIFO線性表。 棧的基本運算有六種: 構造空棧:InitStack(S)、 判??? StackEmpty(S)、 判棧滿: StackFull(S)、 …

    Linux干貨 2015-04-07
  • N26_第二周作業

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理命令:cp,mv,rm 1、cp命令 功能說明:復制copy語法格式:        單源復制:  cp [OPTION]… [-T] SOURCE DEST  …

    Linux干貨 2017-02-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-10 16:25

    總結的很好,腳本的思路清晰,加油~~~~

欧美性久久久久