写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?

复制内容到剪贴板

代码:

!/bin/bash


trap "loop" 2


loop()

{

        echo "haha,you can't break me!"

}


while((1))

do

        echo "Keep alive!"

        sleep 10

done

编写脚本实现以下功能:每天早上5点开始做备份,要备份的是/var/mylog里所有文件和目录可以压缩进行备份,备份可以保存到别一台器上192、168、1、2 FTP帐号 aaa 密码 bbb  要示每天的备份文件要带有当天的日期标记

复制内容到剪贴板

代码:

[root@localhost sh]# crontab -l

0 5 * * * /sh/backup.sh


脚本如下:

[root@localhost sh]# cat backup.sh 

#!/bin/bash


name=`date +%F`

tar czf $name.tgz /var/mylog/*

user='aaa'

passwd='bbb'

host='192.168.1.2'

cd /var/mylog


ftp -n $host <<EOF

quote user $user

quote passwd $passwd

put $name.tgz

quit

EOF

判断一个文件是否为字符设备,如果是将其拷贝至/etc

复制内容到剪贴板

代码:

#character.sh

#!/bin/bash


read -p 'input filename: ' filename

if [[ -c "$filename" ]];then

       cp $filename /etc

fi

在A目录下创建50个文件file1-file50,然后将其移至/path/B

复制内容到剪贴板

代码:

#mkfile.sh

#!/bin/bash

A=/test1

B=/test2

cd $A


for num in {1..50}

do

        touch file$num

done


cp $A/file* $B

检测某个端口所占用的进程

lsof -i:8080


在不umount的情况下,如何重新设置mount的参数

mount -o remout,rw /dev/hdc


linux文件的权限位x对目录和文件有何不同?

x对目录:允许该目录下运行可执行命令,对文件:是否有可执行权限


找出/taomee目录下的所有常规文件并设置权限644

find /taomee -type f | xargs chmod 644


如何查找某一文件被哪个进程打开?

fuser -mv /sh/rm.sh


新增一块存储设备,lvm操作的命令如何写

pvcreate vgcteate lvcreate


给主机host:172.16.0.2增加gateway10.0.0.110

route add host 172.16.0.2 gateway10.0.0.110


写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?

!/bin/bash


trap "loop ...

继续上贴。。

使用awk打印出 welcome to taomee

复制内容到剪贴板

代码:

# cat aa

welcome to taomee

# cat aa | awk '{print $0}'

welcome to taomee

找出access.log中访问top 10的ip地址

复制内容到剪贴板

代码:

awk '{print $1}' /var/log/httpd/access_log | uniq -c | sort -r | head -10

打印1-100奇数

复制内容到剪贴板

代码:

#print.sh

#!/bin/bash


for i in `seq 1 100`

do

        let a=$i%2

        if [[ $a -ne 0 ]];then

            echo $i

        fi

done

删除一个文件中行号为奇数的行

复制内容到剪贴板

代码:

#rm.sh 

#!/bin/bash


num=$(cat /sh/aa | wc -l)

i=1

while read line

do

        number=i%2

        if [[ $number -eq 0 ]];then

            echo "$line" >> /sh/bb

        fi

let i++

done<"/sh/aa"


mv /sh/bb /sh/aa

替换某一个文件的字符串

就那上面的例子来说(将******替换成network)

复制内容到剪贴板

代码:

[root@localhost sh]# cat aa

taomee.***********.peoplenet

[root@localhost sh]# sed -i 's/\*.*$\./network/' aa

[root@localhost sh]# cat aa

taomee.network.peoplenet

exec和souce区别

exec用来对文件的操作(创建、打开、关闭等),而source让修改后的文件立即生效如:/etc/profile,也相当于.让其在父shell中执行