shell 学习 基础
shell发展
shell 是与计算机沟通的桥梁,提供了便捷使用计算机的接口.第一个流行的shell是由Steven Bourne发展出来的,所以称为Bourne shell,简称sh;后来伯克利大学的Bill Joy 设计了与C语言语法类似的C shell.我们可以通过查看/etc/shells
的方式查看可用的shell, 也可通过/etc/passwd的
的方式查看每个用户的默认shell.
shell的主要功能
- 历史命令
- 命令,文件补全([TAB]的功能)
- 命令别名设置功能(alias)
- 任务管理
- 脚本
- 通配符
shell登录相关
/etc/issue
可通过修改该文件指定登录前的提示信息./etc/motd
可通过修改该文件指定登录后的提示信息.
shell常用功能
type
可使用该命令查看命令的来源
- file 外部命令
- alias 命令别名
- builtin bash 内置命名
命令 | 命令方法 |
---|---|
type -t | 返回命令来源 |
type -a | 在path中查找所有同名的可执行文件 |
其他参数可自行查阅
[linuxlearn@lifan-pc ~]$ type -t ls alias [linuxlearn@lifan-pc ~]$ type -t cd builtin [linuxlearn@lifan-pc ~]$ type -t python file
编辑相关
- 使用 +[ENTER]将较长命令换行表示
[CTRL] + u / [CTRL] + k
由光标处向前删除,由光标处向后删除[CTRL] + a / [CTRL] + e
移动到命令行首部,尾部
shell变量
- 变量命名: shell变量的命名基本与常见编程语言类型,可用字母,数字,下划线.变量名不能以数字开头.
- 变量设置: 变量名与变量值之间由等号"="连接,三者之间不能有空格.
- 变量使用: 使用${variable_name}的方式应用变量名
unset variable_name
,取消变量设置- 使用
\
进行转义字符的转义, ""
内部的所有符号保持原有含义,''
内部的符号被作为普通字符对待.例如对于变量的引用.$(experssion)
可通过这种方式在公式中优先执行expression
.例如cd /lib/modules/$(uname -r)/kernel
环境变量
- HOME 家目录
- SHELL 当前shell
- HISTSIZE 历史命令保留的最大条数
- PATH 执行文件查询路径
- PS1 也即是
[linuxlearn@lifan-pc ~]$
中的内容.
变量的读取和声明
read
可从键盘输入中读取变量
read -p
后可接提示符read -t
后可接等待的秒数
declare
声明变量
参数 | 功能 |
---|---|
-a | 声明为数组 |
-i | 声明为整数类型 |
-x | 声明为环境变量 |
-r | 声明为只可读类型 |
命名查找顺序
- 通过路径指定的命令
- 通过命令别名查找命令
- 由bash内置的命令来执行
- 通过
$PATH
来查找命令
相关推荐
huha 2020-10-16
laisean 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
JohnYork 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
wangzhaotongalex 2020-09-22
流年浅滩 2020-10-23
liujianhua 2020-10-22
woaimeinuo 2020-10-21
tufeiax 2020-09-03
laisean 2020-09-01
vvu 2020-09-16
libao 2020-09-16
Yyqingmofeige 2020-08-18
zhushixia 2020-08-17