【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 Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
18天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
1月前
|
Shell
Shell编程(下)
Shell编程(下)
88 1
|
1月前
|
Shell Linux Windows
Shell编程(上)
Shell编程(上)
40 1
|
1月前
|
Shell Linux 开发工具
|
1月前
|
监控 Unix Shell
shell脚本编程学习
【10月更文挑战第1天】shell脚本编程
65 12
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
2月前
|
Unix Shell Windows
随笔:What is Bash? What is shell?
随笔:What is Bash? What is shell?
|
1月前
|
监控 安全 Shell
凭借 Bash 语言实现员工行为管理软件的部分功能
在企业中,员工行为管理软件对于提高工作效率和保障企业安全至关重要。本文介绍了如何使用 Bash 脚本实现员工登录时间监控、特定网址访问记录以及生成报告的基本功能。通过示例代码,展示了如何记录登录时间和访问网址,并将信息汇总生成报告。虽然这是一个简单的示例,但为实际应用提供了基础框架。
24 0