Red Hat Linux 用户基础学习笔记

简介: 命令行替换执行命令之前,bash shell会先对命令进行一些替换,有如下几种替换类型替换语法含义历史!前一个命令行大括号(Brace){}指定的文本代字号(Tilde)~USRNAME用户的主目录变量$, ${.

命令行替换

执行命令之前,bash shell会先对命令进行一些替换,有如下几种替换类型

替换 语法 含义
历史 ! 前一个命令行
大括号(Brace) {} 指定的文本
代字号(Tilde) ~USRNAME 用户的主目录
变量 $, ${...} 局部变量和环境变量
算术 $((...)) $[...] 整数算数运算
命令替换 ... $(...) 运行在子shell中的命令输出
路径名 *, ?, [...],[^....] 文件系统中匹配的文件名

使用$!来调用上一个命令,

我对~可能比较熟悉,经常使用cd ~可以进入家目录,或者是source ~/.bashrc来启动修改后的配置文件,但是想去别人的家目录却经常要用到绝对路径,其实可以使用~Jimmy表示Jimmy家目录的路径

{....}可以用来创建或者删除多个文件夹, 这是因为shell会将一个单词展开为多个单词

mkdir dir{A,B,C,D}
# 如果是A-Z,则是
mkdir dir{A..Z}
# 不推荐这样创建以数字结尾的文件夹
mkdir dir{1..10}
# 更推荐这个,便于排序
mkdir dir{01..10}

简单的整数运算,可以用$((1023 * 2124))实现,设计到浮点型就完犊子了

命令替换 也比较常用,你可以用它在shell脚本中根据日期自动化建立文件夹,有两种方式,反引号或者是$(...)

touch reports.$(date +%d%b%Y)
# 下面这个太推荐,容易写错
touch reports.`date +%d%b%Y`

命令替换的原理: bash shell会产生要给新的子shell、运行命令、记录输出和推出子shell来执行命令替换。调用命令替换的文本就会被相应的输出所代替。

路径名替换,可以匹配一些列符合要求的文件, 比如说运行结束后,生成了大量以log结尾的日志文件,就能用路径名替换的方式批量删除

rm *.log
目录
相关文章
|
2月前
|
安全 Linux 网络安全
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Red Hat Enterprise Linux 9.3 操作系统保姆级教程(附链接)
|
4月前
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
55 0
|
4月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
59 0
|
4月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
39 0
|
25天前
|
Linux 网络安全
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
27 1
|
3月前
|
缓存 Unix Linux
Linux学习笔记
Linux学习笔记
256 0
|
4月前
|
缓存 监控 Linux
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
|
4月前
|
安全 Linux 数据安全/隐私保护
Linux 学习笔记十八:SELinux 相关概念
Linux 学习笔记十八:SELinux 相关概念
|
4月前
|
Linux 开发工具 索引
Linux 学习笔记索引
Linux 学习笔记索引
|
4月前
|
小程序 Linux 数据安全/隐私保护
Linux学习笔记十六:日志管理
Linux学习笔记十六:日志管理