【Shell编程】Shell中Bash基本功能

简介: 【Shell编程】Shell中Bash基本功能

Bash基本功能-历史命令和补全

历史命令

正常来说。等用户退出,系统会自动保存历史命令

语法:history [选项][历史命令保存文件]

保存位置:/root/.bash_history


参数 说明
-c 清空历史命令
-w 把缓存种历史命令写入历史命令保存文件~/.bash_history


历史命令默认保存1000条,可以在环境配置文件/etc/profile中进行修改


历史命令的调用:

  • 使用上、下箭头调用以前的历史命令
  • 使用“!n”重复执行第n条历史命令
  • 使用“!!”
  • 使用“!字符串”重复执行最后一条以该字符串开头的的命令


命令和文件补全

  • 在Bash中,命令与文件补全全是非常方便与常用的功能,我们只要在输入命令或文件时,按“Tab”就会自动补全A

Bash基本功能-别名与快捷键

命令别名

设定别名

语法:alias 别名=‘原命令’

查询别名

语法:alias



命令执行时顺序

  1. 第一顺序执行用绝对路径或相对路径
  2. 第二顺序执行别名
  3. 第三顺序执行Bash的内部命令
  4. 第四顺序执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令


让别名永久生效

语法:vim /root/.bashrc 写入文件


删除别名

语法:unalias 别名

Bash常用快捷键

1687269445893.png

Bash基本功能-输入输出重定向

标准输入输出

设备 设备文件名 文件描述符 类型
键盘 /dev/stdin 0 标准输入
显示器 /dev/stdout 1 标准输出
显示器 /dev/stderr 2 标准错误输出


输出重定向

标准输出重定向

命令 > 文件 以覆盖方式,把命令的正确输出内容放在文件中

命令 >> 文件 以追加方式 ,,把命令的正确输出内容放在文件中


标准错误输出重定向

注意(2和>>不能有空格)

命令 2> 文件 以覆盖方式,把命令的错误输出内容放在文件中

命令 2>> 文件 以追加方式 ,,把命令的错误输出内容放在文件中


实例-重定向输入

执行成功

执行失败

实例-覆盖

执行失败

执行成功


正确输出和错误输出同时保存

命令 > 文件 2>&1 以覆盖形式,把正确输出和错误输出都保存到同一个文件中


命令 >> 文件 2>&1 以追加形式,把正确输出和错误输出都保存到同一个文件中


命令 &>文件 覆盖,等同第一条,


命令 &>>文件 追加,等同第二条,


命令 >> 文件1 2>>文件2 把正确的输出追加到文件1,错误输出追加到文件2


黑洞

ls &>/dev/null 文件特殊,类似于黑洞,就是直接扔了,我不看

输入重定向

语法:wc [选项][文件名]

参数 说明
-c 统计字节数
-w 统计单词数量
-l 统计行数


实例-统计行数、字节数、单词数量

按ctrl+d 退出 3行 12个单词 51个字符 默认统计三个内容

命令<文件 把文件作为命令的输入

统计文件的信息

命令<<字符串

输入一些文本,最后输入上面的字符串就结束了


Bash基本功能-多命令顺序执行与管道符

多命令顺序执行

多命令执行符 格式 作用
命令1;命令2 多个命令顺序执行,命令之间没有任何逻辑关联
&& 命令1&&命令2 逻辑与 当命令1正确执行,则命令二才会执行 当命令1执行不正确,则命令2不会执行
|| 命令1||命令2 逻辑或 当命令1执行不正确,则命令2才会执行 当命令1正确执行,则命令2不执行


实例-多命令组合使用

dd命令

语法:dd if=输入文件 of=输出文件 bs=字节数 count=个数


参数 说明
if=输入文件 指定源文件或源设备
of=输出文件 指定目标文件或目标设备
bs=字节数 指定一次输入/输出多少字节,即把这些字节看做一个数据块
count=个数 指定输入/输出多少个数据块


例如

从zero文件向testfile文件一次写入1k的0写入10w次

date;dd if=/dev/zero of=/root/testfile  bs=1k count=100000;date

逻辑与,用在命令之间需要依赖关系

如:./configure && make && make install

管道符

语法: 命令1|命令2

命令1的正确输出作为命令2的操作对象


实例

etc下目录太多了,我们可以使用more来分屏显示

grep

grep [选项] “搜索内容”

-i 忽略大小写
-n 输出行号
-v 反向查找
–color=auto 搜索出的关键字用颜色显示


实例

目录
相关文章
|
2月前
|
Unix Linux Shell
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
【Shell 编程指南 日期命令】Date命令:显示与设置系统时间和日期
73 0
|
2月前
|
Shell C++ 开发者
【Shell 编程指南】Shell运算操作符之$[]详解
【Shell 编程指南】Shell运算操作符之$[]详解
29 0
|
2月前
|
分布式计算 Hadoop Shell
使用shell脚本实现自动SSH互信功能
使用shell脚本实现自动SSH互信功能
33 1
|
3天前
|
机器学习/深度学习 Unix Java
技术笔记:Linux之Shell脚本编程(一)
技术笔记:Linux之Shell脚本编程(一)
|
12天前
|
Shell Perl
7操作系统基础-Shell编程
7操作系统基础-Shell编程
7 0
|
2月前
|
监控 关系型数据库 Shell
Shell脚本入门:从基础到实践,轻松掌握Shell编程
Shell脚本入门:从基础到实践,轻松掌握Shell编程
|
2月前
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
|
2月前
|
监控 Shell 开发工具
Shell编程
Shell编程
|
2月前
|
Shell
Shell脚本编程基础
Shell脚本编程基础
|
2月前
|
存储 网络协议 Shell
第十章 Shell编程时常用的系统文件
第十章 Shell编程时常用的系统文件