厉害了!知道这样重命名文件都是大佬级别!

2023-11-03

大家好,我是良许。

在 Linux 下,重命名一个文件,我们通常是使用 mv 命令,一般是这样操作的:

$ mv file1.txt file2.txt

这样重命令的方式当然是可以,但有个弊端就是你需要输入两次文件名。文件名比较短还好,一旦比较长的话,输两次会很让人崩溃的。

本文就介绍几种更高效的文件重命令方法,一般人不知道哦,知道的都是大神级别。

高效重命名文件的方法

首先,我们需要使用 vim 编辑 ~/.bashrc 文件。

$ vim ~/.bashrc

将下面这段代码添加到 ~/.bashrc 文件末尾:

# Bash Function To Rename Files Without Typing Full Name Twice
function mv() {
  if [ "$#" -ne 1 ] || [ ! -e "$1" ]; then
    command mv "$@"
    return
  fi

  read -ei "$1" newfilename
  command mv -v -- "$1" "$newfilename"
}

然后,再按 wq 保存并退出。再接下来,使用 source 命令让这个修改生效。

$ source ~/.bashrc

接下来,就是见证奇迹的时刻!

现在,我们要重命名 file1.txt 文件,我们只需这样操作即可:

$ mv file1.txt

然后,重命名的过程可以看下面这个动图:

由上面这个动图可以看出来,终端里会显示出来原来文件名称,然后你可以对这个名称直接进行更改,而无需再次输入一遍原来的名称,效率提高不止一点!

重命名成功后,终端也会这样提示:

‘file1.txt’ -> ‘file2.txt’
其它高效重命名方法

当然,除了修改 .bashrc 文件之外,还有很多高效重命名方法,这里再介绍两个。

方法一:使用 mv 命令

又回到了 mv 命令?打脸啦?

然鹅,命令是 mv ,但用法不一样!

很多情况下,我们只是修改文件名的某一个部分,比如说,将 file1.txt 修改为 file2.txt ,也就是把 1 改为 2 。在这种情况下,其实有个更高效的改法:

# mv file{1,2}.txt

运行的结果如下:

如果我们想保留原来的文件,再复制一个副本,那就只要将 mv 命令换成 cp 命令即可。

# cp file{1,2}.txt

这个结果应该是显而易见的,就不截图结果了。

方法二:使用快捷键(ctrl+w,ctrl+y)

既然大部分人是知道重命名文件需要输入两次文件名,那么我就满足你,依然输入两次文件名。但是,这里介绍一种更高效的重复输入文件名的方法。

在 Shell 里,我们可以使用 ctrl+w 来剪切最后的单词,使用 ctrl+y 来粘贴被剪切出来的内容。所以利用这个快捷键我们可以更高效重复输入文件名。

直接上动图:

最后,最近很多小伙伴找我要Linux学习路线图,于是我根据自己的经验,利用业余时间熬夜肝了一个月,整理了一份电子书。无论你是面试还是自我提升,相信都会对你有帮助!目录如下:

免费送给大家,只求大家金指给我点个赞!

电子书 | Linux开发学习路线图

也希望有小伙伴能加入我,把这份电子书做得更完美!

有收获?希望老铁们来个三连击,给更多的人看到这篇文章

推荐阅读:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

厉害了!知道这样重命名文件都是大佬级别! 的相关文章

  • 为什么 Libgdx 的 Table 不接受缩放操作?

    我在 libgdx 库中使用 scene2d 在游戏中创建一些 UI 我使用了一个表格 我想在用户触摸时采取一些缩放操作以使按钮触摸有意义 当我使用任何其他 Actor 类型 例如 Group 并为其提供缩放操作时 它可以工作 但不能工作表
  • 将 csv 文件按多列拆分为 panda 数据框

    我有一个包含多列的 tsv 文件 有 10 多列 但对我来说重要的列是名称为 user name shift id url id 的列 我想创建一个数据框 首先根据用户名分隔整个 csv 文件 即只有具有相同用户名的行才会分组在一起 从该块
  • shell中基于正则表达式的颜色突出显示输出

    我想知道是否可以用颜色突出显示与某些字符串匹配的 shell 命令的输出 例如 如果我运行 myCommand 输出如下 gt myCommand DEBUG foo bar INFO bla bla ERROR yak yak 我希望所有
  • Java字符串中的字符数[重复]

    这个问题在这里已经有答案了 可能的重复 Java 使用unicode上划线显示平方根时字符串的长度 https stackoverflow com questions 7704426 java length of string when u
  • 将数据框列打包到 pandas 中列出

    我需要将 pandas DataFrame 列打包到包含列表的一列中 例子 For gt gt gt df a b c 0 81 88 1 1 42 7 23 2 8 37 63 3 18 22 20 制作列表栏 list col 0 81
  • 不重复的Python组合

    我有一个数字列表 我想从中进行组合 如果我有清单 t 2 2 2 2 4 c list itertools combinations t 4 结果是 2 2 2 2 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 但我想得到
  • 为图例中的点设置固定大小

    我正在制作一些散点图 我想将图例中的点的大小设置为固定的相等值 现在我有这个 import matplotlib pyplot as plt import numpy as np def rand data return np random
  • 如何根据服务器/环境动态加载服务器配置?

    目前 我设置了 Maven 配置文件 以便能够为不同的环境 开发 演示 暂存 生产等 部署我的项目 并且它工作得很好 但问题是 对于我拥有的每个模块 Web 应用程序 我需要复制 粘贴此配置文件 它们都是属性文件 当我需要更改环境 服务器配
  • Python3.1中的视图?

    Python3 1中的视图到底是什么 它们的行为方式似乎与迭代器类似 并且它们也可以具体化为列表 迭代器和视图有何不同 据我所知 视图仍然附加到创建它的对象上 对原始对象的修改会影响视图 来自docs http docs python or
  • 尝试修复我的功能

    我正在开发一个函数 我必须返回一个元组 其中第一个参数是最大数字的 str 第二个参数是 int 列表 这是示例以及我为该函数编写的内容 投票 G G N G C G 1 3 0 1 您必须将最大值的位置映射到正确的一方 parties N
  • Hive NVL 不适用于列的日期类型 - NullpointerException

    我正在使用 HDFS 上的 MapR Hive 发行版并面临以下问题 如果表的列类型是 日期 类型 则NVL https cwiki apache org confluence display Hive LanguageManual UDF
  • 我可以从同一个 jar 文件执行两个不同的类吗?

    我有一个项目 在一个包中我制作了服务器 在第二个包中我制作了客户端 它运行良好 我想创建一个 Jar 文件 是否可以使用同一个 jar 文件分别运行客户端和服务器 我使用了只有一个 main 的 jar 文件 当我运行 jar 文件时 它会
  • 选择多个模式的 awk 代码

    这是我的输入文件 比如modified txt r4544 n479826 2012 08 28 07 12 33 0400 Tue 28 Aug 2012 1 line Changed paths M branches 8 6 0 con
  • 如何替换被测模块的文件访问引用

    pyfakefs https code google com p pyfakefs 听起来非常有用 它 最初是作为核心 Python 模块的一个适度的假实现来开发的 以支持中等复杂的文件系统交互 并于 2006 年 9 月在 Google
  • Python unittest - 与assertRaises相反?

    我想编写一个测试来确定在给定情况下不会引发异常 测试是否有异常很简单is上调 sInvalidPath AlwaysSuppliesAnInvalidPath self assertRaises PathIsNotAValidOne MyO
  • 在 Django/python 中,如何将内存缓存设置为无限时间?

    cache set key value 9999999 但这并不是无限的时间 def get memcache timeout self timeout Memcached deals with long gt 30 days timeou
  • LinkedBlockingQueue 抛出 InterruptedException

    我有这段代码 ALinkedBlockingQueue应该只抛出一个Exception如果在等待添加到队列时被中断 但这个队列是无限的 所以它应该尽快添加 为什么我的关闭方法会抛出一个InterruptedException private
  • Beautiful Soup 获取动态表数据

    我有以下代码 url https www basketball reference com leagues NBA 2017 standings html all expanded standings html urlopen url so
  • 如何使用SAXReader解析GPX文件?

    我正在尝试解析GPX file http en wikipedia org wiki GPS eXchange Format 我用 JDOM 尝试过 但效果不太好 SAXBuilder builder new SAXBuilder Docu
  • 如何获取 EC2 实例的 CloudWatch 指标数据

    我想获取我的 EC2 实例的 Cloudmetrics 数据 以便我可以使用这些数据绘制图表并将其显示在我的 Android 设备上 我怎么做 有相同的示例程序或教程吗 提前致谢 这就是我正在做的 private static void f

随机推荐

  • 【存档】CSDN社区之星专访:我的蜕变之路

    最近要接受一家技术媒体的专访 想起 10年前CSDN也采访过我一次 于是网上搜了搜 遗憾的是 原文链接已经失效了 幸好有位叫 阿飞冲冲冲 的网友转载了 我再转过来 顺便也读一遍 找找 初心 摘要 社区之星第49期采访了爱奇艺研发总监陆其明
  • angular6学习(九):数据绑定到事件

    实现功能 将html页面中文本框的输入的内容传递到ts文件 然后在html文件中显示ts文件中的这个内容 html文件 一 绑定到事件 ts文件 显示结果 二 双向绑定 html app module ts
  • Swing的布局管理器 --转载

    11月24日 Swing的布局管理器 转载 1 先说说Swing中的不一般的组件 JFrame JDialog JWindow JApplet这四个组件是重量级组件 因为要在操作系统中显示窗口画面 必须使用操作系统的窗口资源 所以JFram
  • java怎么打开_java开不了怎么办?java怎么打开?

    我们在打开java软件的时候 总是提示打不开 这可急坏了小伙伴 软件打不开 就无法写程序了 那么接下来 我们就来给大家讲解一下java开不了的解决方法 1 先保证正确安装了JAVA环境 2 再打开 控制面板 中的 Java 组件设置程序 3
  • 去除lcd图片的摩尔纹_科普必修

    妊娠纹是怀孕期间出现在下腹部 臀部 胸部 背部或四肢近端 呈紫色或是紫红色的条纹 据统计 大约70 90 的孕妇在首次怀孕时 会出现妊娠纹 妊娠纹虽对身体健康没有大的危害 但却给罹患孕妇带来了很大的精神压力和心理负担 从而影响其生活质量 什
  • Unity报错 error CS0246: The type or namespace name ‘UI‘ could not be found

    Unity报错 error CS0246 The type or namespace name UI could not be found 在我导入老版本的UnityPackage到2021年1月份的Unity版本的时候 出现了许多警告和e
  • Java网络编程(四) Reactor和Proactor模式

    size medium 在高性能的I O设计中 有两个比较著名的模式Reactor和Proactor模式 其中Reactor模式用于同步I O 而Proactor运用于异步I O操作 color blue b 同步和异步 b color 同
  • 数据仓库与数据挖掘(一)

    1 简述数据仓库有哪些特征 面向主题 集成 稳定性即非易失的 随时间而变化即时变的 2 简述数据仓库与传统数据库的主要区别 一个是数据库 一个是数据仓库 就不是一个东西 怎么区别嘛 数据仓库是建立在数据库之上的一个数据环境 3 为什么需要分
  • Linux下监测网卡状态

    目录 1 说明 2 解析命令法 2 1 CODE 2 2 TEST 3 SOCKET法 1 说明 此代码主要对Linux下网卡4种状态进行检测 可以检查 网卡是否存在 网卡是否down 网卡UP 插了网线 RUNNING 网卡UP 没有插网
  • k8s nginx .yaml 测试

    apiVersion apps v1 kind Deployment metadata name nginx test spec replicas 2 selector matchLabels app nginx test template
  • c++中,什么时候用 A a;和什么时候用A a=new A;

    说明 此处内容是在网上摘抄的 总结一下 为了以后查找方面 new是在堆上分配内存 它需要用delete释放 否则会造成内存泄漏 使用的内存没有即时释放 造成内存的浪费 而A a在右大括号执行后 会自动释放内存 如 int main A a
  • Matlab funnction函数定义及常见扩展应用(@函数句柄,feval函数等)

    目录 MATLAB函数定义 1 函数文件 调用函数文件 定义多个M文件 2 函数文件 子函数 定义一个具有多个子函数的M文件 3 Inline 无需M文件 直接定义 4 匿名函数 5 Syms subs 无需M文件 直接定义 6 字符串 s
  • 数据持久化(Json,二进制,PlayerPrefs)

    数据持久化 文章目录 数据持久化 数据持久化概述 1 数据持久化 JSON 1 Json简介 2 JsonUtility相关知识点 3 LitJson相关知识 4 JsonMgr管理器的书写 2 数据持久化 二进制 1 二进制简介 2 文件
  • Nodejs之Buffer数据转ReadSteam

    当要处理的是一个文件时 stream fs createReadStream content txt 返回一个readStream 文件读取流 输入流 对象 可读流 当处理的是一个Buffer时 用createReadStream就会报错
  • 移动端接口加密

    最近公司写的android接口需要加密 防止被恶意攻击 2加密规则想了个简单的办法 传两个参数 一个是string类型的另一种是MD5加密的密文 在服务端写个拦截器 或者过滤器去拦截他 然后做自己相应的逻辑处理 把string类型的字段拿过
  • 操作系统进程知识概括

    操作系统进程知识概括 进程概述 线程 处理机调度 进程同步 进程互斥 信号量机制 进程互斥同步经典问题 管程 死锁 进程概述 进程概述 程序 是静态的 就是个存放在磁盘里的 可执行文件 就是一系列的指令集合 进程 Process 是动态的
  • OnnxRunTime遇到FAIL : Non-zero status code returned while running BatchNormalization node.

    遇到FAIL Non zero status code returned while running BatchNormalization node 跑onnxruntime时 发现显卡没有用到 pip install onnxruntim
  • Linux中的ssize_t

    2023年7月12日 周三上午 概述 ssize t 是一个数据类型 用于表示有符号的大小 它通常在文件操作和网络编程中用作函数的返回类型或参数类型 头文件 ssize t 在
  • EasyPoi导出 导入(带校验)简单示例 EasyExcel

    官方文档 http doc wupaas com docs easypoi pom的引入
  • 厉害了!知道这样重命名文件都是大佬级别!

    大家好 我是良许 在 Linux 下 重命名一个文件 我们通常是使用 mv 命令 一般是这样操作的 mv file1 txt file2 txt 这样重命令的方式当然是可以 但有个弊端就是你需要输入两次文件名 文件名比较短还好 一旦比较长的