信息技术数字 » 资源 » 如何在 Linux 系统中重命名文件夹:终端完整指南
掌握 mv 命令可以让你在 Linux 系统中快速安全地重命名和移动文件夹和文件,无论是在本地还是在远程服务器上。
cp 和 rm 命令与 mv 命令配合使用,可以复制、删除和重新排列整个目录,并利用 -r、-i、-fy 和 -v 等选项。
重命名工具和 shell 循环使得使用模式和正则表达式批量重命名文件变得容易。
使用正确的路径,使用 ls 命令进行检查,并谨慎使用通配符和破坏性选项,是避免数据丢失的关键。
如果你从事服务器相关工作或在 Linux 系统上开发项目,那么迟早你会需要…… 从终端重命名文件夹和文件纸面上看起来很简单,但对于新手来说,看到命令、路径和选项可能会让人望而生畏,尤其是如果你之前使用的是 GNOME、KDE 或类似的图形化环境,并且更习惯于命令行界面。 文件管理器.
好消息是,在Linux系统中,所有这些问题都可以通过几个非常强大的命令来解决。关键在于理解它们的工作原理。 mv、cp、rm 和重命名工具您将拥有完全的控制权,可以重命名、移动、复制和管理本地计算机和通过 SSH 连接的远程服务器上的目录。
基本概念:Linux 中的目录、路径和终端
在进行任何操作之前,了解 Linux 系统中文件夹的确切含义至关重要:从内部来看, 目录是一种特殊类型的文件。 它会存储一个索引,其中包含文件夹内所有文件和子目录的名称。换句话说,当我们重命名文件夹时,我们并没有复制或修改文件夹的内容,而只是更改了该索引的名称。
在Linux系统中,文件系统结构是分层的,因此 路径可以是绝对路径,也可以是相对路径。绝对路径总是以 / 开头(例如, /home/user/project),而相对路径则是根据您当前所在的目录来解释的(例如, 项目/图像 (如果您已经在 /home/user 目录下)。
要浏览该结构,我们使用终端。 cd 我们切换了目录, PWD 我们可以看到我们所处的确切路线以及沿途情况。 ls 我们列出内容。这三条命令是我们接下来要看到的重命名示例的基础。 不要给你路由错误.
在服务器端工作时,尤其是在Web开发中,通过SSH连接非常普遍: ssh 用户@服务器一旦进入远程服务器,你使用 mv、cp、rm 和 rename 执行的所有操作都与在本地计算机上执行的操作相同,只是现在你影响的是远程服务器上的文件。
mv 命令:在 Linux 中移动和重命名目录
在 Linux 系统中,重命名文件夹的绝对关键是使用以下命令。 mv`move` 是“move”的缩写。它的主要功能是移动文件和目录,但它也非常适合我们用于其他用途。 更改它们的名称,但不要移动它们.
mv 的一般语法非常简单: mv 始发站 目的地SOURCE 参数是已存在的文件或文件夹,而 DESTINATION 参数是我们想要移动或重命名的文件或文件夹的新名称或路径(加上名称)。
如果您想查看所有可用选项,可以运行 mv –帮助 在航站楼。你会看到类似这样的信息。 MV…以及一系列参数和标志,可以根据您的需要调整其行为。
操作目录和文件时最常用的 mv 选项有: -f、-i、-uy -v它们并非强制性的,但它们能给你带来很大的控制权和安全性,尤其是在你可能会意外覆盖重要内容的时候。
mv 命令的更多实用选项
当你开始在控制台中重命名和移动文件时,最可怕的事情是…… 无意中覆盖了文件或文件夹为此,您应该记住几个MV标志,因为您会经常用到它们。
有选项 -i (交互式)`mv` 命令在覆盖现有目标目录之前会询问您。例如,如果目标目录与要移动的目录同名,`mv` 命令会要求您确认,确认后您才能进行操作。 y / n 继续或取消。
旗 -f (力)的作用恰恰相反: 他什么也不问,就随意覆盖。在自动化脚本中或者当你确定目标可以被覆盖时,它很有用,但如果你在学习,最好不要轻易使用它。
选择 -u 只有当源文件比目标文件新,或者目标文件尚不存在时,才会移动或重命名文件。如果您正在同步目录并希望避免不必要的替换操作,这将非常有用。
最后,选项 -v (verbose)会让 mv 在屏幕上显示它在每个步骤中执行的操作。也就是说,你会看到类似这样的输出: 重命名为“img”->“images”这对于跟踪涉及多个文件的操作非常有用。
如何在 Linux 系统中使用 mv 工具重命名文件夹
要在不移动目录的情况下重命名目录,只需指定当前名称和新名称即可。基本方法是: mv old_folder new_folder始终位于该文件夹的父目录中。
想象一下你有一个名为“ IMG 在您的项目中,您想要将其重命名为 图片如果您已在项目目录中,只需运行 mv 图片 你很快就会和旧名字说再见了。
分布式文件系统:8 个关键要点如果您想查看更具体的示例,可以先列出内容。 ls -l请参阅目录 IMG,执行命令 mv -v img 图片 并再次核实 ls -l 现在只剩下 图片后缀 -v 它会显示重命名消息,以免产生任何疑问。
重要的是要关注一个起初常常引起混淆的细节: 重命名目录时,不要在目录名称末尾添加“/”。也就是说,写 mv 图片 而不是 mv img/ 图片/因为在这种情况下,末尾的斜杠是不必要的,如果与其他路径混合使用,可能会导致错误。
同时重命名并移动文件夹
MV的优势之一是它允许你 将目录移动到另一个路径,并顺便重命名一下。 只需一条命令即可完成。这在重组大型项目或清理服务器结构时非常有用。
假设你有一个名为“文件夹”的文件夹 旧项目 在您当前目录中,并且您想将其移动到 /home/user/工作区 重新命名 新项目命令如下所示: mv OldProject /home/user/Workspace/NewProject.
如果您只想在保持名称不变的情况下向上移动一级目录,可以使用相对路径。例如,要移动文件夹 IMG 只需将其复制到父目录而不更改名称即可。 mv img ../img。 在这种情况下, .. 它的意思是“上一级目录”。
你也可以把它移动到另一个文件夹,顺便重命名一下。如果你有一个文件夹 档 在您的项目中,您希望重命名 img 文件 图片 在文件中,您可以使用 mv 图片文件/图像执行完毕后,最终路径大致如下: ./files/images.
请记住,当您在不同位置之间移动目录时,如果源文件系统和目标文件系统相同,`mv` 命令会非常快速地更改引用;但如果 它们位于不同的文件系统中该操作相当于复制所有内容,然后删除原始文件,如果文件夹很大,这可能需要相当长的时间。
使用 SSH 重命名远程服务器上的目录和文件。
在生产环境和Web开发环境中,通过SSH访问Linux服务器是非常常见的。从那时起,在终端中执行的所有命令都会影响服务器上的文件,因此 远程重命名文件夹与本地重命名文件夹的操作相同。.
要连接到服务器,通常使用类似这样的命令: ssh your-user@your-server身份验证成功后,您将看到远程提示符并能够使用它进行导航。 cd,列出 ls 并重命名目录 mv old_folder new_folder 完全一样。
与本地机器相比,唯一的实际区别在于您需要更加小心,因为…… 重命名错误 在生产环境中,它可能会破坏应用程序、脚本、符号链接或内部系统配置中使用的路径。
将MV与风险最小化结合起来是个好主意。 ls 每次操作前后,除了拉动之外,还要进行其他操作。 mv -i 当可能覆盖现有文件时,系统会提示您确认。使用绝对路径也有助于避免与当前目录产生冲突。
重命名脚本、服务或 Web 应用程序使用的文件夹或文件时,请检查是否存在任何冲突。 使用旧名称编码的路线如果存在,请更新它们以指向新名称,避免出现 404 错误、资源加载失败或服务无法启动的情况。
在Linux系统中,使用cp命令复制目录后再重命名。
虽然 mv 命令允许你直接重命名,但在很多情况下,为了安全起见,你更倾向于先复制一份文件再修改原文件。这时就需要用到该命令了。 cp负责复制文件和目录。
cp 的基本语法可以概括为: cp 始发地 目的地如果源文件是一个文件,那就没什么复杂的;但如果要复制整个文件夹,则有一个重要的细节:必须使用相应的选项。 -r o -R 这样,复制过程就是递归的,并且包含其所有内容。
例如,如果您需要复制文件夹 字体 在同一地点,使用不同的名称,你可以这样做: cp -r fonts/fonts2`fonts` 后面的斜杠建议用来明确表明这是一个目录,尽管 `cp` 通常也能起到类似的作用;无论如何,许多指南都推荐这种格式。 避免解释错误.
如果要将同一个文件夹从一个目录复制到另一个目录,请根据需要使用相对路径或绝对路径。一个典型的例子是: cp -r fonts/ ../fonts2这会将字体文件夹复制到父目录,并将其命名为 fonts2,同时保持原文件完整无损。
在CP选项中,最常见的是 -i (覆盖前请先确认) -v (开启详细模式以查看进度)当然,还有 -r/-R 用于指示目录中的递归。您可以使用以下命令查看其余内容。 人cp o cp –帮助 如果您想进一步微调副本。
在 Linux 系统中使用 mv 命令重命名文件
我们之前看到的关于目录的所有规则同样适用于单个文件:mv 命令既可以移动文件,也可以移动其他文件…… 重命名文件语法几乎完全相同,只是是在文件级别。
计算机系统组件如果您位于包含该文件的目录中 文件1.txt 你想让它被称为 文件2.txt你只需要跑 mv 文件1.txt 文件2.txt内容本身不会改变,改变的只是文件系统中代表它的名称。
如果您不在正确的目录中,请先使用以下命令导航: cd 或者你可以在命令中指定完整路径。你可以这样做: cd /home/user/docs/files 进而 mv 文件1.txt 文件2.txt或直接 mv /home/user/docs/files/file1.txt /home/user/docs/files/file2.txt.
举个例子,用 mv 重命名文件在概念上等同于“将其复制到新名称 并删除原始文件”,尽管文件系统内部会以更高效的方式管理它,而不会重复数据。
与文件夹一样,如果您在不同的文件系统之间移动文件,`mv` 会在内部创建一个副本,然后删除原始文件;如果文件保留在同一个系统中, 仅更改内部引用 操作瞬间完成。
使用循环和查找功能一次性重命名多个文件。
mv 本身没有特定的选项 批量重命名多个文件但它与 Linux shell 配合使用效果极佳,因此您可以将其与 for、while 循环或 find 命令结合使用,以进行批量重命名。
一个典型的例子是更改一组文件的扩展名。如果您想将当前目录中的所有 .txt 文件更改为 .pdf 文件,可以使用如下所示的 for 循环: for f in *.txt; do mv — «${f}» «${f%.txt}.pdf»; donated在这里,遍历每个以 .txt 结尾的文件,将 .txt 部分“剪切”并替换为 .pdf。
这种类型的循环非常灵活,几乎可以实现任何你能用 shell 语法表达的名称转换。但是,建议…… 首先在测试目录中进行测试 如果您还不熟悉参数展开,请避免出现问题。
你也可以使用 发现 查找符合特定条件(按名称、类型、日期等)的文件,并使用 `-exec` 操作或 `while` 循环对它们执行 `mv` 命令,然后读取结果。这对于以下情况非常有用: 大型目录结构中更复杂的重命名.
如果这一切听起来有点高级,别担心:随着时间的推移,你会发现将MV与循环结合起来可以节省你很多工作,并允许你…… 自动执行重复性任务 只需几行 shell 脚本。
重命名命令:高级批量重命名
除了 mv 之外,许多发行版还有一个叫做 的工具 重命名 它是专门为……而设计的 以非常强大的方式重命名整批文件使用 Perl 正则表达式。
该命令并非总是预装的,但添加它非常简单。在 Debian、Ubuntu、Linux Mint 及其衍生版本中,您可以使用 sudo apt安装重命名在 CentOS 或 RHEL 中,通常的做法是 sudo yum install rename在 Arch Linux 中,软件包类似 perl-rename 来自 AUR(例如使用 yay 或 yaourt)。
重命名的典型语法如下所示: 重命名“s/old_pattern/new_pattern/”文件引号内的内容是 Perl 替换正则表达式,其中“s/this/for_this_other/”表示要查找的模式以及要用什么替换它。
例如,如果您在名为“ file1.txt、file2.txt、file3.txt、file4.txt 和 file5.txt (你可以快速完成的事情) mkdir filetorename; cd filetorename; touch file{1..5}.txt),你可以直接将 file1.txt 重命名为 newfile1.txt 重命名 's/file1/newfile1/' file1.txt.
如果您需要将所有 .txt 文件的扩展名更改为 .php,类似这样的代码就足够了: 重命名 's/.txt/.php/' *.txt运行命令后,您可以检查发生了什么。 ls 确保所有名称都已按预期转换。
重命名的实际示例:大写字母、小写字母和空格
重命名的一个优点是,由于 Perl正则表达式它允许进行一些非常具体的转换,而这些转换如果使用简单的循环和移动操作会非常繁琐。以下是一些值得注意的典型用例。
如果您想将目录中的所有文件名转换为 大写字母你可以运行类似这样的命令 重命名 'y/az/AZ/' *此语法使用音译操作“and”,将每个小写字母替换为其对应的大写字母。
相反的做法,即将所有名字移到 小写,命令是 重命名 'y/AZ/az/' *当你遇到大小写字母混用严重失控的系统时,这会很有帮助。
另一个常见问题是文件名中包含空格,这在终端中工作时会非常麻烦。您可以使用类似这样的方法将空格替换为下划线: 重命名 'y/ /_/' *这样就避免了用反斜杠或引号转义空格。
如果要修改的文件位于另一个目录中,您也可以直接传递路径进行重命名,例如: 重命名 's/.txt/.php/' 文件/路径这样就无需在运行命令前更改目录。
要查看您的重命名版本支持的所有选项,建议运行以下命令: 重命名 -帮助 或者查阅其手册页。请注意,`rename` 命令在不同发行版中可能有所不同,因此最好始终检查系统上可用的确切语法。
交易处理系统的属性不再需要重命名工具时,请将其删除。
如果你在任何时候决定不想拥有 重命名 一旦安装到您的系统中(例如,因为在生产服务器上您更喜欢限制可用工具),您可以使用安装它时使用的同一个软件包管理器轻松卸载它。
在基于 Debian 的发行版(例如 Ubuntu 或 Linux Mint)上,您可以运行 sudo apt remove rename这将删除该软件包,使其在终端中不可用,不过如果您以后需要它,可以随时重新安装。
在 CentOS、RHEL 及其衍生版本中,删除软件包的等效命令通常是 sudo yum remove rename这将从系统中移除批量重命名工具。
无论如何,即使没有安装 Rename 插件,您始终可以选择…… 使用 mv 命令重命名目录和文件 如果需要,还可以编写自己的 shell 脚本来自动化更复杂的任务。
关键在 选择最适合的工具 根据你的工作流程和操作环境而定:在个人电脑上,安装所有功能可能很有意义;而在非常关键的服务器上,你可能更喜欢只安装少量的附加命令。
使用 rm 删除文件和目录时:清理时要小心
在任何文件整理操作中,通常都会遇到需要删除不再需要的文件的情况。在 Linux 系统中,负责执行此操作的命令是 。 rm它允许您删除单个文件和整个目录。
rm 的通用语法可以写成如下形式: 删除文件…如果您只想删除单个文件,例如旧的日志文件,只需执行以下简单操作: 删除文件.log 只要你拥有必要的许可证,它就能胜任这项工作。
要操作目录,您需要使用该选项。 -r o -R这会激活递归删除。例如: rm -r 文件夹 它会尝试删除文件夹及其所有内容(包括子目录和文件),但除非您添加更多标记,否则不会对每个项目征求确认。
如果您想更进一步,即使存在限制或只读文件也强制删除,可以使用以下组合 rm -rf 文件夹它结合了递归和“强制”。它非常强大,但也非常危险: 这条命令如果出错,可能会导致机器一半的数据丢失。.
因此,在您更倾向于谨慎行事的环境中,最好将两者结合起来使用。 -r 同 -i这样,`rm`命令就会询问你是否要删除每个文件或目录。类似这样 rm -ri 文件夹 它会强制您确认每一步操作,从而降低误删不该删除的内容的风险。
使用 rm 命令删除空目录和其他详细信息。
除了 rm 之外,还有一个叫做 rm 的特定命令。 命令rmdir 其唯一功能是 删除空目录如果目录内有内容,rmdir 命令将会失败并警告您,由于目录不为空,因此无法删除该目录。
因此,如果您要清理已知不再包含文件的文件夹(例如,在将其内容移动到其他位置之后),rmdir 是一个稍微安全一些的选择。要查看其所有选项,您可以运行 rmdir 手册 从终端。
回到RM,除了 -i、-f、-r/-R y -v (要列出它正在删除的内容),请记住您可以使用 通配符如 * 和 ? 选择文件组。一个典型的例子是使用类似这样的命令删除目录中的所有 .txt 文件。 rm * .txt.
也可以通过显式指定来一次性删除多个文件,例如 删除文件1.log、文件2.log和文件3.log这样可以避免你在明确知道要删除哪些文件时多次输入 rm 命令。
总之,无论何时使用通配符或 `-r` 参数运行 `rm` 命令,都建议在按下回车键之前仔细检查命令,如果可能的话,最好执行一次检查。 ls 首先检查哪些文件与您使用的模式匹配。
主 rm、mv、cp 而且,在需要时,重命名功能可以让您在 Linux 桌面和远程服务器上流畅地工作,重命名文件夹和文件,移动、复制或删除它们,而无需依赖图形环境,并且可以安心地随时了解自己正在做什么。
相关文章:如何一步步整理NAS上的ROM收藏
目录
基本概念:Linux 中的目录、路径和终端mv 命令:在 Linux 中移动和重命名目录mv 命令的更多实用选项如何在 Linux 系统中使用 mv 工具重命名文件夹同时重命名并移动文件夹使用 SSH 重命名远程服务器上的目录和文件。在Linux系统中,使用cp命令复制目录后再重命名。在 Linux 系统中使用 mv 命令重命名文件使用循环和查找功能一次性重命名多个文件。重命名命令:高级批量重命名重命名的实际示例:大写字母、小写字母和空格不再需要重命名工具时,请将其删除。使用 rm 删除文件和目录时:清理时要小心使用 rm 命令删除空目录和其他详细信息。