Bash的基本功能一、命令别名1、命令的取值顺序effect被执行并使用绝对路径或相对路径执行命令执行别名执行Bash内部命令根据$PATH环境变量定义的目录顺序执行找到的第一个命令2.查看别名命令格式grep='grep--color=auto'aliasl='ls-CF'aliasla='ls-A'aliasll='ls-AlhF--color=auto'aliasls='ls--color=auto'别名vi='vim'[vagrant/tmp]]$aliaslsaliasls='ls--color=auto'[vagrant/tmp]]$aliascp-bash:alias:cp:notfound3.设置别名命令格式aliasalias='命令参数'instance[vagrant/tmp]]$aliascat='cat-n'[vagrant/tmp]]$aliasless='less-mN'[vagrant/tmp]]$aliasaliascat='cat-n'aliasgrep='grep--color=auto'aliasl='ls-CF'aliasla='ls-A'aliasless='less-mN'aliasll='ls-AlhF--color=auto'aliasls='ls--color=auto'aliasvi='vim'设置别名永久生效。在上面的命令行中设置别名。别名只能在当前bash中使用,一旦退出,别名将失效。要使别名永久化,您需要将别名添加到~/.bashrc配置文件中。~/.bashrc文件#lsaliasesaliasgrep='grep--color=auto'aliasll='ls-AlhF--color=auto'aliasla='ls-A'aliasl='ls-CF'aliasvi='vim'aliascat='cat-n'aliasless='less-mN'4.删除alias命令格式unaliasaliasinstance[vagrant/tmp]]$aliasaliascat='cat-n'aliasgrep='grep--color=auto'aliasl='ls-CF'aliasla='ls-A'aliasless='less-mN'aliasll='ls-AlhF--color=auto'aliasls='ls--color=auto'aliasvi='vim'[vagrant/tmp]]$unaliasgrep[vagrant/tmp]]$unaliascat[vagrant/tmp]]$aliasaliasl='ls-CF'aliasla='ls-A'aliasless='less-mN'aliasll='ls-AlhF--color=auto'aliasls='ls--color=auto'aliasvi='vim'删除别名是永久性的并且设置别名,如果你想永久删除一个别名,只需从~/.bashrc配置文件中删除该别名即可。2.常用快捷键Ctrl+c:强制停止当前命令Ctrl+l:清屏Ctrl+a:将光标移至命令行开头Ctrl+e:将光标移至命令行末尾Ctrl+u:从光标位置删除到第一行Ctrl+z:发送命令到后台执行Ctrl+r:在命令历史中搜索3.历史命令1.命令格式history[选项][历史命令保存文件]2.选项-c清除历史命令-w缓存将历史命令写入历史命令保存文件~/bash_history3。historysave历史命令的条数默认会保存1000条,可以在环境变量配置文件~/.bashrc#中修改history长度的设置见bash中的HISTSIZE和HISTFILESIZE(1)HISTSIZE=1000HISTFILESIZE=20004。调用历史命令使用上下箭头调用之前的历史命令使用!n重复执行第n条历史命令使用!!重复前面的命令使用!字符串重复最后一个字符串开头的命令4.输出重定向1.标准输入输出设备设备文件名文件描述符类型键盘/dev/stdin0标准输入监视器/dev/stdout1标准输出监视器/dev/stderr2错误输出2.输出重定向Directingstandardoutputredirectingcommand>file通过覆盖的方式将命令的正确输出存储在指定的文件或设备中。命令>>文件通过附加的方式将命令的正确输出存储在指定的文件或设备中。错误输出重定向errorcommand2>file将命令的错误输出以覆盖的方式存储在指定的文件或设备中。错误命令2>>file将命令的错误输出以追加的方式存储在指定的文件或设备中。同时保存正确输出和错误输出。>File2>&1将命令的正确输出和错误输出都以覆盖的方式存储在指定的文件中。command>>file2>&1(常用)将命令的正确输出和错误输出以追加的方式存储在指定的文件中。命令&>文件通过覆盖的方式将命令的正确输出和错误输出都存储在指定的文件中。Command&>>file(常用)将命令的正确输出和错误输出以追加的方式存储在指定的文件中。Command>>file12>>file2(常用)将正确的命令输出追加到文件1,将错误的输出追加到文件2。#将shell.sh运行的正确输出保存到access.log文件,并将错误输出存储到error.log文件中shell.sh>>access.log2>>error.log3.输入重定向命令
