一天一个Linux基础命令之切换目录移动命令mv

mv:移动文件或目录

1、命令格式

mv     [option]    SRC(源目录或文件)    DEC(目标目录)

2、命令功能

mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。

mv 命令的第二个参数是文件或目录时,mv命令完成重命名或者移动文件,如果重命名,源文件只能有一个(也可以是目录名),当如果是移动文件,源文件可以为多个,目标目录只能一个,在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3、常用选项

-b:移动之前如果移动的目标文件存在则先备份目标文件,再移动

-f:强制移动,有文件相同覆盖不提示

-i:交互式移动,用于有目标文件存在时,询问管理员

-n:如果目标文件存在则不覆盖目标文件

-t:用于源文件有多个的情况下,此时目标文件在前,源文件或目录在后

-u:移动文件时如果目标文件比源文件新,则不移动

-v,--verbose:显示详细信息

--help:帮助

--version:显示命令版本

4、常用范例

例1:移动脚本info.sh到/sh目录中

命令:mv info.sh /sh

[[email protected]~]# ls
anaconda-ks.cfg  iflogin.sh info.sh  install.log  install.log.syslog  yum.log
[[email protected]~]# mv info.sh /sh
[[email protected]~]# ls /sh/
info.sh
[[email protected]~]#

例2:将/sh目录下的info.sh改名,改为userinfo.sh

命令:mv /sh/info.sh /sh/userinfo.sh

[[email protected]~]# mv /sh/info.sh /sh/userinfo.sh
[[email protected]~]# ls /sh
userinfo.sh
[[email protected]~]#

例3:移动多个文件到/sh目录下,并显示移动信息

命令:mv  -v iflogin.shautoadd.sh autodel.sh /sh

[[email protected]~]# ls
anaconda-ks.cfg  autoadd.sh autodel.sh  iflogin.sh  install.log install.log.syslog    yum.log
[[email protected]~]# mv -v autoadd.sh autodel.sh iflogin.sh /sh
`autoadd.sh‘-> `/sh/autoadd.sh‘
`autodel.sh‘-> `/sh/autodel.sh‘
`iflogin.sh‘-> `/sh/iflogin.sh‘
[[email protected]~]# ls /sh/
autoadd.sh  autodel.sh iflogin.sh  userinfo.sh
[[email protected]~]#

通过上面的ls命令得知在当前目录中有3个以sh结尾的文件,并且都是我们要移动的文件所已我们可以用以下命令,也可以实现上面的操作

mv -v *.sh /sh

例4:目标文件存在则备份目标文件,然后把本文件移动过去,并显示详细的移动信息

命令:mv -bv userinfo.sh /sh

[[email protected]~]# ll /sh/
total 8
-rw-r--r--.1 root root 276 Dec 10 22:13 userinfo.sh
[[email protected]~]# ll
total 48
-rw-------.1 root root  1442 Dec  7 21:28 anaconda-ks.cfg
-rw-r--r--.1 root root 27312 Dec  7 21:28install.log
-rw-r--r--.1 root root  7572 Dec  7 21:27 install.log.syslog
-rw-r--r--.1 root root   276 Dec 10 22:12userinfo.sh
-rw-------.1 root root     0 Dec 9 20:39 yum.log
[[email protected]~]# mv -bv userinfo.sh /sh
mv:overwrite `/sh/userinfo.sh‘? y
`userinfo.sh‘-> `/sh/userinfo.sh‘ (backup: `/sh/userinfo.sh~‘)
[[email protected]~]#
[[email protected]~]# ll /sh/
total 12
-rw-r--r--.1 root root 276 Dec 10 22:12 userinfo.sh
-rw-r--r--.1 root root 276 Dec 10 22:13 userinfo.sh~
[[email protected]~]#

例5:目标文件如果存在并且比源文件新,则不移动

命令:mv -uv userinfo.sh /sh

[[email protected]~]# ll
total 52
-rw-r--r--.1 root root 27312 Dec  7 21:28install.log
-rw-r--r--.1 root root  7572 Dec  7 21:27 install.log.syslog
-rw-r--r--.1 root root   276 Dec 10 22:12userinfo.sh
-rw-------.1 root root     0 Dec  9 20:39 yum.log
[[email protected]~]# ll /sh/
total 4
-rw-r--r--.1 root root 276 Dec 10 22:13 userinfo.sh
[[email protected]~]# mv -u userinfo.sh /sh/
[[email protected]~]# ll /sh/
total 4
-rw-r--r--.1 root root 276 Dec 10 22:13 userinfo.sh
[[email protected]~]#

例6:如果文件存在则不移动

命令:mv -n userinfo.sh /sh

[[email protected]~]# ll
total 5
-rw-r--r--.1 root root 27312 Dec  7 21:28install.log
-rw-r--r--.1 root root  7572 Dec  7 21:27 install.log.syslog
-rw-r--r--.1 root root   276 Dec 10 22:12userinfo.sh
-rw-------.1 root root     0 Dec  9 20:39 yum.log
[[email protected]~]# ll /sh/
total 4
-rw-r--r--.1 root root 276 Dec 10 22:13 userinfo.sh
[[email protected]~]#
[[email protected]~]# mv -n userinfo.sh /sh/
 [[email protected] ~]# ll /sh/
total 4
-rw-r--r--.1 root root 276 Dec 10 22:13 userinfo.sh
 [[email protected] ~]#

例7:多个选项同时使用,后选项生效

[[email protected]~]# ll
total 5
-rw-r--r--.1 root root 27312 Dec  7 21:28install.log
-rw-r--r--.1 root root  7572 Dec  7 21:27 install.log.syslog
-rw-r--r--.1 root root   276 Dec 10 22:12userinfo.sh
-rw-------.1 root root     0 Dec  9 20:39 yum.log
[[email protected]~]# ll /sh/
total 4
-rw-r--r--.1 root root 276 Dec 10 22:13 userinfo.sh
[[email protected]~]# mv -v -n -f userinfo.sh /sh/
`userinfo.sh‘-> `/sh/userinfo.sh‘
[[email protected]~]# ll /sh/
total 8
-rw-r--r--.1 root root 276 Dec 10 22:20 userinfo.sh
[[email protected]~]#

例8:移动目录

命令:dir1 dr2

[[email protected]~]# ll test/
total 4
-rw-r--r--.1 root root   0 Dec 10 22:05 autoadd.sh
-rw-r--r--.1 root root   0 Dec 10 22:05 autodel.sh
-rw-r--r--.1 root root 239 Dec  9 21:25 iflogin.sh
[[email protected]~]# ll /sh/
total 8
-rw-r--r--.1 root root  276 Dec 10 22:20 userinfo.sh
-rw-r--r--.1 root root  276 Dec 10 22:13userinfo.sh~
[[email protected]~]# mv test/ /sh/test
[[email protected]~]# ll /sh/
total 12
drwxr-xr-x.2 root root 4096 Dec 10 22:29 test
-rw-r--r--.1 root root  276 Dec 10 22:20 userinfo.sh
-rw-r--r--.1 root root  276 Dec 10 22:13userinfo.sh~
[[email protected]~]#

说明:

如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中。

时间: 2024-07-30 13:51:56

一天一个Linux基础命令之切换目录移动命令mv的相关文章

[linux服务器][bash]让切换目录更方便

本文转载:[linux服务器][bash]让切换目录更方便: 一,为何要使用这几个命令?   可能大家会有疑问,为何要使用这几个命令,   难道用cd不就可以切换目录了吗?   没错,使用cd就可以切换到需要访问的目录,   但是有时会是一个路径很长,层次很多的目录,进到此目录下后,这时我们不小心运行了 cd命令,   理所当然,我们回到了自己的home目录,这时如果想回去怎么办? 还有:因为工作的需要,我们需要不停在几个很深层的目录之间切换,不止一个,   那么即使有tab键帮忙,我们也会因为

总结五:Linux文件系统之层次结构及目录管理命令

总结五:Linux文件系统之层次结构及目录管理命令 1.FHS:(Filesystem Hierarchy Standard)--文件系统层次结构标准 /bin,/sbin:系统自身启动和运行时可能会用到的核心二进制命令 /lib:共享库文件和内核模块 /lib64:共享库文件和内核模块 /etc:配置文件 /usr:universal shared read-only /usr/bin,/usr/sbin:系统运行中,用户为完成某些操作可能用到的命令 /usr/lib,/usr/lib64:库

linux命令集——<一>目录处理命令

1.ls,命令,显示当前目录下文件  命令  所在路径      功能描述           执行权限  选项 ls      /bin/ls     显示目录文件    所有用户可用 -a    显示所有文件,包括隐藏文件  -l    显示详细信息    简写:ll  -d    查看目录属性  -i     查看文件唯一标识    i节点号 注:隐藏文件——以“.”开头的就是隐藏文件,此类文件都是系统文件不要删除 文件类型:“-”    二进制文件:“d”   目录:“l”    软连接

一天一个Linux基础命令之查看文件内容less

less      查看文件内容 1.命令格式 less [options] file... 2.命令功能 Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回浏览以看过的部分. less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,就可以使用[pageup]| [ b][pagedown]| [空格]等按键的功能来往前往后翻看文件,更容易用来查看一个文件

一天一个Linux基础命令之目录管理类命令ls

ls 列出目录内容 1.命令格式 ls [option]   [目录名] 2.命令功能 显示当前目录内容,如果ls指定其他目录,那么就会显示指定目录里的文件及目录. 通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限),查看目录信息等等. 3.常用参数 -A,打印目录中的所有文件包括隐藏文件,但不包括.和.. -a:显示目录中的所有文件,包括隐藏文件 .表示当前目录 ..表示父目录 -l:用长格式打印目录中的文件和目录(文件类型.权限.硬链接次

一天一个Linux基础命令之文件查看命令more

more:查看文件内容并分屏显示 1.命令格式 more [-d] [-num] [+/pattern] [+linenum] [file...] 2.命令功能 Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h . 3.命令参数 -num:每屏显示几行,默认显示满屏 +num:从num行开始

一天一个linux基础命令之时间日期命令date

时间日期命令:date 1.命令格式: date [OPTION]... [+FORMAT]        date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]] 2.命令功能 打印不同格式的时间或日期,以及要根据时间和日期执行操作.日期可以以多种格式去打印,也可以使用命令设置固定的格式.在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数. 3.常用选项 -d "String"

一天一个Linux基础命令之目录管理类命令cd

cd 切换目录命令 1.命令格式 cd  [option]     [目录名] 2.命令功能 切换工作目录 3.常用范例 例1:cd  ~ 说明:~默认为root的家目录,如果~后面加入用户名,则可以进入指定用户的家目录 [[email protected] ~]# [[email protected] ~]# cd / [[email protected] /]# pwd / 说明:进入系统根目录,上面命令执行完后拿pwd命令看一下,当前目录已经到系统根目录了 . [[email protec

linux基础学习-18-linux三剑客之awk命令精讲

快捷跳转目录: * 第1章:awk基础入门       * 1.1:awk简介 * 1.2:学完awk你可以掌握: * 1.3:awk环境简介 * 1.4:awk的格式 * 1.5:模式动作 * 1.6:awk的执行过程 * 1.6.1:小结awk执行过程 * 1.7:记录和字段 * 1.7.1:记录(行) * 1.7.2:记录分隔符-RS * 1.7.3:对$0的认识 * 1.7.4:企业面试题 * 1.7.5:awk记录知识小结 * 1.7.6:字段(列) * 1.7.7:ORS与OFS简介