Bash
Contents
第一章 Bash Shell编程基本
将光标移动到行首:control + a 将光标移动到行尾:control + e 清除屏幕:control + l 搜索以前使用命令:control + r 清除当前行:control + u 清除至当前行尾:control + k 单词为单位移动:option + 方向键
01 Shell脚本编程简介
什么是Shell
- GNU/Linux分为三个部分 内核、shell、应用程序
- Shell就是内核与应用程序以及用户之间的沟通桥梁和语义翻译
- 命令行解释器
02 Bash Shell 环境说明
Bash Shell的配置文件
/etc/bashrc文件(全局)/etc/profile文件(全局)/etc/profile.d文件(全局)~/.bashrc文件(用户配置文件)~/.bash_profile文件(用户配置文件)
切换不同类型和版本的Shell
通过修改配置文件修改用户的shell
/etc/passwd/etc/shells
通过命令切换
chsh命令
如何查看shell登陆时候执行的那些配置文件?
添加以下内容到对应位置
| |
重新登陆得到的结果是
| |
03 Bash Shell 编程基本概念1
登陆与注销
- 本地登陆 (进入机器tty)
- 远程登录
- 虚拟机终端
- 虚拟控制台
- 用户切换
- 注销或登出
文件与目录
文件分类
普通文件-纯文本或者是二进制文件
1 2-rw-r--r--. 1 root root 851 Jul 30 14:17 /etc/passwd 第一位 - 普通文件目录文件-保持文件名和上下关系
设备文件-块设备文件和字符文件
通信文件-socket文件和有管道名文件
1 2 3#创建管道文件 mkfifo /tmp/fifo file /tmp/fifo特殊文件-符号链接文件(软连接文件)
使用
file命令查看文件类型
通配符
- 代替字符的样式
*任意字符串?不为空的一个字符
e.g.
1 2 3 4 5mkdir -pv tmp && cd tmp touch {a..d}{1..10} ls ?10 ls 1? ls *2转义符
\反斜线,也叫“逃逸字符”- 使用后接的字符恢复其原来作为单纯字符的意义。
e.g.
1 2 3cd tmp echo * echo \*续行符号
- 转义字符的特例
\的后方是换行服好的时候,上下输入的两行将会被视为是一行。
e.g.
1 2echo "line 1 \ line 1 too"字符集
[]- 字符集集合就是
[]中所列字符范围中的一个符号,其长度为1 [a-z]小写字母[A-Z]大些字母[a-zA-Z]字母[0-9]数字[!0-9]非数字
e.g.
1 2 3ls [a-z]* ls [a,b]* ls a[1-5]- 字符集集合就是
括号扩展
{}{a,b}_{1,2} = a_1 a_2 b_1 b_2echo {A,a}pple- 方便快速创建和删除文件以及目录
- 方便匹配制定范围的字符串
目录操作
相对路径和绝对路径
.//
切换当前路径
1cd e.g.查看当前路径
1pwd
Bash Shell 编程设计权限问题
- UGO 权限
- ACL 权限
04 Bash Shell 编程基本概念2
- 标准输入以及标准输出
- 输入输出重定向
- 管道
- 前台运行程序和后台运行应用程序