Linux Bash

bash 及其特性
shell : 外壳
GUI :Gnome,KDE,Xface
CLI :sh,csh,ksh,bash,tcsh,zsh

root,student
程序: 进程
进程:在每个进程看来,当前主机只存在内核和当前进程.进程是程序的副本,进程是程序执行的实例


用户工作环境:
bash :
#
$


shell, 子shell
cat /etc/shells 查看当前系统所有可用shell

bash --- bash

bash :
1 命令历史
2 管道,重定向
3 命令别名
4 命令行编辑
5 命令展开
6 文件名通配
7 变量
8 编程


命令行编辑:
Ctrl + A 跳到行首,
Ctrl + E 跳到行尾,
Ctrl + U 删除光标至命令行首的内容
Ctrl + K 删除光标至命令行尾的内容
Ctrl + L 清屏

命令历史:
查看命令历史: history
- c 清空命令历史
- d OFFSET [n]删除指定位置的命令历史
- w 保存命令历史至历史文件中


命令历史的使用技巧:
!n : 执行命令历史中的第n条命令
! -n : 执行命令历史中的倒数第n条命令
!! 执行上一条命令
!string: 执行命令历史中最近一个以指定字符串开头的命令
!$ :引用上一个命令的最后一个参数
ESC + . :引用上一个命令的最后一个参数
ALT + . :引用上一个命令的最后一个参数


命令补全: 搜索PATH 环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件,如果多于一个,两次Tab,可以给出列表,否则将直接补全命令
PATH
路径补全:搜索我们给出的起始路径下的每个文件名,并试图补全;


命令别名:
alias command = command [options] [arguments]
在shell 中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell 进程;

unalias + 别名



命令替换: $(command) , ` command `
把命令中某个子命令替换为其执行结果的过程 ,如在当前文件夹创建一个当前日期为名称的文件
fiel-2019-4-17-1-45.txt
touch ./file-$(date +%F-%H-%M-%S).txt



bash 支持的引用:
`` : 单引号 命令替换
"" : 弱引用.可以实现变量替换
'' : 强引用,不完成变量替换



文件名通配: globbing

* :任意长度的任意字符
? :任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
[[:space:]] : 空白字符
[:punct:] : 所有标点符号
[:lower:] 小写字母
[:upper:]: 大写字母
[:alpha:]:大小写字母
[:digit:]: 数字
[:alnum:]:数字和大小写字母

原文地址:https://www.cnblogs.com/thelovelybugfly/p/10741302.html