一天一個Linux基礎命令之切換目錄移動命令mv

來源:互聯網
上載者:User

標籤: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]~]# lsanaconda-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 /shuserinfo.sh[[email protected]~]#

例3:移動多個檔案到/sh目錄下,並顯示移動資訊

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

[[email protected]~]# lsanaconda-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]~]# lltotal 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 /shmv: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]~]# lltotal 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]~]# lltotal 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]~]# lltotal 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 12drwxr-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中。


本文出自 “linux菜鳥” 部落格,請務必保留此出處http://geekb0y.blog.51cto.com/10743719/1881562

一天一個Linux基礎命令之切換目錄移動命令mv

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.