Linux基礎知識(六)-vim編輯器,crontab計劃任務,bash腳本循環

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
# %表示全文,@分隔符,&表示前面匹配到的全部文本,g表示全局

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

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

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

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

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

:1,3s@.*@#&@

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 * * * cp /etc /backup/etc-$(date +%Y%m%d%H%M) &> /dev/null

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

* * * * 2,4,6 cp /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d) &> /dev/null

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

[root@localhost ~]# mkdir /stats
[root@localhost ~]# touch /stats/memory.txt
* */2 * * * cat /proc/meminfo | grep "^[S|s]" >> /stats/memory.txt

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

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

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

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

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

#!/bin/bash
dirname=testdir-$(date +%F%H%M%S)       #要求是在此目錄存放,所以應當記錄這個變量
mkdir /tmp/$dirname
touch /tmp/$dirname/file{1..100}

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

sed -n 'n;p' /etc/passwd |awk -F: '{print $1}'

腳本:

#!/bin/bash
#顯示偶數行的用戶的用戶名
for i in $(seq 2 2 100); do
        sed -n ${i}p /etc/passwd | cut -d: -f1
done    
echo -----------或者------------
awk "NR%2==0" /etc/passwd | cut -d":" -f1

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

#!/bin/bash
#創建10個用戶user10-user19,密碼同用戶名
for((i=10;i<=19;i++)) {
    useradd user$i
    if [ $? -eq 0  ]; then
         echo user$i | passwd --stdin user$i &> /dev/null
         echo "user$i用戶添加成功" 
    else
        echo "user$i 用戶添加失敗"
    fi
    
}
###或者###
for i in {10..19};
do
useradd user$i
if [ $? -eq 0  ]; then
     echo user$i | passwd --stdin user$i &> /dev/null
     echo "user$i用戶添加成功" 
else
    echo "user$i 用戶添加失敗"
 fi
done

1477847002177.jpg

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

touch /tmp/file{10..19}

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

#!/bin/bash
#批量修改文件的屬組,屬主,修改為和文件名一樣的.
for i in {10..19};
do
    touch /tmp/file$i
    if [ $? -eq 0 ];then
        echo "file$i文件創建成功"
        chown user$i:user$i /tmp/file$i
        if [ $? -eq 0  ];then
             echo "file$i屬組屬主修改成功:$(ls -li /tmp/file$i)"
        else
             echo "file$i屬組修改失敗"
        fi
    else
        echo "file$i文件創建失敗"
    fi
done

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

(0)
luoluoluoluo
上一篇 2016-10-31 00:40
下一篇 2016-10-31 07:11

相關推薦

  • 第七周作業

    1、簡述linux操作系統啟動流程 CentOS 啟動流程圖: 通電自檢 power on system test(POST)–> BIOS –> 主機加電以后會將各個部件運轉起來,然后通過COMS上的軟件程序BIOS(Basic Input Output System)檢測每個設備cpu、內存、硬盤進行故障檢查并進行硬件…

    2018-02-07
  • sed和vim

    1、如何設置tab縮進為4個字符? vi .vimrc //編輯用戶家目錄下的vim配置文件 set tabstop=4 2、復制/etc/rc.d/init.d/functions文件至/tmp 目錄;替換/tmp/functions 文件中的/etc/sysconfig/init 為/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干貨 2016-08-10
  • 高階函數&&裝飾器

    Edit 高階函數&&裝飾器 高階函數 first class object 函數在python中是一等公民 函數也是對象,可調用的對象 函數可以作為普通比變量、參數、返回值 高階函數 數學概念:y = g(f(x)) 在數學和計算機科學中,高階函數應當是至少滿足下面一個條件的函數 接受一個或多個函數作為參數 輸出一個函數,return 函數…

    Linux干貨 2017-10-24
  • 實驗:路由、bonding、team

    實驗:路由實驗 路由表構成目標網絡:網絡ID 子網掩碼接口:到達目標網絡,從哪個接口出來,此接口網關:gateway,下一個鄰近路由器的鄰近接口的IP地址,如果目標網絡和本路由器直接,網關的地址為接口的IP centos6 關閉NetworkManager服務chkconfig NetworkManagerservice NetworkManager sto…

    Linux干貨 2017-05-06
  • Linux中的分區管理

    1. 磁盤分區類型 磁盤分區主要分為兩種類型: MBR  MBR是一個比較古老的分區類型了,不支持2TB的大硬盤。在磁盤的0磁道0扇區的512字節存放的就是MBR的信息。前446字節為bootloader,后面64字節存放的是分區表,后面2字節存放的是55aa的分區標識符。MBR分區類型最多只能支持4個主分區和擴展分區,其余的分區只能是邏輯分區。 …

    2017-04-22
  • Tomcat的安裝和簡介

    第一部分: ????在linux系統平臺上安裝Tomcat的總結 ????1.到http://jakarta.apache.org/site/binindex.cgi(去下載一個tomcat版本各種版本都有),zip或者tar.bz2的>壓縮包,將其解壓到/usr/local/的目錄下面. ????2.配置環境變量:為了在以后系統啟動后就配置好Tomc…

    2017-11-05

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-01 22:35

    完成的非常好,6、8、9題需要精確到分鐘,7題需要精確到分鐘、小時哈,加油!

欧美性久久久久