Linux Shell

简单点理解,shell就是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西那就是系统内核了。打个比方,如果把计算机硬件比作一个人的躯体,而系统内核则是人的大脑,至于shell,把它比作人的五官似乎更加贴切些。回到计算机上来,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。

特点:
1)记录命令历史
我们敲过的命令。linux会有记录,预设可以记录1000条历史记录。这些命令保存在用户目录的.bash_history文件夹中。只有当用户正常退出shell时,在当前shell中运行的命令才会保存至.bash_shell.
!!表示执行上一条指令,!n表示执行历史第n条指令,!string表示执行命令中最近一次以string开头的指令
2)指令和文件名补全
tab键可以帮助补全一个指令、路径或文件名。连续按两次tab,系统会把所有的指令和文件名都列出来
3)别名

可以通过alias把一个常用并且很长的指令别名一个简单的指令。如果不想用了,还可以用unalias接触别名功能。语法:alias[命令别名]=【‘具体的命令’】

4)通配符

在bash下,可以使用*来匹配0或多个字符,?匹配一个字符

5)输入输出重定向

输入重定向用于改变命令的输入,输出重定向用于改变命令的输入。输出重定向更为常用,经常用于将命令的结果输入到文件中,而非屏幕上。输入重定向的命令是"<",输出重定向的命令是">",另外还有错误重定向"2>",以及追加重定向">>"

6)管道符

7)作业控制

当欲行一个进程时,可以使他暂停(Ctrl+Z),然后使用fg命令恢复它,利用bg将它到后台运行,也可以终止它(Ctrl+C)



Shell中的特殊符号

1、*:代表0或多个字符或数字

2、?:代表一个任意字符

3、#:在Linux中表示注释说明

4、\:脱意字符,将后面的特殊符号还原为普通字符,如“*”

5、|:管道符,作用是将符号前面的命令的结果丢给符号后面的命令

6、$:除了用于变量前面的标识符外,就是和“!”结合起来使用,“!$”表示上条命令中最后一个变量

7、;:很好,命令结束符

8、~:用户主目录

9、&:将一条命令放到后台执行,使用jobs查看当前shell后台执行的任务,fg将任务掉到前台

10、>,>>,2>,2>>:重定向符号>和>>分别表示取代和追加的意思,2>表示错误重定向,2>>表示错误追加

11、[]:中括号,中间为字符组合,代表中间字符中的任意一个

12、&&与||,用于多条命令间的分隔符





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值