Linux 第十三天
十五、shell编程
1、Shell是什么
1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。(将人类语言翻译成机器能识别的二进制代码)
2)Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
2、Shell的分类
1)Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。Bourne家族主要包括sh、ksh、Bash、psh、zsh;
2)CShell:CShell主要在BSD版的Unix系统中使用,其语法和C语相类似而得名。C家族主要包括:csh、tcsh
3)Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。
3、/etc/shells 查看Linux支持的Shell
4、常用命令
1)echo 输出
语法 echo [选项] [输出内容]
选项:
-e:支持反斜线控制的字符转换
控制字符 |
作用 |
\\ |
输出\本身 |
\a |
输出警告音 |
\b |
退格键,也就是向左删除键 |
\c |
取消输出行末的换行符。和“-n”选项一致 |
\e |
ESCAPE键 |
\f |
换页符 |
\n |
换行符 |
\r |
回车键 |
\t |
制表符,也就是Tab键 |
\v |
垂直制表符 |
\0nnn |
按照八进制ASCll码表输出字符。其中0为数字零,nnn是三位八进制数 |
\xhh |
按照十六进制ASCll码表输出字符。其中hh是两位十六进制数 |
2)脚本执行
◆赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
◆通过Bash调用执行脚本
bash hello.sh
3)历史命令
历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改histsize
语法:history [选项] [历史命令保存文件]
选项:
-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件 家目录/.bash history
历史命令的调用:
◆使用上、下箭头调用以前的历史命令
◆使用“!n” 执行第n条历史命令
◆使用“!!” 执行上一条命令
◆使用“!字串” 执行最后一条以该字串开头的命令
4)命令与文件补全
在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按“Eab”键就会自动进行补全
5)命令别名
alias别名=原命令 设定命令别名
alias 查询命令别名
修改 /root/.bashrc 让别名永久生效
unalias 别名 删除别名
命令执行时顺序
1第一顺位执行用绝对路径或相对路径执行的命令。
2第二顺位执行别名。
3第三顺位执行Bash的内部命令。
4第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
6)Bash常用快捷键
Linux 第十三天的更多相关文章
- linux(十三)之磁盘分区、创建文件系统、挂载
前面学习了linux的用户管理 ,感觉是不是多lnux的多用户多任务的系统感觉十分了解了,但是其实并不然的.你还需要了解更多.接下来给大家分享的是 在vmware中添加硬盘创建分区,然后挂载到指定目录 ...
- 攻城狮在路上(叁)Linux(十三)--- 文件与目录的管理
一.查看文件与目录: 1.命令格式:ls [-aAdfFhilnrRSt] 目录名称; 2.参数说明: -a:显示所有的文件,包括隐藏文件(隐藏文件一般以.开头). -d:仅列出目录本身. -l:列出 ...
- ApacheCN Linux 译文集 20211129 更新
笨办法学 Linux 中文版 练习 0:起步 练习 1:文本编辑器,vim 练习 2:文本浏览器,少即是多 练习 3:Bash:Shell..profile..bashrc..bash_history ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- <实训|第十三天>linux中ACL权限控制以及磁盘配额,附编译属于自己的linux内核
[root@localhost~]#序言 首先讲讲昨天关于缩容失败,开不机的解决方法:ACL权限也算是一个很重要的知识点,不难,但是很实用:磁盘配额一般不需要自己弄,但是要懂得原理.剩下的就是编译属于 ...
- linux基础-第十三单元 硬盘分区、格式化及文件系统的管理二
第十三单元 硬盘分区.格式化及文件系统的管理二 文件系统的挂载与卸载 什么是挂载 mount命令的功能 mount命令的用法举例 umount命令的功能 umount命令的用法举例 利用/etc/fs ...
- Kali Linux Web 渗透测试视频教程— 第十三课-密码破解
Kali Linux Web 渗透测试— 第十三课-密码破解 文/玄魂 目录 Kali Linux Web 渗透测试— 第十三课-密码破解............................... ...
- Linux Shell系列教程之(十三)Shell分支语句case … esac教程
本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...
- 《Linux命令行与shell脚本编程大全》 第二十三章 学习笔记
第二十三章:使用数据库 MySQL数据库 MySQL客户端界面 mysql命令行参数 参数 描述 -A 禁用自动重新生成哈希表 -b 禁用 出错后的beep声 -B 不使用历史文件 -C 压缩客户端和 ...
随机推荐
- Python【每日一问】05
问:请解释一下Python 中的 pass 语句.continue.break有什么作用?并辅以代码说明 答: 1.pass :pass是空语句,是为了保持程序结构的完整性.通常用于不知道接下来代码应 ...
- [UE4]Slider
Slider:滑动条 一.Slider.Bar Thickness:滑动条厚度 二.Slider.Appearance.Step Size:每次滑动的步进值 三.Slider.Appearance.V ...
- 知识点:Java 集合框架图
知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList Java集合框架图 我们经常使用的Arrayist.LinkedList继承的关系挺复 ...
- 备份与还原mysql 数据库的常用命令。
一.备份数据: Mysqldump常用命令: mysqldump -u用户名 -p密码 --databases 数据库1 数据库2 > xxx.sql 常见选项: -u: 用户名 -p: 密码 ...
- MySQL安全机制 DDL DCL
一.MySQL用户管理 1. 修改用户密码 ===root修改自己密码=== 方法一: # mysqladmin -uroot -p'123' password 'new_password' //12 ...
- 第18课 类型萃取(2)_获取返回值类型的traits
1. 获取可调用对象返回类型 (1)decltype:获取变量或表达式的类型(见第2课) (2)declval及原型 ①原型:template<class T> T&& d ...
- hadoop distcp hdfs://ns1/aaa hdfs://ns8/bbb UnknownHostException: xxx 两个高可用(ha)集群间distcp 如何识别两个集群逻辑名称
在要执行distcp 的客户端配置添加 dfs.internal.nameservices 指local service 就是client 所在的hadoop 的逻辑名称 <!-- servic ...
- 源码阅读经验谈-slim,darknet,labelimg,caffe(1)
本文首先谈自己的源码阅读体验,然后给几个案例解读,选的例子都是比较简单.重在说明我琢磨的点线面源码阅读方法.我不是专业架构师,是从一个深度学习算法工程师的角度来谈的,不专业的地方请大家轻拍. 经常看别 ...
- python接收html页面上传的文件
使用的 flask, 没有安装的先安装 pip install flask 示例代码:示例没有自动创建静态文件夹,需要自己在同级 创建一个名为 static 的文件夹来存放上传的文件 示例展示为图片 ...
- 第三篇、Python函数
1.函数和过程的定义: 1) 函数定义:函数是逻辑结构化和过程化的一种编程方法. 2) 过程定义:过程就是简单特殊没有返回值的函数. 当一个函数/过程没有使用return显示的定义返回值时,pytho ...