1、tar命令 tar: /mnt/raid5/pgsql/data:归档中找不到 问题
在压缩文件时,当后面的备份目录使用绝对路径时,会出现:
[root@device ~]# tar -zxvf /mnt/raid5/pgsql/data201704.tar.gz /mnt/raid5/pgsql/data
tar: /mnt/raid5/pgsql/data:归档中找不到
tar: 由于前次错误,将以上次的错误状态退出
解决方式1:在压缩时增加-P(大写)参数即可。
需要注意的是:
-P为递归目录,所以解压时也需要增加-P参数,或者再根目录进行解压
解决方案2:压缩和解压时都使用相对路径即可:
tar -zcvf data201704.tar.gz data
tar -zxvf data201704.tar.gz data
2、分界符EOF使用
在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“,再次返回到主调shell,可将其理解为分界符(delimiter)。既然是分界符,那么形式自然不是固定的,这里可以将”EOF“可以进行自定义,但是前后的”EOF“必须成对出现且不能和shell命令冲突。其使用形式如下:
交互式程序(命令)<<EOF
command1
command2
...
EOF
”EOF“中间的内容将以标准输入的形式输入到”交互式程序“,当shell看到”<<“知道其后面输入的分界符,当shell再次看到分界符时,两个分界符中间的部分将作为标准输入。
"EOF"一般常和cat命令连用。
注意,最后的”EOF“必须单独占一行。
3、批量添加文件后缀名
for i in * ; do mv $i $i".jpg" ; done