cp [OPTION]... SOURCE(原文件)... DIRECTORY(目录)shell
sed [options] 'command' file(s)编程
-i∶直接修改读取的档案内容,而不是由萤幕输出。bash
vi中的末行模式:ssh
#,+#从左侧#表示的行起始,加上右侧#表示的行数;编辑器
%:全文 ide
s:在末行模式下完成查找替换操做
s/要查找的内容/替换为的内容/修饰符
要查找的内容:可以使用模式
替换为的内容:不能使用模式,但可使用\1,\2,...等后向引用符号;还可使用"g"引用前面查找时查找到的整行内容;oop
crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
spa
-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,若是你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(好比说 setenv VISUAL joe)
-r [UserName]: 删除目前的时程表
-l [UserName]: 列出目前的时程表
-v [UserName]:列出用户cron做业的状态命令行
crontab -e crontab
# 此时会进入 vi 的编辑画面让您编辑工做!注意到,每项工做都是一行。
#分 时 日 月 周 |<==============任务的完整命令行
* */2 */1 * * grep "^S" /proc/meminfo
cut [OPTION]... [FILE]...
-d DELIMITER: 指明分隔符
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,2,4
#-#:连续的多个字段,例如1-6
一、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以致少一个空白字符开头的行的行首加#;
|
|
二、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
|
|
三、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
|
|
四、为/tmp/grub.conf文件中前三行的行首加#号;
|
|
五、将/etc/yum.repos.d/CentOS-Media.repo文件中全部的enabled=0或gpgcheck=0的最后的0修改成1;
|
|
六、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201608300202
|
[root@loaclhost /]# crontab -e crontab: no changes made to crontab 00 */4 * * * cp -r /etc/ /backup/etc-`date +%Y%m%d%H%M` |
七、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20160830
|
|
八、天天每两小时取当前系统/proc/meminfo文件中的全部以S开头的信息至/stats/memory.txt文件中
[root@loaclhost /]# crontab -e crontab: no changes made to crontab 00 */2 */1 * * grep "^S" /proc/meminfo >> /stats/memory.txt |
九、工做日的工做时间内,每两小时执行一次echo "howdy"
[root@loaclhost /]# crontab -e crontab: no changes made to crontab 00 9-18/2 * * */1-5 echo "howdy" |
脚本编程练习
十、建立目录/tmp/testdir-当前日期时间;
|
十一、在此目录建立100个空文件:file1-file100
|
十二、显示/etc/passw d文件中位于第偶数行的用户的用户名;
|
1三、建立10用户user10-user19;密码同用户名;
[root@loaclhost ~]# cat /do/useradd.sh #!/bin/bash for i in {10..19};do if id user$i &>/dev/null;then echo "user$i exists." else useradd user$i if [ $? -eq 0 ];then echo "user$i" | passwd --stdin user$i &> /dev/null echo "Add user$i finished." fi fi done [root@loaclhost ~]# chmod +x /do/useradd.sh [root@loaclhost ~]# ../do/useradd.sh UserAdd user10 finish. UserAdd user11 finish. UserAdd user12 finish. UserAdd user13 finish. UserAdd user14 finish. UserAdd user15 finish. UserAdd user16 finish. UserAdd user17 finish. UserAdd user18 finish. UserAdd user19 finish |
1四、在/tmp/建立10个空文件file10-file19;
[root@loaclhost home]# cat /do/file.sh #!/bin/bash for i in {10..19};do touch /tmp/file$i done [root@loaclhost home]# chmod +x /do/file.sh [root@loaclhost home]# ../do/file.sh [root@loaclhost home]# ll /tmp/ | grep 'file' -rw-r--r--. 1 root root 0 8月 16 23:17 file10 -rw-r--r--. 1 root root 0 8月 16 23:17 file11 -rw-r--r--. 1 root root 0 8月 16 23:17 file12 -rw-r--r--. 1 root root 0 8月 16 23:17 file13 -rw-r--r--. 1 root root 0 8月 16 23:17 file14 -rw-r--r--. 1 root root 0 8月 16 23:17 file15 -rw-r--r--. 1 root root 0 8月 16 23:17 file16 -rw-r--r--. 1 root root 0 8月 16 23:17 file17 -rw-r--r--. 1 root root 0 8月 16 23:17 file18 -rw-r--r--. 1 root root 0 8月 16 23:17 file19 |
1五、把file10的属主和属组改成user10,依次类推。
[root@loaclhost home]# cat /do/file-user.sh #!/bin/bash cd /tmp for i in {10..19};do chown user$i:user$i /tmp/file$i done [root@loaclhost home]# chmod +x /do/file-user.sh [root@loaclhost home]# ll /tmp/ | grep 'file'-rw-r--r--. 1 user10 user10 0 8月 16 23:17 file10-rw-r--r--. 1 user11 user11 0 8月 16 23:17 file11-rw-r--r--. 1 user12 user12 0 8月 16 23:17 file12-rw-r--r--. 1 user13 user13 0 8月 16 23:17 file13-rw-r--r--. 1 user14 user14 0 8月 16 23:17 file14-rw-r--r--. 1 user15 user15 0 8月 16 23:17 file15-rw-r--r--. 1 user16 user16 0 8月 16 23:17 file16-rw-r--r--. 1 user17 user17 0 8月 16 23:17 file17-rw-r--r--. 1 user18 user18 0 8月 16 23:17 file18-rw-r--r--. 1 user19 user19 0 8月 16 23:17 file19 |