我们平时使用Linux的时候经常遇到这样一个问题,举例有这样一种情况:执行命令

$ cp /etc/apt/sources.list /etc/apt/sources.list.bak

这里面有个问题,明明 /etc/apt/sources 这几个字都是一样的,为什么要打两遍?这样的还算短了,要是更深层的目录,那花的力气可就大了。跟上面例子很相似的情况是:在备份一个文件,重命名一个文 件,或是创建一个链接,都要进行类似的操作,重复一个相同的路径。通常比较明智的做法是先 cd 到那个目录,然后在那个目录下进行操作,完后再 cd 回来。不过这样做还是比较麻烦,有没有足不出户的解决方法?答案是肯定的。

Bash 有个功能叫大括号扩展,大括号包围的,用逗号隔开的参数会扩展为独立的多个参数。这样讲您一定懵了,具体一点,上面那个备份文件的例子可以写成:

$ cp /etc/apt/sources.{list,list.bak}

Shell 在解释时会自动将后面的参数扩展成两个,就变成了和上面一样的完整命令。这样就实现了足不出户操作,而前面那一串目录只要打一次就行,连 cd 也免敲了。

其实这个命令还可以再简化,那个 list 也可以并过去的。之前我一直在想,拿什么来代表空白,其实什么都不用写就行了。

$ cp /etc/apt/sources.list{,.bak}

这样逗号前面没东西,那么参数就保持原来的不变,逗号后面的照样扩展
花括号用来匹配一组用逗号分隔的字符串中的任一个。左花括号之前的所有字符称为前文(preamble),右花括号之后的所有字符称为后文(preamble)。前文和后文都是可选的。花括号中不能包含不加引号的空白符。样例如下:

1 在/usr/local/src/bash目录下创建4个新目录,它们分别为:old,new,dist和bugs

$ mkdir /usr/local/src/bash/{old,new,dist,bugs}

2 打印指令


  1. $ echo {mam,pap,ba}a
  2.     mama papa baa
  3. $ echo post{script,office,ure}
  4.     postscript postoffice posture
文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux29068 人正在系统学习中

[转帖]linux 下 {}大括号的用法的更多相关文章

  1. Linux下find命令用法详解

    Linux下find命令用法详解   学神VIP烟火 学神IT教育:XueGod-IT   最负责任的线上直播教育平台   本文作者为VIP学员 烟火   第一部分:根据文件名查找   1.在当前目录 ...

  2. [转帖]Linux下fork函数及pthread函数的总结

    Linux下fork函数及pthread函数的总结 https://blog.csdn.net/wangdd_199326/article/details/76180514 fork Linux多进程 ...

  3. [转帖]linux下的CPU、内存、IO、网络的压力测试

    linux下的CPU.内存.IO.网络的压力测试 https://www.cnblogs.com/zhuochong/p/10185881.html 一.对CPU进行简单测试: 1.通过bc命令计算特 ...

  4. [转帖]Linux date命令的用法(转)

    Linux date命令的用法(转) https://www.cnblogs.com/asxe/p/9317811.html 1.命令:date 2.命令功能:date 可以用来显示或设定系统的日期与 ...

  5. [转帖]Linux下主机间文件传输命令

    Linux下主机间文件传输命令 https://yq.aliyun.com/articles/53631?spm=a2c4e.11155435.0.0.580ce8ef4Q9uzs   SCP命令: ...

  6. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  7. Linux下diff命令用法详解

    大家好,我是良许. 我们在平时工作的时候,经常要知道两个文件之间,以及同个文件不同版本之间有何异同点.在 Windows 下,有 beyond compare 这个好用的工具,而在 Linux 下,也 ...

  8. [转] Linux下防火墙iptables用法规则详及其防火墙配置

    from: http://www.cnblogs.com/yi-meng/p/3213925.html 备注: 排版还不错,建议看以上的链接. iptables规则 规则--顾名思义就是规矩和原则,和 ...

  9. Linux下scp的用法

    scp就是secure copy,一个在linux下用来进行远程拷贝文件的命令.有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要 ...

  10. [转帖]linux下的X server:linux图形界面原理

    linux下的X server:linux图形界面原理 https://www.cnblogs.com/liangxiaofeng/p/5034912.html linux下的X server:lin ...

随机推荐

  1. 数据交换不失控:华为云EDS,让你的数据你做主

    摘要:华为云EDS在"可信.可控.可证"的框架基础上进行数据空间的关键设计,打造数据可控交换的全栈能力. 数字社会,每时每刻都有海量数据产生,数据也逐渐从生产过程的附属产物,逐渐成 ...

  2. 【文末彩蛋】数据仓库服务 GaussDB(DWS)单点性能案例集锦

    摘要:介绍了13种GaussDB(DWS)单点性能的案例. 一.数据倾斜 1.1 问题描述 某局点SQL执行慢,涉及大表的SQL执行不出来结果. 1.2 分析过程 数据倾斜在很多方面都会有体现: 1) ...

  3. 买家手册:企业在选择 SBOM 供应商时需要注意什么?

    Apache Log4j 和 Log4Shell 两大事件的发生,将软件物料清单(Software Bill of Materials, SBOM)推向安全防护前沿,成为企业保护其软件供应链的方式之一 ...

  4. 火山引擎DataLeap:更强数据目录搜索能力,做到一步找数

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数据管理变得更加复杂,元数据的重要性呈指数级增加.   如今,Data Catalog(数据目录)被看成是元数 ...

  5. ByteHouse技术白皮书正式发布,云数仓核心技术能力首次全面解读(内附下载链接)

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,<火山引擎云原生数据仓库 ByteHouse 技术白皮书>正式发布. 在数字化浪潮下,伴随着公有 ...

  6. Axure 母版红色怎么去除?

    视图 => 遮罩 => 母版 勾选去掉

  7. Java 网络编程 —— 实现非阻塞式的客户端

    创建阻塞的 EchoClient 客户程序一般不需要同时建立与服务器的多个连接,因此用一个线程,按照阻塞模式运行就能满足需求 public class EchoClient { private Soc ...

  8. Flask中本地代理的使用

    本地代理 当请求到来时应用上下文和程序上下文被推入本地栈中,全局变量current_app,request,g,session都可以使用了.以current_app为例,current_app代表的是 ...

  9. 从阿里云全球实时传输网络GRTN出发,浅谈QOE优化实践

    直播已深入每家每户,以淘宝的直播为例,在粉丝与主播的连麦互动中如何实现无感合屏或切屏?阿里云GRTN核心网技术负责人肖凯,在LVS2022上海站为我们分享了GRTN核心网的运作机制.运用方面以及QOE ...

  10. 【ToolChains】CLion(VS2019) + CMake + Vcpkg 的使用

    参考博客: https://blog.51cto.com/u_15075510/4201238 http://t.csdn.cn/pADDU https://zhuanlan.zhihu.com/p/ ...