Linux bash特性
2016-07-25 00:00
579 查看
一、什么是 shell 外壳
在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
shell的分类:
图形界面shell(Graphical User Interface shell 即 GUI shell)GUI CDE Gnome, KDE, Xfce
命令行式shell(Command Line Interface shell ,即CLI shell)CLI: sh(Bourne shell), csh, ksh(Korn shell),bash(Bourne Again shell), tcsh ,zsh
Linux 默认的shell是bash
shell及子shell 通过pstree查看shell关系
二、bash特性及用法:
1.命令历史
查看命令历史: history
-c 清空histroy
-d offeset
删除指定位置的历史命令 n删除几行
-w 保存命令历史至历史文件中
!number 命令历史使用执行命令历史中的第n条命令
!-number 执行命令历史中倒数第n条命令
!! 执行上一条命令
!string 执行命令历史中最近一个以指定字符串开头的命令
!$ 引用前一个命令最后一个参数
Esc ,. 添加引用前一个命令最后一个参数
Alt + . 添加引用前一个命令最后一个参数,客户端不能使用
2.命令别名
查看别名alias
定义别名 alias CMDALIAS=’COMMAND [options] [arguments]’
在shell中定义的别名仅在当前shell生命周期内有效,别名的有效范围仅当前shell进程
取消别名 unalias CMDALIAS
使用别名命令原义 \CMD 反斜线加命令
3.命令补全 ,路径补全
按两次TAB 键 搜索命令路径
按TAB键 搜索当前目录路径
4.命令替换 使用$() 或 反引号`
把命令中某个命令替换为其执行结果的过程
echo “The current directory is $(pwd)”
touch file-$(data +%F-%H-%M-%S).txt
4.管道、重定向
5.命令行编辑
光标跳转:
Ctrl + a 跳到命令行首 Ctrl + e跳到命令行尾
Ctrl + u 删除光标到命令行首的内容 Ctrl + k 删除光标至行尾的内容
Ctrl + l-L清屏
6.命令行展开
7.文件名通配 globbing
* 任意长度的任意字符
7fe0
? 一个长度的任意字符
[] 匹配指定范围内的任意单个字符 man 7 glob
[[: space:]]所有的空白字符
[[: punct:]] 标点符号
[[: lower:]] 小写字母
[[: upper:]] 大写字母
digit数字 alpha 大小写字母 alnum 数字和大小写字母
[^]匹配指定范围外的任意单个字符
8.变量
环境变量:
PATH: 命令搜索路径
HISTSIZE: 命令历史 缓冲区大小
9.编程
bash支持的引号
`` :命令替换 反引号
“”:弱引用,可以实现变量的替换
‘’:强引用,不完成变量替换
在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
shell的分类:
图形界面shell(Graphical User Interface shell 即 GUI shell)GUI CDE Gnome, KDE, Xfce
命令行式shell(Command Line Interface shell ,即CLI shell)CLI: sh(Bourne shell), csh, ksh(Korn shell),bash(Bourne Again shell), tcsh ,zsh
Linux 默认的shell是bash
shell及子shell 通过pstree查看shell关系
二、bash特性及用法:
1.命令历史
查看命令历史: history
-c 清空histroy
-d offeset
删除指定位置的历史命令 n删除几行
-w 保存命令历史至历史文件中
!number 命令历史使用执行命令历史中的第n条命令
!-number 执行命令历史中倒数第n条命令
!! 执行上一条命令
!string 执行命令历史中最近一个以指定字符串开头的命令
!$ 引用前一个命令最后一个参数
Esc ,. 添加引用前一个命令最后一个参数
Alt + . 添加引用前一个命令最后一个参数,客户端不能使用
2.命令别名
查看别名alias
定义别名 alias CMDALIAS=’COMMAND [options] [arguments]’
在shell中定义的别名仅在当前shell生命周期内有效,别名的有效范围仅当前shell进程
取消别名 unalias CMDALIAS
使用别名命令原义 \CMD 反斜线加命令
3.命令补全 ,路径补全
按两次TAB 键 搜索命令路径
按TAB键 搜索当前目录路径
4.命令替换 使用$() 或 反引号`
把命令中某个命令替换为其执行结果的过程
echo “The current directory is $(pwd)”
touch file-$(data +%F-%H-%M-%S).txt
4.管道、重定向
5.命令行编辑
光标跳转:
Ctrl + a 跳到命令行首 Ctrl + e跳到命令行尾
Ctrl + u 删除光标到命令行首的内容 Ctrl + k 删除光标至行尾的内容
Ctrl + l-L清屏
6.命令行展开
7.文件名通配 globbing
* 任意长度的任意字符
7fe0
? 一个长度的任意字符
[] 匹配指定范围内的任意单个字符 man 7 glob
[[: space:]]所有的空白字符
[[: punct:]] 标点符号
[[: lower:]] 小写字母
[[: upper:]] 大写字母
digit数字 alpha 大小写字母 alnum 数字和大小写字母
[^]匹配指定范围外的任意单个字符
8.变量
环境变量:
PATH: 命令搜索路径
HISTSIZE: 命令历史 缓冲区大小
9.编程
bash支持的引号
`` :命令替换 反引号
“”:弱引用,可以实现变量的替换
‘’:强引用,不完成变量替换
相关文章推荐
- bash 交互与非交互
- 2、希尔排序(Shell`s Sort)
- Linux shell script学习
- shell script input and out put functuo
- shell 中的 set命令 -e -o 选项作用
- shell写俄罗斯方块二
- shell写俄罗斯方块(一)
- Shell基础学习小结
- shell脚本七十问
- bash 基本技巧
- 运行sh脚本报错:-bash: ./filename.sh: /bin/bash^M: bad interpreter: No such file or directory
- linux笔记:shell基础-概述和脚本执行方式
- 一个WIFI热点的脚本思路,顺记shell知识
- shell脚本调用另外一个shell脚本
- Spark Shell简单使用
- bash命令行快捷键
- shell中各种括号的作用()、(())、[]、[[]]、{}
- powershell新建数据库
- 常用shell命令操纵技巧
- 常用批处理命令总结 <一>