认识bash这个shell
1.硬件 内核和shell
- 我们必须通过shell将我们输入的命令与内核通信,好让内核来控制硬件来正确无误的工作。
- 操作系统其实是一组软件,由于这组软件在控制整个硬件与管理系统的活动检测。如果这组软件能被用户随意操作,若用户使用不当,将会使得整个系统崩溃。
graph LR
用户-->用户界面
用户界面-->用户
用户界面-->核心
核心-->用户界面
核心-->硬件
硬件-->核心
- shell(命令行模式)的功能是提供给用户操作系统的接口
2.bash shall 的功能
- 命令记忆能力(history)
- 命令与文件补全功能([Tab]按键的好处 )
- 命令别名设置功能(alias)
alias lm='la -al' 来设置别名
- 作业控制,前台控制,后台控制(job control , foreground , background)
- 程序脚本(shell script)
- 通配符(Wildcard)
3.bash shell 的内值命令:type
- 可以通过type查看命令是不是bash中的命令
[root @WWW~]# type cd
cd is a shall builtin
4.shell的变量功能
- 变量 :以一组文字或者符号等,来替代一些设置或者是一串保留的设置
(1).变量的显示与设置 :echo , unset
- 变量的显示 使用echo $[变量名]来读取变量的内容
echo $variable
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
- 使用 = 连接变量与它的内容便可以修改和设置变量的内容了
sunmingming@ubuntu-sun:~$ echo $myname
sunmingming@ubuntu-sun:~$ myname=sunmingming
sunmingming@ubuntu-sun:~$ echo $myname
sunmingming
1. 变量内容中如果有空格,可使用‘’或“”经内容整理起来
2. 若该变量需要在其他子进程执行,则需要以export来使变量变成环境变量:
“export PATH”
3.取消变量的方法为使用“unset变量名称”,
unset myname
4.入伙要在现在的变量基础上添加
myname=${myname}添加的内容
(2).环境变量的功能
- 使用env来查看环境变量与常见环境变量的说明
- RANDOM 随机数变量
declare -i number=$RANDOM*10/32768 ; echo $number
8 <==会产生10以内的随机数
- export 自定义变量转成环境变量
自定义变量不会被子进程所引用,环境变量可以被子进程引用
原本运行中的bash就是父进程,被父进程触发的另一个进程为子进程
子进程会继承父进程的环境变量,但是不会继承父进程的自定义变量
export 变零名称
- 变量的键盘读取 read
sunmingming@ubuntu-sun:~$ myname=
sunmingming@ubuntu-sun:~$ echo $myname
sunmingming@ubuntu-sun:~$ read -p input myname
input123
sunmingming@ubuntu-sun:~$ echo $myname
123
管道命令
- sort : 根据不同格式进行排序
- wc : 计算输出数据的整体信息
- tr 用来删除一段信息当中的文字,或者是进行文字信息的替换
tr [-ds] SET1...
参数:
-d 删除信息当中的SET1这个字符串
-s 替换掉重复的字符
- 切割命令: split