简明Linux命令行笔记:mv
重命名、覆盖或移动文件
mv [options] existing-file new-filename
mv [options] existing-file-list directory
mv [options] existing-directory new-directory
参数
第一种形式:existing-file 是需要重命名的文件路径; new-filename 是文件的新路径名,用于重命名或覆盖
第二种形式:existing-file 是需要移动的文件路径列表; directory 是文件需要移动到的新目录,用于移动
第三种形式:existing-file 是需要重命名的目录路径; new-directory 是目录的新路径名,用于重命名或覆盖
选项
-b 如果已存在相同文件名,则覆盖前进行备份
-f 如果已存在相同文件名,而用户不具有写的权限,则强制覆盖
-i 如果已存在相同文件名,覆盖前提示用户进行确认
-u 比较原文件与目标文件修改时间,如果目标文件较新则不覆盖
-v 列出所有被移动或重命名的文件
示例
mv
$ mv demo1.txt demo2.txt
$ ls
demo2.txt
重命名文件
mv -i
$ ls
demo2.txt demo.txt
$ mv demo2.txt -i demo.txt
mv:是否覆盖"demo.txt"? y
对已存在的文件覆盖前进行确认,y或Y开头的字符串表示确定,其余任意字符表示否定
mv 不具备写权限的文件名

$ ls -l
总用量 0
-rw-r--r-- 1 root root 0 1月 8 13:31 cc
-rw-r--r-- 1 siu siu 0 1月 8 13:24 dd
$ mv dd cc
mv:是否覆盖"cc",而不理会权限模式0644 (rw-r--r--)? y
$ ls
cc

此处cc的所有人和组都是root,而我当前用户是siu,覆盖时会要求确认
mv -f 不具备写权限的文件名

$ ls -l
总用量 0
-rw-r--r-- 1 root root 0 1月 8 13:34 aa
-rw-r--r-- 1 siu siu 0 1月 8 13:34 bb
$ mv bb -f aa
$ ls
aa

与上面一样,只不过此处加了 -f 选项,覆盖时强制执行而不提示
mv 移动目录

$ ls
abc cde
$ mv cde abc
$ ls
abc
$ cd abc/
$ ls
cde

此处将cde目录移动到abc目录中
mv 重命名目录
$ ls
abc
$ mv abc dir
$ ls
dir
此处将abc目录重命名为dir目录,mv abc ../可将abc移动到父目录,此处灵活多变
mv -u

$ ls -l
总用量 0
-rw-r--r-- 1 siu siu 0 1月 8 13:43 time1.txt
-rw-r--r-- 1 siu siu 0 1月 8 13:44 time2.txt
$ mv time1.txt -u time2.txt
$ ls
time1.txt time2.txt

确认修改时间再判断是否覆盖,此处time2.txt的修改时间比time1.txt的修改时间新,所以覆盖失败
mv -v
$ mv time1.txt -v time2.txt
"time1.txt" -> "time2.txt"
$ ls
time2.txt
列出移动或覆盖时的信息
mv -b
$ mv -b aa.txt bb.txt
$ ls
bb.txt bb.txt~
覆盖时进行备份,所备份的文件尾部有个~
Tips
1.在Linux中,覆盖和重命名的概念几乎是一样的,没有Windows中所谓的rename这一说法
2.选项你可以写在任意位置,可以mv aa -v bb,也可以 mv -v aa bb,还可以 mv aa bb -v
简明Linux命令行笔记:mv的更多相关文章
- 简明Linux命令行笔记:touch
创建文件或修改文件时间 touch [options] file-list 参数 file-list是touch将要创建或更新的文件路径名 选项 -a 只更新访问 ...
- Linux命令行下cp,rm,mv命令的使用
以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...
- 【读书笔记】Linux命令行与Shell脚本编程大全
Linux命令行与Shell脚本编程大全 5.2 shell 的父子关系 命令分组 Command Grouping 主要有两种形式: 一种以小括号包括,命令之间以冒号分隔.也被称为 进程列表: 注意 ...
- Linux命令行与命令
Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶 ...
- 给新手的 10 个有用 Linux 命令行技巧
我记得我第一次使用 Linux 的时候,我还习惯于 Windows 的图形界面,我真的很讨厌 Linux 终端.那时候我觉得命令难以记忆,不能正确使用它们.随着时间推移,我意识到了 Linux 终端的 ...
- [转]使用Linux命令行测试网速
装speedtest-cli speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测 ...
- linux命令学习笔记
操作文件和文件夹: copy: $ cp file1 file2 $ cp -r dir1 dir2 move: $ mv file .. $ mv file dir/ rename: $ mv fi ...
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- 使用Linux命令行测试网速
安装speedtest speedtest是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.4版本下均可运行.它基于Speedtest.net的基础架构来测量网络的上/下 ...
随机推荐
- 在Ubuntu上单机安装Hadoop
最近大数据比较火,所以也想学习一下,所以在虚拟机安装Ubuntu Server,然后安装Hadoop. 以下是安装步骤: 1. 安装Java 如果是新机器,默认没有安装java,运行java –ver ...
- db2start启动失败
db2start启动失败 [db2inst1@localhost ~]$ db2start db2start: error while loading shared libraries: libaio ...
- Python列表list的用法
#!usr/bin/env python# -*-coding:utf-8-*-#以下方法全在python2.7.x版本运行,请3.x以上的小伙伴们在print(放入括号内执行)#list列表的常用方 ...
- 部署私有Docker Registry和使用
环境 vmware虚拟机 Ip:192.168.190.139 Ip:192.168.190.140 Ip:192.168.0.122 registry Docker 1.12.2 Docker 版本 ...
- JavaScript中知而不全的this
都说 JavaScript 是一种很灵活的语言,这其实也可以说它是一个混乱的语言.它把 函数式编程和 面向对象编程糅合一起,再加上 动态语言特性,简直强大无比(其实是不能和C++比的,^_^ ). 这 ...
- Fiddler进行模拟Post提交数据,总为null解决方式
Fiddler模拟post提交时总是为空,解决办法 如果是表单提交则要在header加上 ContentType:application/x-www-form-urlencoded 如果是要post提 ...
- 微信公众平台开发——微信授权登录(OAuth2.0)
1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户 ...
- 缺陷管理平台mantis安装及配置
软件说明:Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务.在功能上.实用性上足以满足中小型项目的管理及跟踪.更重要的是其开源,不需要负担任何费 ...
- 基于Fast Bilateral Filtering 算法的 High-Dynamic Range(HDR) 图像显示技术。
一.引言 本人初次接触HDR方面的知识,有描述不正确的地方烦请见谅. 为方便文章描述,引用部分百度中的文章对HDR图像进行简单的描述. 高动态范围图像(High-Dynamic Range,简称HDR ...
- GCC 中零长数组与变长数组
前两天看程序,发现在某个函数中有下面这段程序: int n; //define a variable n int array[n]; //define an array with length n 在 ...