馬哥教育21期網絡班—第六周課程+練習—-成長進行時

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

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

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

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

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

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

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

4、為/tmp/grub.conf文件中前三行的行首加#號; [root@localhost ~]# cp /boot/grub/grub.conf

[root@localhost ~]# cp /boot/grub/grub.conf /tmp/grub.conf
[root@localhost tmp]# vim grub.conf:1,3s@.*@#&@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 
:%s@=[0-1]@=1@g

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

[root@localhost ~]# crontab -e 
* */4 * * * cp -rf /etc /backup/etc-`date +\%Y\%m\%d\%H\%M`

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

[root@localhost ~]# crontab -e
 1 * * * 2,4,6 cp /var/log/messages /backup/messages_logs/messages-`date +\%Y\%m\%d`

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

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

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

[root@localhost ~]# crontab -e
 * */2 * * 1,2,3,4,5 echo "howdy"

腳本編程練習

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

#/bin/bash 
#mkdir -p /tmp/testdir-`date +\%Y\%m\%d\%H\%M`

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

#/bin/bash 
#for i in  {1..100};do
mkdir -p file$i
done

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

#!/bin/bash
sed -n 'n;p' /etc/passwd | cut -d: -f1 >> /tmp/user.txt
[root@localhost tmp]# cat /tmp/user.txtbin
adm
sync
halt
uucp
games
ftp
dbus
vcsa
rtkit
abrt
nfsnobody
gdm
apache
postfix
sshd

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

for i in {10..19}; do
if id user$i &> /dev/null; then
echo "user$i exists."elseuseradd user$i
if [ $? -eq 0 ]; then
echo "user$i" | passwd --stdin user$i &> /dev/null
echo "Add user$i finished."fi
fi
done

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

for i in {10..19}; do
if [ -d /tmp/file$i ]; then
echo "file$i exists."else
mkdir -p  /tmp/file$
if[ $? -eq 0 ]; then
echo "Add file$i finished."
fi
fi
done

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

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

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

(0)
N21_ DominicN21_ Dominic
上一篇 2016-08-03
下一篇 2016-08-03

相關推薦

  • Linux網絡管理之路由和team網絡組

    如何實現把linux當路由器來使用,實現不同網段之間的通信訪問,這就是今天所要實現的路由配置   環境準備:4臺虛擬機,兩臺中間兩臺作為路由器來使用(每天主機兩塊網卡),其他兩臺作為終端主機,目的是讓不同網段的兩臺主機之間互相訪問(這里在vmware里面做的實驗,所以網卡的類型都設置為橋接)   拓撲圖:   步驟一:將A、D兩…

    系統運維 2016-09-10
  • Apache-httpd工作模型

    httpd   httpd是由apache軟件基金會開發的一款著名的web服務器軟件。由于其開放源代碼,并且擁有跨平臺、功能強大、安全穩定等特性,而被廣泛使用。早期httpd是在修修補補的基礎上成長起來的,所以早期也叫作a pachey server,由于開發httpd的組織叫作apache,因此httpd也被稱作apache。httpd有三個長線維護版本,…

    Linux干貨 2017-02-15
  • bash循環、函數、數組、內置的字符串處理、變量、trap信號捕捉

    流程控制 過程式編程語言: 順序執行 如果是命令寫錯了,可以繼續往下執行;但當語法錯誤時則不會往下繼續執行; 選擇執行 循環執行 條件選擇:if語句 單分支 if 判斷條件;then 條件為真的分支代碼 fi 雙分支 if 判斷條件; then 條件為真的分支代碼 else 條件為假的分支代碼 fi 多分支 if 判斷條件1; then 條件為真的分支代碼 …

    Linux干貨 2017-05-21
  • linux文件查找工具 — find

    簡述:   linux中find命令是一種強大的實時查找工具,它通過用戶給出的路徑,在該路徑下的文件系統中進行文件查找。因此在遍歷一個較大的文件系統時會比較花費時間,而且find命令占用資源也是比較大的,所以它的工作特點是,查找的速度略慢,但是可以實現精確查找和實時查找。由于用戶權限的問題,可能只搜索用戶具備讀取和執行權限的目錄。由于fi…

    Linux干貨 2016-08-18
  • Cacti整合Zabbix監控

    前言: 由于公司現在很多業務都是使用cacti進行監控流量的,并且還有一些使用zabbix監控的項目,正好又有一個項目需要搭建Cacti+Zabbix進行綜合監控,搭建完畢之后發現,Cacti較之以前有了不小的改進,所以就來寫一寫Cacti和Zabbix監控整合的文章,順便說一下Cacti下的一些好用的插件。 環境: Centos 6.4 X86_64 Ca…

    Linux干貨 2015-03-19
  • CentOS計劃任務詳解

    一、計劃任務應用場景:        需要每天對服務器上的數據進行備份,但是白天服務器的訪問量較大,服務器承受著較大的壓力,備份任務只能在夜晚服務器較空閑時才能進行?;蛘咝枰R時在某時間點執行一個任務等,都需要用到計劃任務的功能。 二、計劃任務分類:    &…

    Linux干貨 2016-09-09

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-03 15:31

    命令,跟vim命令模式混合在一起了,希望能耐心點

欧美性久久久久