如何在 Linux 中重命名目录

仅使用命令行实用程序在 Linux 中重命名单个或多个目录的基本指南

重命名文件和目录是用户必须执行的一项常见任务。幸运的是,Linux 有一种直接从终端重命名文件和目录的轻松方法。

我们将讨论两个 Linux 命令来重命名 Linux 中的目录。这 MV改名 命令。

使用 MV Linux 重命名目录命令

mv 命令是 Linux 和所有其他类 Unix 系统提供的基本命令之一。 MV 基本上用于将文件从一个位置移动到另一个位置。但它也被广泛用作重命名文件和目录的方法。

使用以下语法重命名目录 MV.

句法:

mv [old_name_of_directory] ​​[new_name_of_directory]

首先,使用以下命令检查当前工作目录中存在的目录 ls 命令。

ls

输出:

gaurav@ubuntu:~/workspace$ ls -l 总计 76 drwxr-xr-x 2 root 4096 Sep 9 16:19 daa drwxr-xr-x 2 root 4096 Sep 9 16:20 dmta drwxr-xr-x 2 root root 4096 Sep 9 15:19 pc drwxr-xr-x 2 root root 4096 Sep 9 16:19 pmcd drwxr-xr-x 2 root root 4096 Sep 9 16:19 qps drwxr-xr-x 2 root root 4016 Sep 9 :19 固态硬盘

现在,我们将重命名名为的文件夹 机器人 使用 MV 命令。

例子:

mv daa 机器人

然后,再次使用 ls 命令检查目录列表以验证目录的新名称。

gaurav@ubuntu:~/workspace$ ls dmta pc pmcd qps 机器人 ssda

如果您尝试将目录重命名为已使用的名称 通过所需位置的另一个目录,具有旧名称的目录将被删除并被新目录覆盖。

例子:

gaurav@ubuntu:~/workspace$ ls -l total 76 drwxr-xr-x 2 root 4096 Sep 9 16:19 dmta drwxr-xr-x 2 root root 4096 Sep 9 16:20 pc drwxr-xr-x 2 root root 4096 Sep 9 15:19 pmcd drwxr-xr-x 2 root root 4096 Sep 9 16:19 qps drwxr-xr-x 2 root root 4096 Sep 9 16:19 robots drwxr-xr-x 2 root root 4096 Sep 9 :19 固态硬盘 

从上面的列表中,让我们使用目录 dmta、pc 和 qps.

示例输出:

gaurav@buntu:~/workspace$ mv dmta qps gaurav@ubuntu:~/workspace$ ls pc pmcd qps 机器人 ssda gaurav@ubuntu:~/workspace$

在这里,我尝试重命名目录‘脱氧核糖核酸' 作为 'QPS'.这里目录 qps 已经存在,但即使如此,终端也没有显示覆盖提示。

此外,您可以看到名为‘的目录脱氧核糖核酸' 已被删除。这是使用的缺陷 MV 命令如果存在多个同名目录。

为了避免这种歧义,我们可以使用 改名 命令。

使用 改名 重命名目录的命令

如上所述, MV 是一个非常基本的命令,也有一些模棱两可的行为。为了克服这些缺点,我们可以使用 改名 命令一次重命名多个文件。

改名 Linux 发行版中没有内置。您必须先单独安装它。 改名 有两个不同的版本。但是它们的功能在所有环境中都是一样的。唯一的区别是安装命令 改名 公用事业。在下面查看它们。

安装 改名 在 Ubuntu 和 Debian 发行版上:

sudo apt-get install 重命名

安装 改名 在 Fedora、CentOS 和 RedHat 发行版上:

须藤 dnf 安装 prename

在 Linux 计算机上安装重命名后,使用下面的代码重命名单个目录。

句法:

sudo 重命名 [perl 表达式] [目录]

例子:

我们将尝试首先使用重命名单个目录 改名 命令。我们将重命名名为的目录 目录2 作为 ssh.

输出:

root@ubuntu:~# ls DIR1 dir2 dir3 dir4 dir5 pc snap
root@ubuntu:~# rename 's/dir2/ssh/' dir2 root@ubuntu:~# ls -l total 28 drwxr-xr-x 2 root root 4096 Sep 9 15:15 DIR1 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir3 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir4 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir5 drwxr-xr-x 2 root root 4195 9: Sep 19 pc drwxr-xr-x 3 root root 4096 Sep 9 14:59 snap drwxr-xr-x 2 root root 4096 Sep 9 15:15 ssh 

从上面的输出我们可以看到名为‘的目录目录2‘ 重命名为 ‘ssh' 使用 改名 命令。

一次重命名多个目录使用 改名 命令

假设我有两个目录,‘游戏' 和 '工作'.这两个目录都以小写命名。我将使用以下命令更改这些目录的名称 改名 命令为大写字母。

例子:

须藤重命名 'y/a-z/A-Z/' [directories_to_rename]

输出:

使用检查当前目录的列表 ls 命令。

root@ubuntu:~# ls -l total 36 drwxr-xr-x 2 root root 4096 Sep 9 15:15 DIR1 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir3 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir4 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir5 drwxr-xr-x 2 root root 4096 Sep 9 15:31 game.sql drwxr-xr-x 2 root root 4096 Sep 9 15 :19 pc drwxr-xr-x 3 root root 4096 Sep 9 14:59 snap drwxr-xr-x 2 root root 4096 Sep 9 15:15 ssh drwxr-xr-x 2 root root 4096 Sep 9 15:30 work.sql

使用 rename 命令更改突出显示目录的名称。

root@ubuntu:~# sudo rename 'y/a-z/A-Z/' *.sql 

检查输出 ls 命令。

root@ubuntu:~# ls -l total 36 drwxr-xr-x 2 root root 4096 Sep 9 15:15 DIR1 drwxr-xr-x 2 root root 4096 Sep 9 15:31 GAME.SQL drwxr-xr-x 2 root root 4096 Sep 9 15:30 WORK.SQL drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir3 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir4

在这里我们可以看到我们已经将目录名称从小写更改为大写。

示例 2:

在这个例子中,我们将尝试同时重命名多个文件的一部分。

让我们先列出目录。

root@ubuntu-s-1vcpu-1gb-blr1-01:~# ls -l total 56 drwxr-xr-x 2 root root 4096 Sep 9 15:15 DIR1 drwxr-xr-x 2 root root 4096 Sep 9 15:31 GAME.SQL drwxr-xr-x 2 root root 4096 Sep 9 15:30 WORK.SQL drwxr-xr-x 2 root root 4096 Sep 9 15:50 dir1.sql drwxr-xr-x 2 root root 4096 Sep 9 15: 50 dir2.sql drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir3 drwxr-xr-x 2 root root 4096 Sep 9 15:15 dir4 drwxr-xr-x 2 root root 4096 Sep 9 15:15 drxrw -xr-x 2 根根 4096 Sep 9 15:19 pc drwxr-xr-x 2 根根 4096 Sep 9 15:54 sheldon1 drwxr-xr-x 2 根根 4096 Sep 9 15:54 sheldon2 drwxr-xr-x root root 4096 Sep 9 15:54 sheldon3 drwxr-xr-x 3 root root 4096 Sep 9 14:59 snap drwxr-xr-x 2 root root 4096 Sep 9 15:15 ssh

将 rename 命令运行为 rename -v,以便我们可以看到所做的更改作为输出。

root@ubuntu:~#rename -n -v 谢尔顿谢尔顿EPQ谢尔顿? 'sheldon1' -> 'sheldonEPQ1' 'sheldon2' -> 'sheldonEPQ2' 'sheldon3' -> 'sheldonEPQ3'
root@ubuntu:~# ls -l total 56 drwxr-xr-x 2 root root 4096 Sep 9 15:15 DIR1 drwxr-xr-x 2 root root 4096 Sep 9 15:31 GAME.SQL drwxr-xr-x 2 root root 4096 Sep 9 15:30 WORK.SQL drwxr-xr-x 2 root root 4096 Sep 9 15:54 sheldonEPQ1 drwxr-xr-x 2 root root 4096 Sep 9 15:54 sheldonEPQ2 drwxr-xr-x 96 root 9 15:54 谢尔顿EPQ3

在本例中,我们同时更改了多个文件的名称部分。

结论

在本教程中,我们专门学习了如何使用 MV改名 命令。我们学会了重命名单个目录以及多个目录。