shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。linux
用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,而后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各类操做。 shell
每一个用户均可以有本身特定的shell。centos
centos7默认的shell版本是bash,它是sh的加强版本。还有其余的版本,好比;zsh、ksh等。bash
咱们执行过的命令linux都会有记录,预设能够记录1000条历史命令执行命令history就能够查看工具
history -c 清空内存里的命令历史centos7
这些历史命令会保存在用户家目录的 .bash_history文件中spa
命令历史是由环境变量HISTSIZE配置的,3d
咱们能够在配置文件 /etc/profile修改命令历史保存记录blog
执行命令 source /etc/profile 使它生效,内存
查看命令历史时加上运行命令的时间: HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"
也能够在配置文件/etc/profile 中增长这一行在HISTSIZE=5000下面
增长权限,永久保存 chattr +a ~/.bash_history
!是与命令历史有关的一个特殊字符,这个字符经常使用的应用有3个:
!!:执行上一条命令
!n:n是一个数字,这样表示执行命令历史中的第n条命令
!字符串:例如输入 !ca 就会执行以ca开头的最近一次执行的命令
tab键敲一下能够伴咱们补全命令、一个文件名或一个路径 敲两下能够把全部文件名和命令都列出来
参数补全狐妖安装bash-completion 重启系统生效
alias 命令能够给一条命令作别名,这样能够把一条很长的、很差记的命令作一个比较短,好记的别名代替
用户家目录的 .bashrc文件中存放了一些有别名的命令
还有其余的一些在/etc/profile.d/目录下
直接执行alias命令能够查看目前系统预设的别名
给命令设置别名的命令格式为:alias 命令别名='具体命令'
unalias命令 取消自定义别名
在bash下,可使用*来匹配零个或多个字符 ls *.txt
?来匹配一个字符 ls ?.txt
用中括号[ ]肯定范围 可使用[0-9] 或[123]/[a-zA-Z]
输出重定向: 常常用于把命令输出的结果输入到文件里面,而不是屏幕上
例:cat 1.txt > 2.txt 把前面命令 cat 1.txt输出的内容输入到2.txt文件里,原来2.txt里的内容会删除
追加剧定向 >> 例:cat 1.txt >> 2.txt 它不会删除2.txt里原来的内容,而是把 cat 1.txt输出的内容添加上2.txt
错误重定向 2> 会把一个命令参数的错误信息输入到指定的文件里去 ,同时删除指定文件原来的内容。
错误追加剧定向 2>> 一样不会删除源文件的内容
&> 把正确和错误的信息都输入到这顶的文件里面 至关于重定向和错误重定向集合
输入重定向用于改变命令的输入,不常使用