shell编程shell中bash基本功能(代码片段)

林夕07 林夕07     2022-12-05     128

关键词:

目录


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常用快捷键

ctrl+A把光标移动到命令行开头,如果我们输入的命令过长,想要把光标移动到命令行开头使用
ctrl+E把光标移动到命令行结尾
ctrl+C强制终止当前的命令
ctrl+L清屏,相当于clear命令
ctrl+U删除或截切光标之前的命令,我输入了一行很长的命令,不用使用退格键一个个删除,直接使用快捷键
ctrl+K删除或截切光标之后的内容
ctrl+Y粘贴ctrl+U或者ctrl+K截切的内容
ctrl+R在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面
ctrl+D退出当前终端
ctrl+Z暂停,并放入后台。
ctrl+S暂停屏幕输出
ctrl+Q恢复屏幕输出

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

标准输入输出

设备设备文件名文件描述符类型
键盘/dev/stdin0标准输入
显示器/dev/stdout1标准输出
显示器/dev/stderr2标准错误输出

输出重定向

标准输出重定向

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

标准错误输出重定向

注意(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搜索出的关键字用颜色显示

实例

shell编程shell中bash变量-预定义变量(代码片段)

系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能【Shell编程】Shell中Bash变量-用户自定义变量【Shell编程】Shell中Bash变量-位置参数变量【Shell编程】Shell中Bash变量-环境变量目录系列文章预定义变量... 查看详情

shell编程shell中bash变量-预定义变量(代码片段)

系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能【Shell编程】Shell中Bash变量-用户自定义变量【Shell编程】Shell中Bash变量-位置参数变量【Shell编程】Shell中Bash变量-环境变量目录系列文章预定义变量... 查看详情

shell编程shell中bash变量-环境变量(代码片段)

...量是什么设置环境变量系统常用环境变量系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能【Shell编程】Bash变量-用户自定义变量【Shell编程】Shell中Bash变量-位置参数变量环境变量环境变量是什么... 查看详情

shell编程shell中bash变量-数值运算运算符变量测试和内容替换(代码片段)

系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能【Shell编程】Shell中Bash变量-用户自定义变量【Shell编程】Shell中Bash变量-位置参数变量【Shell编程】Shell中Bash变量-环境变量【Shell编程】Shell中Bash变... 查看详情

shell编程shell中bash变量-位置参数变量(代码片段)

...-剩余参数实例-区别整体对待和单独对待系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能【Shell编程】Bash变量-用户自定义变量位置参数变量位置参数变量作用+$nn为数字,$0代表文件本身&#x... 查看详情

shell编程shell中bash变量-用户自定义变量(代码片段)

...量变量的命名规则变量分类本地变量实例系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能Bash变量-用户自定义变量变量的命名规则不能以数字开头在Bash中,变量的默认类型都是字符串型,... 查看详情

shell编程bash变量-用户自定义变量(代码片段)

...量变量的命名规则变量分类本地变量实例系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能Bash变量-用户自定义变量变量的命名规则不能以数字开头在Bash中,变量的默认类型都是字符串型,... 查看详情

shell编程shell中bash变量-数值运算运算符变量测试和内容替换(代码片段)

系列文章【Shell编程】Shell基本概述与脚本执行方式【Shell编程】Shell中Bash基本功能【Shell编程】Shell中Bash变量-用户自定义变量【Shell编程】Shell中Bash变量-位置参数变量【Shell编程】Shell中Bash变量-环境变量【Shell编程】Shell中Bash变... 查看详情

免费下载全套最新3.shell编程视频教程+教学资料+学习课件+源代码+软件开发工具

3.Shell编程视频教程网盘地址:链接:https://pan.baidu.com/s/1-M4wHTMaE8rxjroTTd-9qQ提取码:qf52加公众号获取更多新教程教程目录大纲./3.Shell编程├──11云计算-Linux系统管理-shell基础│??├──100-云计算-Linux系统管理-shell基础-echo命令.avi... 查看详情

怎样用bash编程:语法和工具(代码片段)

让我们通过本系列文章来学习基本的Bash编程语法和工具,以及如何使用变量和控制运算符,这是三篇中的第一篇。Shell是操作系统的命令解释器,其中Bash是我最喜欢的。每当用户或者系统管理员将命令输入系统的时候,Linux的she... 查看详情

shell-3.bash的基本功能

                            查看详情

bash脚本编程基础及配置文件

(一)shell脚本编程编程语言的分类:根据运行方式:编译运行解释运行根据编程过程中功能的实现是调用库还是调用外部的程序文件:shell脚本编程:利用系统上的命令及编程组件进行编程完整编程:利用库或编程组件进行编... 查看详情

bash编程1——基本定义

参考技术APOSIX:一系列基于Unix的开放系统标准。Bash主要关注posix1003.1标准的Shell和Utilities部分。blank:空格或tab字符builtin:由shell本身在内部实现的命令,而不是由文件系统中的某个可执行程序实现的命令。controloperator:执行控制... 查看详情

:变量和参数介绍(代码片段)

原文:http://shouce.jb51.net/shell/linuxshell编程、bash编程、shell教程、bash教程、shell文档、bash文档、shell脚本、bash脚本【教程】第一章:Shell编程第二章:Sha-Bang(#!)开始linuxshell编程、bash编程、shell教程、bash教程... 查看详情

求助:如何在shell脚本中添加写日志的功能

...实例阐述如何编写一个shell脚本。  为什么要进行shell编程  在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用... 查看详情

shell-在linux上搭建shell编程环境(代码片段)

文章目录1.Shell-在Linux上搭建Shell编程环境1.Shell-在Linux上搭建Shell编程环境  由于Linux本身都会默认安装Shell脚本的运行环境,所以通常情况下不需要用户额外安装什么软件,但是在同一台Linux上面会同时安装多个Shell࿰... 查看详情

bash的若干基本问题

Bash的若干基本问题 这里介绍一些bash启动前、后的问题,以及一些使用bash需要注意的基本问题。  1、Bash的介绍 Bash是一种Shell程序,它是一般的Linux系统中的默认的Shell程序,一般情况下Bash指的是/bin/bash这个软件... 查看详情

linux的shell编程中#!/bin/sh和bash是啥意思?

参考技术A#!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。$bash$表示系统提示符,$表示此用户为普通用户,超级用户的提示符是#,bash是shell的一种,是linux下最常用的一种... 查看详情