2023年8月3日发(作者:)

linux⽤vi建⽴脚本⽂件,Linux基础教程之vim、定时任务、脚本初步应⽤及详解1、复制/etc/rc.d/t⽂件⾄/tmp⽬录,将/tmp/t⽂件中的以⾄少⼀个空⽩字符开头的⾏的⾏⾸加#;~]#cp /etc/rc.d/t /tmp 在末⾏模式下输⼊:%s@^[[:space:]]+[^[:space:]]@#&@g &:匹配模式找到的全部⽂本 &=^[[:space:]]+[^[:space:]]2、复制/boot/grub/⾄/tmp⽬录中,删除/tmp/⽂件中的⾏⾸的空⽩字符;~]#cp /boot/grub/ /tmp在末⾏模式下输⼊:%s@^[[:space:]]+@@3、删除/tmp/t⽂件中的以#开头,且后⾯跟了⾄少⼀个空⽩字符的⾏⾏的#和空⽩字符在末⾏模式下输⼊:%s@^#[[:space:]]+@@g4、为/tmp/⽂件中前三⾏的⾏⾸加#号;在末⾏模式下输⼊:1,3s@^@#5、将/etc/.d/⽂件中所有的enabled=0或gpgcheck=0的最后的0修改为1;在末⾏模式下输⼊:%s@(enabled|gpgcheck)=0@1=1@g1是后向引⽤,就是正则表达式中匹配到的项1=enabled或gpgcheck6、每4⼩时执⾏⼀次对/etc⽬录的备份,备份⾄/backup⽬录中,保存的⽬录名为形如etc-2crontab -e 进⼊编辑界⾯00 */4 * * * cp -r /backup/etc-$(date +%Y%m%d%H%M)%前要⽤转义7、每周2,4,6备份/var/log/messages⽂件⾄/backup/messages_logs/⽬录中,保存的⽂件名形如messages-20150402crontab -e 进⼊编辑界⾯~】#00 00 * * 2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d)%前要⽤转义8、每天每两⼩时取当前系统/proc/meminfo⽂件中的所有以S开头的信息⾄/stats/⽂件中crontab -e 进⼊编辑界⾯00 */2 * * * cat /proc/meminfo |grep "^S" >> /stats/9、⼯作⽇的⼯作时间内,每两⼩时执⾏⼀次echo“”howdy””00 9-18/2 * * 1-5 echo "howdy"脚本编程练习10、创建⽬录/tmp/testdir-当前⽇期时间;并在此⽬录创建100个空⽂件:file1-file100。#!/bin/bash# mkdir /tmp/testdir-$(date +%Y%m%d%H%M%) cd /tmp/testdir-$(date +%Y%m%d%H%M%) for i in {1..100};do mkdir file$i done12、显⽰/etc/passwd⽂件中位于第偶数⾏的⽤户的⽤户名;sed -n '2~2p' /etc/passwd |awk -F: '{print $1}'13、创建10⽤户user10-user19;密码同⽤户名;#!/bin/bash# for i in {10..19};do if id user$i ;then echo "user$i exists." else useradd us-stdin user$i fi done14、在/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

2023年8月3日发(作者:)

linux⽤vi建⽴脚本⽂件,Linux基础教程之vim、定时任务、脚本初步应⽤及详解1、复制/etc/rc.d/t⽂件⾄/tmp⽬录,将/tmp/t⽂件中的以⾄少⼀个空⽩字符开头的⾏的⾏⾸加#;~]#cp /etc/rc.d/t /tmp 在末⾏模式下输⼊:%s@^[[:space:]]+[^[:space:]]@#&@g &:匹配模式找到的全部⽂本 &=^[[:space:]]+[^[:space:]]2、复制/boot/grub/⾄/tmp⽬录中,删除/tmp/⽂件中的⾏⾸的空⽩字符;~]#cp /boot/grub/ /tmp在末⾏模式下输⼊:%s@^[[:space:]]+@@3、删除/tmp/t⽂件中的以#开头,且后⾯跟了⾄少⼀个空⽩字符的⾏⾏的#和空⽩字符在末⾏模式下输⼊:%s@^#[[:space:]]+@@g4、为/tmp/⽂件中前三⾏的⾏⾸加#号;在末⾏模式下输⼊:1,3s@^@#5、将/etc/.d/⽂件中所有的enabled=0或gpgcheck=0的最后的0修改为1;在末⾏模式下输⼊:%s@(enabled|gpgcheck)=0@1=1@g1是后向引⽤,就是正则表达式中匹配到的项1=enabled或gpgcheck6、每4⼩时执⾏⼀次对/etc⽬录的备份,备份⾄/backup⽬录中,保存的⽬录名为形如etc-2crontab -e 进⼊编辑界⾯00 */4 * * * cp -r /backup/etc-$(date +%Y%m%d%H%M)%前要⽤转义7、每周2,4,6备份/var/log/messages⽂件⾄/backup/messages_logs/⽬录中,保存的⽂件名形如messages-20150402crontab -e 进⼊编辑界⾯~】#00 00 * * 2,4,6 cp -r /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d)%前要⽤转义8、每天每两⼩时取当前系统/proc/meminfo⽂件中的所有以S开头的信息⾄/stats/⽂件中crontab -e 进⼊编辑界⾯00 */2 * * * cat /proc/meminfo |grep "^S" >> /stats/9、⼯作⽇的⼯作时间内,每两⼩时执⾏⼀次echo“”howdy””00 9-18/2 * * 1-5 echo "howdy"脚本编程练习10、创建⽬录/tmp/testdir-当前⽇期时间;并在此⽬录创建100个空⽂件:file1-file100。#!/bin/bash# mkdir /tmp/testdir-$(date +%Y%m%d%H%M%) cd /tmp/testdir-$(date +%Y%m%d%H%M%) for i in {1..100};do mkdir file$i done12、显⽰/etc/passwd⽂件中位于第偶数⾏的⽤户的⽤户名;sed -n '2~2p' /etc/passwd |awk -F: '{print $1}'13、创建10⽤户user10-user19;密码同⽤户名;#!/bin/bash# for i in {10..19};do if id user$i ;then echo "user$i exists." else useradd us-stdin user$i fi done14、在/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