十五、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 第十三天的更多相关文章

  1. linux(十三)之磁盘分区、创建文件系统、挂载

    前面学习了linux的用户管理 ,感觉是不是多lnux的多用户多任务的系统感觉十分了解了,但是其实并不然的.你还需要了解更多.接下来给大家分享的是 在vmware中添加硬盘创建分区,然后挂载到指定目录 ...

  2. 攻城狮在路上(叁)Linux(十三)--- 文件与目录的管理

    一.查看文件与目录: 1.命令格式:ls [-aAdfFhilnrRSt] 目录名称; 2.参数说明: -a:显示所有的文件,包括隐藏文件(隐藏文件一般以.开头). -d:仅列出目录本身. -l:列出 ...

  3. ApacheCN Linux 译文集 20211129 更新

    笨办法学 Linux 中文版 练习 0:起步 练习 1:文本编辑器,vim 练习 2:文本浏览器,少即是多 练习 3:Bash:Shell..profile..bashrc..bash_history ...

  4. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  5. <实训|第十三天>linux中ACL权限控制以及磁盘配额,附编译属于自己的linux内核

    [root@localhost~]#序言 首先讲讲昨天关于缩容失败,开不机的解决方法:ACL权限也算是一个很重要的知识点,不难,但是很实用:磁盘配额一般不需要自己弄,但是要懂得原理.剩下的就是编译属于 ...

  6. linux基础-第十三单元 硬盘分区、格式化及文件系统的管理二

    第十三单元 硬盘分区.格式化及文件系统的管理二 文件系统的挂载与卸载 什么是挂载 mount命令的功能 mount命令的用法举例 umount命令的功能 umount命令的用法举例 利用/etc/fs ...

  7. Kali Linux Web 渗透测试视频教程— 第十三课-密码破解

    Kali Linux Web 渗透测试— 第十三课-密码破解 文/玄魂 目录 Kali Linux Web 渗透测试— 第十三课-密码破解............................... ...

  8. Linux Shell系列教程之(十三)Shell分支语句case … esac教程

    本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...

  9. 《Linux命令行与shell脚本编程大全》 第二十三章 学习笔记

    第二十三章:使用数据库 MySQL数据库 MySQL客户端界面 mysql命令行参数 参数 描述 -A 禁用自动重新生成哈希表 -b 禁用 出错后的beep声 -B 不使用历史文件 -C 压缩客户端和 ...

随机推荐

  1. 知识点:synchronized 原理分析

    synchronized 原理分析 1. synchronized 介绍 在并发程序中,这个关键字可能是出现频率最高的一个字段,他可以避免多线程中的安全问题,对代码进行同步.同步的方式其实就是隐式的加 ...

  2. kubernetes核心组件kube-proxy 学习总结

    一.  kube-proxy 和 service  kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重 ...

  3. Excel清除无用数据行和数据列

    http://jingyan.baidu.com/article/6525d4b13ae608ac7c2e9478.html ctrl+shift+↓ ctrl+- ctrl+shift+→ ctrl ...

  4. Vue 目录结构 绑定数据 绑定属性 循环渲染数据

    一.目录结构分析 node_modules 项目所需要的各种依赖 src 开发用的资源 assets 静态资源文件 App.vue 根组件 main.js 配置路由时会用 .babelrc 配置文件 ...

  5. C# 数字转换成大写

    /// <summary> /// 数字转大写 /// </summary> /// <param name="Num">数字</para ...

  6. crontab自动失效注意事项

    若用户密码过期,用户的crontab计划任务会自动失效.重设用户密码修改时间后,crontab会自动恢复. #使用chage -l 查看用户密码过期时间 chage -l user #使用chage ...

  7. 规模预算 之 FP法(作成中)

    五大要素 「外部入力」「外部出力」「内部論理ファイル」 「外部インタフェースファイル」「外部照会」 优点 1) 開発初期段階での概算が可能 2) エンドユーザが認識可能な計測法である(ユーザ目線での機 ...

  8. 自动滚动标签marquee

    <marquee>标签,它是成对出现的标签,首标签<marquee>和尾标签</marquee>之间的内容就是滚动内容.<marquee>标签的属性主要 ...

  9. MQTT协议

    MQTT(Message Queue Telemerty Transport)是一种二进制协议,主要用于服务器和那些低功耗的物联网设备(IoT)之间的通信. 它位于 TCP 协议的上层,除了提供发布- ...

  10. container injection——容器技术

    (一)容器技术为什么出现 在很久很久以前,想要在线上服务器部署一个应用,首先需要购买一个物理服务器,在服务器安装一个操作系统,然后安装好应用所需要的各种依赖环境,最后才可以进行应用的部署,而且一台服务 ...