SHELL 基础 入门(三) Bash 快捷键 命令执行顺序,详解通配符

目录

Bash 常用快捷键 

输入输出重定向 

<< 用法 

输出重定向 

命令执行顺序 

;  分号

&&

|| 

通配符 

传统通配符 

'  *  ' 

[  ]  

[ - ]  

[ ^ ]

常用字符 

强调 : {  }   生成序列 


Bash 常用快捷键 

Ctrl + A    把光标移动到命令行开头

Ctrl + E    把光标移动到命令行尾 

Ctrl + D    退出当前终端 ( 正常的退出 ) 

Ctrl + C    强制终止当前命令 ( 非正常的退出 ) 

Ctrl + L     清屏 

Ctrl + U    删除或剪切光标之前的命令 

Ctrl + K    删除或剪切光标之后的命令

Ctrl + Y    粘贴 Ctrl + U  或 Ctrl + K  剪切的内容

Ctrl + R    在历史命令中搜索 

Ctrl + Z    暂停,并放入后台

Ctrl + S    暂停屏幕输出

Ctrl + Q    恢复屏幕输出 

输入输出重定向 

 Bash 的标准输入输出 

设备                        设备文件名                       文件描述符                                类型

键盘                         /dev/stdin                         0                                                标准输入

显示器                     /dev/stdout                       1                                                标准输出

显示器                     /dev/stderr                        2                                                标准错误输出

<< 用法 

       快速生成文件 

        ===>>

[root@localhost ~]# cat > test1.txt << EOF
> TOM
> LACY
> Jon
> EOF
[root@localhost ~]# 

当键盘输入 EOF 的时候,就会结束,就是 结束符 ~!!   

这样 test1.txt 就生成了 ~!!!  

输出重定向 

类型符号作用
标准输出重定向命令 > 文件 以覆盖的方式,把命令的正确输出,输出到指定的文件或设备当中
命令 >> 文件以追加的方式,把命令的正确输出,输出到指定的文件或设备当中
标准错误输出重定向错误命令 2> 文件以覆盖的方式,把命令的错误输出,输出到指定的文件或设备当中
错误命令 2>> 文件  以追加的方式,把命令的错误输出,输出到指定的文件或设备当中
正确输出和错误输出同时保存命令 > 文件 2>&1 以覆盖的方式,把正确输出和错误输出,都保存到同一个文件当中
命令 >> 文件 2>&1 以追加的方式,把正确输出和错误输出,都保存到同一个文件当中
命令 &> 文件以覆盖的方式,把正确输出和错误输出,都保存到同一个文件当中
命令 &>> 文件以追加的方式,把正确输出和错误输出,都保存到同一个文件当中
命令 >> 文件1  2>>文件 2把正确的输出追加到文件1中,把错误的输出追加到文件2中

命令执行顺序 

;  分号

        -- 命令的顺序执行 

===>>>

 不管前面的命令是否执行成功,都会挨个执行一遍,即使中间有的命令没能执行成功,也会接着

 执行后面的命令。 

&&

    -- 前面命令执行不成功,后面的命令不执行 

===>>>

 显然,前面 lddd 命令执行不成功,后面的 pwd 也就不执行了 ~!!

|| 

  --  前面的命令执行成功,后面的命令就不执行;    前面的命令执行不成功,后面的命令才执行

===>>>

 前面命令执行不成功,则执行后面命令 

 前面命令执行成功了,后面命令就不执行了 ~!!!

拓展 : 面试题 

                                   如果用户 hadoop 不存在则创建 

===>>>

        首先,我们如何判断用户是否存在呢 ??

        ===>>>

        那就是 id 命令了, id  用户名 

         

         那我们就可以根据 id 用户名 是否执行成功来判断 该用户是否存在,

         即利用命令的返回值来判断,并且,我们又不需要这个命令执行的结果,只要这个命令是否

         执行成功的返回值。 

         ===>>>

[root@localhost ~]# id hadoop &> /dev/null

          这就是 我们将命令执行,执行完后把结果扔到  回收站 ( 我们不要执行结果 ) 

             

          完整执行为

          ===>>>

[root@localhost ~]# id hadoop &> /dev/null || userhad hadoop 

        我们就用到了  ||  符, 即前面的命令要是执行成功了,那就不需要再创建该用户;

        要是 || 符 前面的命令没执行成功,那就说明没有该用户,那就执行 || 后面的命令,创建用户

通配符 

传统通配符 

?               匹配一个任意字符

' * '              匹配0个或任意多个任意字符,也就是可以匹配任意内容

[ ]                匹配 [ ] 中任意一个字符

[ - ]             匹配 [ ]  中任意一个字符, - 代表一个范围,从哪儿到哪儿 

[ ^ ]             逻辑非,表示匹配不是中括号内的一个字符 

示例 :  

  创建一系列文件,提供素材

[root@localhost test]# touch test.txt
[root@localhost test]# touch test{1..20}.txt

===>>>

没有 test.txt  和    test10 - test20.txt  

'  *  ' 

===>>>

 所有 test.txt 的文件都列出了,包括 test.txt 理解 0个或多个 任意字符 

[  ]  

===>>>

 [  ]  中 任意 一个字符  

[ - ]  

===>>>

 注意列出  test11 到 test16 的文件时,那就得  往外提一个 1 出去,因为 [ ] 里只能匹配一个字符 

  列出以小写字母开头,结尾时 .sh 的文件 

  ===>>>

[root@localhost test]# ls [a-z]*.txt 

[ ^ ]

===>>>

不想要 test1  test3  test5 文件,所以就取反;   注意列出的 也并没有 test10-test20 .txt 的文件哦 

常用字符 

[ [:class:] ] :  匹配一个属于指定字符类中的字符

                    [:class:] 表示一种字符类,比如: 数字,大小写字母等 

常用字符类 : 

[:alnum:]  :   匹配任意一个字母或数字,传统写法 : a-zA-Z0-9

[:alpha:]   :   匹配任意一个字母,           传统写法 : a-zA-Z

[:digit:]     :   匹配任意一个数字,           传统写法 : 0-9

[:lower:]   :   匹配任意一个小写字母       传统写法  : a-z

[:upper:]  :    匹配任意一个大写字母       传统写法  : A-Z 

:     在使用专属字符集的时候,字符集之外还需要  [   ]  来包含,否则不能生效 ~!!

           如果使用上述格式的话,那对它的取反就是 在两个括号的中间进行取反

           如 :  [^[ : alnum:]]    [^[:digit:]]    [^[:lower:]]   等等  

 列出 以小写字母开头,.txt 结尾的文件 

 ===>>>

[root@localhost test]# ls [[:lower:]]*.txt

强调 {  }   生成序列 

{ }  生成序列 

touch  file{1..9}.txt   #  当前路径生成 file1.txt-file9.txt 。   { a..f } 代表 a-f  

不连续的使用 , 分隔,比如 file{1,3,5}.txt  那就是 file1.txt   file3.txt  file5.txt 

利用 { } 备份 

[root@localhost test]# cp test1.txt{,.bak}    #  将test1.txt 复制一份叫 test1.txt.bak 


[root@localhost test]# cp test{2,22}.txt       #  复制 test2.txt 为 test22.txt  

示例 : 

列出 /etc/ 目录中不是以字母 a 到 n 开头的,并且以 .conf 结尾的文件 

===>>>

[root@localhost test]# ls /etc/[^a-n]*.conf

列出  /bin/ 下以 c 或 k 开头的文件 

===>>>

[root@localhost test]# ls /bin/[ck]*

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/103333.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ 消费者

RabbitMQ的消费模式分两种&#xff1a;推模式和拉模式&#xff0c;推模式采用Basic.Consume进行消费&#xff0c;拉模式则是调用Basic.Get进行消费。   消费者通过订阅队列从RabbitMQ中获取消息进行消费&#xff0c;为避免消息丢失可采用消费确认机制 消费者 拉模式拉模式的实…

Delphi 中 interface 如何使用 (chatGPT回答)?

目录 1. 定义接口&#xff1a;可以使用interface关键字来定义一个接口。例如&#xff1a; 2. 实现接口&#xff1a;类可以实现一个或多个接口。要实现接口&#xff0c;需要在类声明中使用implements关键字&#xff0c;并提供对应接口的方法的实现。例如&#xff1a; 3. 使用…

科技资讯|苹果Apple Watch新专利,可根据服装、表带更换表盘颜色

根据美国商标和专利局&#xff08;USPTO&#xff09;公示的清单&#xff0c;苹果公司近日获得了一项 Apple Watch 相关的技术专利&#xff0c;最大的亮点在于配备颜色采样传感器&#xff0c;可以根据表带、服装自动变幻变盘颜色和主题。 Apple Watch 正面配备颜色采样传感器&am…

【LVS】2、部署LVS-DR群集

LVS-DR数据包的流向分析 1.客户端发送请求到负载均衡器&#xff0c;请求的数据报文到达内核空间&#xff1b; 2.负载均衡服务器和正式服务器在同一个网络中&#xff0c;数据通过二层数据链路层来传输&#xff1b; 3.内核空间判断数据包的目标IP是本机VIP&#xff0c;此时IP虚…

微服务中间件--分布式搜索ES

分布式搜索ES 11.分布式搜索 ESa.介绍ESb.IK分词器c.索引库操作 (类似于MYSQL的Table)d.查看、删除、修改 索引库e.文档操作 (类似MYSQL的数据)1) 添加文档2) 查看文档3) 删除文档4) 修改文档 f.RestClient操作索引库1) 创建索引库2) 删除索引库/判断索引库 g.RestClient操作文…

思维导图工具有哪些?如何挑选思维导图工具?10款好用工具推荐!

在我们的生活和工作中&#xff0c;思维导图是一种有效的工具&#xff0c;可以帮助我们更好地组织和理解信息&#xff0c;提高我们的学习和工作效率。当然&#xff0c;如何选择一款适合自己的思维导图工具也是一门学问。在这篇文章中&#xff0c;我将为大家介绍如何挑选一款适合…

UE4/5Niagara粒子特效之Niagara_Particles官方案例:1.1->1.4

目录 1.1-Simple Sprite Emitter ​编辑 发射器更新 粒子生成 粒子更新 1.2-Simple Sprite Emitter 发射器更新 粒子生成 粒子更新 渲染 1.3-Simple GPU Emitter 属性 发射器更新 粒子生成 粒子更新 1.4-Sprite Facing 发射器更新 粒子生成 粒子更新 通过对官方…

lwIP更新记10:IP 冲突检测

lwip-2.2.0-rc1 版本于 2023 年 6 月 29 日发布&#xff0c;带来了我期盼已久的 IPv4 冲突检测 功能。 lwip-2.2.0-rc1 版本重新回归了 master 分支&#xff08;主分支&#xff09;&#xff0c;不再使用单独的稳定分支。 master 分支 是一个 Git&#xff08;版本控制程序&…

el-table动态合并单元格

el-table使用这个方法合并单元格&#xff0c;:span-method“hbcell” <el-table size"small" :data"table.data" border empty-text"暂无数据" :cell-style"cellStyle" :header-cell-style"tableHeaderColor":span-meth…

Haproxy原理及部署

一、Haproxy简介 1、Haproxy应用分析 LVS在企业中康复在能力很强&#xff0c;但存在不足&#xff1a; LVS不支持正则处理&#xff0c;不能实现动静分离对于大型网站LVS的事实配置较为复杂&#xff0c;维护成本相对较高 Haproxy是一款可以供高可用性、负载均衡和基于TCP和HT…

OpenCV + CLion在windows环境下使用CMake编译, 出现Mutex相关的错误的解决办法

最近在windows下面用cmake编译OpenCV的项目代码,但是一直碰到找不到mutex的问题&#xff0c;百思不得其解, Executing task: g -g -o bin/debug.exe src/main.cppC:\MinGW\lib\opencv\build\include/opencv2/core/utility.hpp:697:14: error: recursive_mutex in namespace st…

ssl卸载原理

SSL卸载&#xff0c;也称为SSL解密&#xff0c;是一种将SSL加密数据流卸成非加密的明文数据流的过程。SSL卸载通常在负载均衡器、代理服务器、WAF等设备中实现&#xff0c;可以提高传输效率和安全性。 SSL卸载的原理是将SSL数据流拦截下来&#xff0c;通过设备内置的证书进行解…

图为科技-边缘计算在智慧医疗领域的作用

边缘计算在智慧医疗领域的作用 随着科技的进步&#xff0c;智慧医疗已成为医疗行业的重要发展趋势。边缘计算作为新兴技术&#xff0c;在智慧医疗领域发挥着越来越重要的作用。本文将介绍边缘计算在智慧医疗领域的应用及其优势&#xff0c;并探讨未来发展方向。 一、边缘计算…

androidstudio Please specify a signing configuration for this variant (release)

当直接运行release版本时&#xff0c;报错Error: The apk for your currently selected variant cannot be signed. Please specify a signing configuration for this variant (package64-release). 解决报错&#xff1a;添加签名&#xff0c;signingConfigs 写在buildTypes前…

知道吗?微软将Python集成到Excel中,国产软件“抄作业”了

Excel集成Python 众所周知哦&#xff0c;VBA是一种基于微软的Visual Basic语言的宏编程语言&#xff0c;专为在Office应用程序中执行自动化任务而设计。 VBA适用于Excel、Word、PowerPoint等Office套件中的宏编程&#xff0c;可直接操作和控制Office应用程序的对象模型。 我们…

appium2.0+ 单点触控和多点触控新的解决方案

在 appium2.0 之前&#xff0c;在移动端设备上的触屏操作&#xff0c;单手指触屏和多手指触屏分别是由 TouchAction 类&#xff0c;Multiaction 类实现的。 在 appium2.0 之后&#xff0c;这 2 个方法将会被舍弃。 "[Deprecated] TouchAction action is deprecated. Ple…

Docker 搭建 LNMP + Wordpress(详细步骤)

目录 一、项目模拟 1. 项目环境 2. 服务器环境 3.任务需求 二、Linux 系统基础镜像 三、Nginx 1. 建立工作目录 2. 编写 Dockerfile 脚本 3. 准备 nginx.conf 配置文件 4. 生成镜像 5. 创建自定义网络 6. 启动镜像容器 7. 验证 nginx 四、Mysql 1.…

无脑入门pytorch系列(五)—— nn.Dropout

本系列教程适用于没有任何pytorch的同学&#xff08;简单的python语法还是要的&#xff09;&#xff0c;从代码的表层出发挖掘代码的深层含义&#xff0c;理解具体的意思和内涵。pytorch的很多函数看着非常简单&#xff0c;但是其中包含了很多内容&#xff0c;不了解其中的意思…

PySide6学习笔记--gui小模版使用

一、界面绘制 1.desiner画图 2.画图代码 # -*- coding: utf-8 -*-################################################################################ ## Form generated from reading UI file t1gui.ui ## ## Created by: Qt User Interface Compiler version 6.5.2 ## ##…

备份服务器搭建

备份服务器搭建 1、背景2、作用3、选型4、环境5、部署5.1、服务端部署5.1.1、安装5.1.2、配置 5.2、客户端部署5.3、备份策略5.3.1、定时备份策略5.3.2、文件变动备份 6、参考 1、背景 随着项目的推进&#xff0c;备份服务器被提上了工作日程&#xff0c;等保、密评和接入测评…