每日一個linux命令06-mv

1. 命令解析

命令用途

重命名文件/目錄,移動文件/目錄

命令格式

重命名文件/目錄 mv [OPTIONS]... SROUCE DEST

移動文件/目錄至DIRECTORY mv [OPTIONS]... SROUCE... DIRECTORY

移動文件/目錄至DIRECTORY mv [OPTIONS]... -t DIRECTORY SROUCE...

命令參數

-b 若目標文件已存在,在覆蓋前先備份目標文件
-f, --force 強制刪除,不提示用戶 危險!慎用!
-i, --interactive 覆蓋前提示用戶
-n, --no-clobber 不覆蓋已存在的文件
若-fin 三者同時使用,僅最后一個參數生效

-S, --suffix=SUFFIX 指定備份文件的后綴,默認為~
如命令 mv -b --suffix=.back a b,執行過后,文件b的備份為b.back
-t,--target-directory=DIRECTORY 標準目錄選項,把所有SOURCE參數文件移動到目錄DIRECTORY

-u, -update 僅在在目標文件不存在時移動或源文件比目標文件新時覆蓋

2. 示例

2.1 移動文件,若目標文件已存在則備份之


[root@test mvTest]# ls
a  b  c  d1  {d1  d2  d3
[root@test mvTest]# mv -b a b
mv: overwrite `b'? y
[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3

2.2 不覆蓋已存在的文件

[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3
[root@test mvTest]# mv -n b c;
[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3

2.3 參數覆蓋

[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3
[root@test mvTest]# mv -fin b c;
[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3

2.4 改寫備份文件后綴

[root@test mvTest]# ls
b  b~  c  d1  {d1  d2  d3
[root@test mvTest]# mv b c;
mv: overwrite `c'? n
[root@test mvTest]# mv -b -S ! b c
mv: overwrite `c'? y
[root@test mvTest]# ls
b~  c  c!  d1  {d1  d2  d3

2.5 移動一組文件

[root@test mvTest]# ls
b~  c  c!  d1  d2  d3  f1  f2  f3
[root@test mvTest]# mv f1 f2 f3 d2
[root@test mvTest]# ls
b~  c  c!  d1  d2  d3
[root@test mvTest]# tree d2
d2
├── f1
├── f2
└── f3

0 directories, 3 files

2.6 使用標準目錄選項移動一組文件

[root@test mvTest]# ls
b~  c!  d1  d2  d3
[root@test mvTest]# ls d2/
c  f1  f2  f3
[root@test mvTest]# mv -t d3 d1/b d2/c
[root@test mvTest]# tree d3
d3
├── b
└── c


0 directories, 2 files
[root@test mvTest]# ls
b~  c!  d1  d2
[root@test mvTest]# mv -t b~ d2
mv: target `b~' is not a directory

2.7 更新后移動文件

[root@test mvTest]# ls
a  b  b~  c  c!  d1  d2
[root@test mvTest]# touch a
[root@test mvTest]# ll
total 8
-rw-r--r-- 1 root root    0 Apr 10 20:22 a
-rw-r--r-- 1 root root    0 Apr 10 20:20 b
-rw-r--r-- 1 root root    0 Apr 10 19:30 b~
-rw-r--r-- 1 root root    0 Apr 10 20:20 c
-rw-r--r-- 1 root root    0 Apr 10 19:30 c!
drwxr-xr-x 4 root root 4096 Apr 10 20:18 d1
drwxr-xr-x 2 root root 4096 Apr 10 20:18 d2
[root@test mvTest]# mv -u b a;
[root@test mvTest]# ll
total 8
-rw-r--r-- 1 root root    0 Apr 10 20:22 a
-rw-r--r-- 1 root root    0 Apr 10 20:20 b
-rw-r--r-- 1 root root    0 Apr 10 19:30 b~
-rw-r--r-- 1 root root    0 Apr 10 20:20 c
-rw-r--r-- 1 root root    0 Apr 10 19:30 c!
drwxr-xr-x 4 root root 4096 Apr 10 20:18 d1
drwxr-xr-x 2 root root 4096 Apr 10 20:18 d2
[root@test mvTest]# mv -u a b;
mv: overwrite `b'? y
[root@test mvTest]# ll
total 8
-rw-r--r-- 1 root root    0 Apr 10 20:22 b
-rw-r--r-- 1 root root    0 Apr 10 19:30 b~
-rw-r--r-- 1 root root    0 Apr 10 20:20 c
-rw-r--r-- 1 root root    0 Apr 10 19:30 c!
drwxr-xr-x 4 root root 4096 Apr 10 20:18 d1
drwxr-xr-x 2 root root 4096 Apr 10 20:18 d2
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1、Linux上的文件管理命令有哪些以及常用方法shell:shell負責接收用戶輸入的命令并進行解釋,將需要執行...
    乀koala閱讀 804評論 0 3
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,218評論 2 33
  • Linux指令大全 1.cat 使用權限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help...
    muyang_js的簡書閱讀 2,846評論 0 12
  • 由于公司是使用Jenkins+SVN進行版本控制的,所以每次版本升級都需要使用Linux常用的一些命令。 1.su...
    許小小晴閱讀 7,324評論 0 4
  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,560評論 9 467