Shell训练营Day1

Day 1
1.shell 基础知识
(1) 什么是shell
shell是一个命令解释器,支持特定的语法(例如判断、循环选择等),提供用户和机器之间的交互。
CentOS7默认shell为bash(Bourne Agin Shell)

(2)历史命令
history命令:查看历史命令
.bash_history:历史命令的存放文件,默认存储1000条
可以设置变量HISTSIZE=5000 或在/etc/profile中修改永久生效
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "变量可以保存命令执行的时间
!!:上一条命令 !n:上第n条命令 !word:以what开头的第一条历史命令。
(3)补全命令及设置命令别名
tab键补全命令,敲一下展示精准匹配;敲两下展示以输入内容为开头的所有命令。
参数补全,安装bash-completion
alias别名给命令重新起个名字 例:alias startmysql="systemctl start mysqld.service"
各用户都有自己配置别名的文件,位于家目录下的.bashrc
(4)通配符及输入输出重定向
:匹配任意多个字符。例:ls -ll 1. 可以匹配到1.sh 1.txt 1.log等等
?:匹配任意单一字符。例:ls -ll ?.sh 可以匹配到1.sh 2.sh 3.sh等等
匹配一定范围内的字符:ls -ll [1-9a-z].sh 可以匹配到1.sh 2.sh a.sh c.sh等等
ls {1,3,a}能够匹配到1.sh 3.sh a.sh

重定向输出:
>:覆盖重定向
可以将一条命令的输出重定向到一个文件中。例如:cat /etc/passwd > 1.txt
>>:追加重定向:
与>的区别为不会覆盖输出到的文件中原有的内容
错误重定向:2>
可以将系统打印的错误信息或者命令执行的错误信息重定向到一个文件中。例如:lesss 1.txt 2> error.txt  可以在error.txt中看到未找到“lesss”命令这样的错误信息

& 是一个描述符,如果1或2前不加&,会被当成一个普通文件。
1>&2 意思是把标准输出重定向到标准错误.
2>&1 意思是把标准错误输出重定向到标准输出。
&>file意思是把标准输出和标准错误输出都重向到文件file中

猜你喜欢

转载自blog.51cto.com/12898947/2331442