虽千万人,吾往矣

Bash-特殊字符-下

尖括号(< 和 >) 

重定向

  • <<<  部分匹配某个字符串
  • >  输出重定向到文件或设备 覆盖原来的文件
  • >!     输出重定向到一个文件或设备 强制覆盖原来的文件
  • >>  输出重定向,进行追加,不会覆盖之前的内容
  • <<  标准输入来自命令行的一对分隔号的中间内容(这个可以看EOF的实例)
  • <    输入重定向到一个程序,将后面文件作为前面命令的输入

test.sh > filename:重定向 test.sh 的输出到文件 filename 中。如果 filename 存在的话,那么将会被覆盖。

test.sh &> filename:重定向 test.sh 的 stdout(标准输出)和 stderr(标准错误)到 filename 中。

test.sh >&2:重定向 test.sh 的 stdout 到 stderr 中。

test.sh >> filename:把 test.sh 的输出追加到文件 filename 中。如果 filename 不存在的话,将会被创建。

之前提到了一些,详细看 关于 < <、<、>、>>

竖线(|)

管道

分析前边命令的输出,并将输出作为后边命令的输入。这是一种产生命令链的好方法。

vim b.sh

输出的内容均变为了大写字母。

破折号(-)

选项,前缀

在所有的命令内如果想使用选项参数的话,前边都要加上“-”。

用于重定向 stdin 或 stdout

下面脚本用于备份最后 24 小时当前目录下所有修改的文件。

 

需要理解的知识点

关于tar命令

tar cvf etcbak.tar etc/  打包一个tar

tar xvf etcbak.tar         解开一个tar

tar cvzf etcbak.tar.gz etc/ 打包压缩一个 tar

tar zxvf etcbak.tar.gz  解压一个tar

archive=${1:-$BACKUPFILE} 什么意思?

理解$0-$9 。如果有输入参数,archive的值用第一个输入参数,如果没有,archive的值设置为$BACKUPFILE

花括号中的1,代表脚本或者函数里的第一个参数

find命令

-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

tar命令

gzip命令

波浪号(~)

目录

~ 表示 home 目录。

 

posted @ 2020-10-17 16:50  遥望星空脚踏实地  阅读(97)  评论(0编辑  收藏  举报