Linux 移动目录命令
移动目录是 Linux 开发人员和系统管理员的基本文件管理操作之一。本页介绍如何使用 mv 命令在 Linux 操作系统下使用终端选项移动目录。
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | Linux 终端 |
预计阅读时间 | 3 分钟 |
如何在 Linux 中移动目录
要将 SOURCE 目录移动到 DEST 目录,请使用 mv 命令,如下所示:
mv source dest mv /path/to/source /path/to/dest
如何使用 mv 命令
在此示例中,将 /home/vivek/data/ 目录移动到 /nas/home/vivek/archived/ 目录:
$ mv /home/vivek/data/ /nas/home/vivek/archived/
或者我们也可以使用以下语法。首先,使用 cd 命令更改目录,然后运行 mv 命令:
$ cd /home/vivek/
$ mv data/ /nas/home/vivek/archived/
获取详细输出
要获得详细输出(解释运行 mv 命令时执行的操作),请传递-v以下选项:
$ mv -v /home/vivek/data/ /nas/home/vivek/archived/
您将看到如下输出:
renamed '/home/vivek/data/' -> '/nas/home/vivek/archived'
另一个例子:
$ mv -v /home/vivek/sales/accunting/ /nfs/
如何在 Linux 中移动目录
如何在 Linux 中移动多个目录?
使用以下语法将 dir1 和 dir2 移动到 /path/to/dest/ 目录:
或者使用以下语法将所有 SOURCE 文件夹(dir1 和 dir2)移动到名为 /nas/home/vivek/archived/ 的目标目录中:
$ mv -v dir1 dir2 /path/to/dest/
$ ls -l /path/to/dest/
$ mv -v /home/vivek/dir1/ /home/vivek/dir2/ -t /nas/home/vivek/archived/
覆盖前获取确认
您可以强制 mv 进行交互。换句话说,-i在覆盖文件之前传递确认提示。这是一个安全功能:
输入“y”或“Y”(或“yes”)以确认覆盖:
mv -i dir1 /dest/dir/
mv -i /home/vivek/projectA/ /backups/
mv: overwrite '/backups/ProjectA'? y
如何在 Linux 中移动目录?
假设您想使用命令行将所有目录从 /home/vivek/pythonApp/ 移动到 /var/www/production/ 文件夹,那么您将输入:
mv -v /home/vivek/pythonApp/* /var/www/production/
在某些情况下,您需要成为 root 用户,因此使用 sudo 命令运行命令:
sudo mv -v /home/vivek/pythonApp/* /var/www/production/
示例会话:
renamed '/home/vivek/pythonApp/blog' -> '/var/www/production/blog' renamed '/home/vivek/pythonApp/forum' -> '/var/www/production/forum' renamed '/home/vivek/pythonApp/sales' -> '/var/www/production/sales' renamed '/home/vivek/pythonApp/support' -> '/var/www/production/support'
总结
您学习了使用 mv 命令在 Linux 操作系统下移动目录。获取帮助也很容易。输入 man 命令或 help 命令来阅读安装在您机器上的mv 命令文档:
man mv
mv --help
重要的 mv 命令选项
选项 | 描述 |
---|---|
-f | 覆盖前不提示 |
-i | 覆盖前提示 |
-n | 不要覆盖现有文件 |
-t DIR | 将所有 SOURCE 参数移至 DIR |
-u | 仅当源文件比目标文件新或目标文件丢失时才移动 |
-v | 详细(解释正在做什么) |
-Z | 将目标文件的 SELinux 安全上下文设置为默认类型 |
--help | 获取帮助并退出 CLI |
--version | 显示 GNU/mv 版本信息并退出到 CLI |