介绍
- shell(壳)
- 首先要明白shell是用户和计算机打交道的一个入口,用户给shell发命令,shell和内核交互让其执行用户的命令,内核操作硬件让其进行工作。
- 当然处理shell,用户可以通过其他用户编写的应用程序、独立的命令程序(vi、java等)等和计算机操作系统进行交互,shell也可以调用命令程序(vi 、man、javac等),所以通过shell可以根据逻辑需求调用不同的独立程序。
- shell就是一种应用程序,命令行软件,用户登录后和计算机操作系统交互的接口,一般通过命令(ls、cd等)或shell脚本来交互。
- shell有多种(因为UNIX发展者众多,不同发展者发布了不同的shell),每种shell在一些语法方面会不同。
- Linux的文件/etc/shells存放了linux支持的shell程序。
- 每个用户都会配置一个shell,这样用户登录后,Linux就会给我们一个shell,我们就可以通过命令来操作shell了。在/etc/passwd文件中查看每个用户使用的是什么shell(最后一个数据)。一般用户默认的shell是bash。
bash shell
bash优点:
- 命令记忆能力:上一次登录所执行的命令存放在~/.bash_history中,默认存1000个,这一次用户注销(exit)后命令也会存放到其中。
-
命令补全:[Tab]键,
- tab接在命令后第一字符,则为命令补全
- tab接在命令后第二个以后字符,则为文件补全
- 连线2次tab,可以提示所有可执行命令,c[tab][tab]:c开头的所有命令
-
命令别名设置alias
- 想将ls -la 命令串取个短的别名lm,则alias lm ='ls -la'
-
作业控制、前台、后台控制
- 其中之一,可以通过将任务丢到后台运行,而不怕不小心使用Ctrl+C中断了进程。
-
脚本(shell script)
- 类似程序语言,可以将一些命令写在文件中执行,通过shell提供环境变量等等。
-
通配符
- ls -l /usr/bin/X* 列出X开头的文件
bash shell的内置命令:type
-
bash内置命令:内置在bash中的命令:ls、cd等
- man bash:查看bash说明文档,里面也包含其内置命令的说明。
-
外部命令:其它非bash所提供的命令,比如javac、man、scalac等
-
如何查询一个命令是内部还是外部命令:type [-tpa] 命令
- -t :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他癿意义:
- file :表示为外部挃令;
- alias :表示该挃令为命令删名所讴定癿名称;
- builtin :表示该挃令为 bash 内建癿挃令功能;
- -p :如果后面接癿 name 为外部挃令时,才会显示完整文件名;
-
-a :会由 PATH 发量定义癿路径中,将所有吨 name 癿挃令都列出杢,包吨 alias
image.png
- -t :当加入 -t 参数时,type 会将 name 以底下这些字眼显示出他癿意义:
shell中命令行执行
- 只说一点:命令太长通过反斜杠([Enter])来使用2行输出,\对Enter进行了转义
shell可以执行的命令
- 在shell中输入java时,linux会根据PATH变量记录的路径来查找该变量,如果没找到就会提示:command not found。当然如果命令名写错也会提示该错误。
- 每个用户的PATH包含路径不同,类似win中的环境变量。echo $PATH查看存储命令的路径有哪些。
网友评论