(九)Bash shell

说Bash之前,先说一下shell,在运行C程序时,windows有一个黑色的窗口,那就是shell,简单来说就是用户可以通过shell操作内核,内核可以调控硬件,而bash就是一个shell。

至于现在有这么多图形环境为什么还要学shell,咳咳,技多不压身,主要是因为图形的工具是集成的,并不是一个完整的一个程序,有一些功能只有shell才能完成,更多原因是Linux发行版都有bash shell。

Linux里面不只bash shell,更多的shell请查看/etc/shells,这是个文件

1
2
3
4
5
6
7
[manu@study ~]$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

用户登陆时,系统会给一个默认的shell,具体是哪个shell,查看/etc/passwd文件

bash shell的功能

1.记录历史命令

使用命令时,可以发现使用上下键可以得到以前输入的命令,而这个命令的记录就在~/.bash_history文件里,当然记录命令有好有坏,它可以查询以前的指令,但当被黑客入侵时,翻找命令就会找到以前的重要信息

2.命令文件补全功能

可以补全命令、参数、文件等,可以少打很多字,确保正确

使用首字母和两下tab就可以得到关于字母的所有指令

3.命令别名

当某命令很长,而我们又常用时,就可以给他取一个“小名”,比如

1
alias ll='ls -l'

这样ll就代表ls -l

4.任务管理、前台、后台控制(job control foreground background)

5.程序化脚本(shell scripts)

类似windows上的批处理功能

6.通配符(wildcard)

就像*可以代表任意字符一样

bash简单操作

查看指令是否为bash的内置指令

当man cd时,实际跳转的事bash的页面,所以cd就是bash的内置指令,可以使用type来观察某指令是bash的还是其他的指令

语法

1
2
3
4
type [-] command
-t:会以file(外部),alias(别名),builtin(bash内置)显示
-p:如果时外部指令,显示路径
-a:显示在[PATH]的所有command命令

命令的执行与编辑

前面说过\可以将太长的指令转到下一行来输入,这个\就是转义字符,顾名思义就是将它原本的意思转变成别的意思,在这里就是将enter键原本的意思(执行)转变成下一行输入的意思,要特别注意一点,/必须和enter紧贴着,因为\只转紧跟着的下一个字符

作者

manu

发布于

2020-01-20

更新于

2023-01-06

许可协议

# 推荐文章
  1.ALTER
  2.数据库笔记
  3.微信小程序笔记
  4.动态调试-OD
  5.winPE结构
  6.git指令

:D 一言句子获取中...