日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

【Linux】一步一步学Linux——mv命令(30)

發布時間:2024/4/21 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Linux】一步一步学Linux——mv命令(30) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00. 目錄

文章目錄

    • 00. 目錄
    • 01. 命令概述
    • 02. 命令格式
    • 03. 常用選項
    • 04. 參考示例
    • 05. 附錄

01. 命令概述

mv命令是“move”單詞的縮寫,其功能大致和英文含義一樣,可以移動文件或重命名文件。經常用來備份文件或者目錄。

02. 命令格式

mv [選項]... 源文件 目標文件 mv [選項]... 源文件... 目錄 mv [選項]... --target-directory=DIRECTORY SOURCE...

03. 常用選項

將源文件重命名為目標文件,或將源文件移動至指定目錄。長選項必須使用的參數對于短選項時也是必需使用的。--backup[=CONTROL] 為每個已存在的目標文件創建備份-b 類似--backup 但不接受參數-f, --force 覆蓋前不詢問-i, --interactive 覆蓋前詢問-n, --no-clobber 不覆蓋已存在文件 如果您指定了-i、-f、-n 中的多個,僅最后一個生效。--strip-trailing-slashes 去掉每個源文件參數尾部的斜線-S, --suffix=SUFFIX 替換常用的備份文件后綴-t, --target-directory=DIRECTORY 將所有參數指定的源文件或目錄移動至 指定目錄-T, --no-target-directory 將目標文件視作普通文件處理-u, --update 只在源文件文件比目標文件新,或目標文件不存在時才進行移動-v, --verbose 詳細顯示進行的步驟--help 顯示此幫助信息并退出--version 顯示版本信息并退出備份文件的后綴為"~",除非以--suffix 選項或是SIMPLE_BACKUP_SUFFIX 環境變量指定。版本控制的方式可通過--backup 選項或VERSION_CONTROL 環境 變量來選擇。以下是可用的變量值:none, off 不進行備份(即使使用了--backup 選項)numbered, t 備份文件加上數字進行排序existing, nil 若有數字的備份文件已經存在則使用數字,否則使用普通方式備份simple, never 永遠使用普通方式備份

04. 參考示例

4.1 重命名文件

[itcast@localhost test]$ ls passwd [itcast@localhost test]$ mv passwd password [itcast@localhost test]$ ls password [itcast@localhost test]$

4.2 移動文件到指定目錄中

[itcast@localhost test]$ ls password [itcast@localhost test]$ mkdir dir [itcast@localhost test]$ mv password dir/ [itcast@localhost test]$

4.3 批量移動文件到指定目錄中

[itcast@localhost test]$ mv a b c d dir/ [itcast@localhost test]$ tree dir dir ├── a ├── b ├── c ├── d └── password0 directories, 5 files [itcast@localhost test]$

4.4 批量移動文件到指定目錄中 -t選項

[itcast@localhost test]$ ls a b c d dir [itcast@localhost test]$ mv -t dir a b c d [itcast@localhost test]$ tree dir dir ├── a ├── b ├── c └── d0 directories, 4 files

4.5 覆蓋前詢問

當移動文件時,目標位置恰好有同名文件,這時 mv 命令會覆蓋掉原來的文件。如果想產生一個關于覆蓋文件的提示,可以使用 -i 選項。

[itcast@localhost test]$ ls a dir passwd [itcast@localhost test]$ mv -i passwd a mv:是否覆蓋"a"? y [itcast@localhost test]$

該提示會告訴我們目標位置處是否有同名文件。如果按 y 鍵,那么該文件將會被覆蓋,否則不會。

4.6 覆蓋前不詢問

[itcast@localhost test]$ ls a dir passwd [itcast@localhost test]$ mv -f passwd a [itcast@localhost test]$ ls a dir [itcast@localhost test]$

4.7 移動目錄

[itcast@localhost test]$ ls a dir [itcast@localhost test]$ mkdir dir1 [itcast@localhost test]$ ls a dir dir1 [itcast@localhost test]$ mv dir1/ dir [itcast@localhost test]$ ls a dir [itcast@localhost test]$

如果目錄dir不存在,將目錄dir1改名為dir;否則,將dir1移動到dir中。

4.8 移動當前文件夾下的所有文件到上一級目錄

[itcast@localhost test]$ ls a dir [itcast@localhost test]$ mv * ../ [itcast@localhost test]$ ls [itcast@localhost test]$ ls ../ a dir password test 公共 模板 視頻 圖片 文檔 下載 音樂 桌面 [itcast@localhost test]$

4.9 將當前dir目錄中b文件移動到當前目錄中

[itcast@localhost test]$ mv dir/b ./ [itcast@localhost test]$ ls a b dir [itcast@localhost test]$

4.10 創建備份文件

默認情況下,移動文件將會覆蓋已存在的目標文件。但是如果移動錯了文件,而目標文件已經被新的文件覆蓋了,這時應該怎么辦才好呢?可以用 -b 選項,該選項會在新文件覆蓋舊文件時將舊文件做備份。

[itcast@localhost test]$ ls a a.bak~ dir [itcast@localhost test]$ mv -bv a dir/ "a" -> "dir/a" (備份:"dir/a~") [itcast@localhost test]$ ls dir/ a a~ a.bak c d dir1 [itcast@localhost test]$

-b 不接受參數,mv會去讀取環境變量VERSION_CONTROL來作為備份策略。

–backup該選項指定如果目標文件存在時的動作,共有四種備份策略:

VERSION_CONTROL=none或off : 不備份。

VERSION_CONTROL=numbered或t:數字編號的備份

VERSION_CONTROL=existing或nil:如果存在以數字編號的備份,則繼續編號備份m+1…n:

執行mv操作前已存在以數字編號的文件log2.txt.1,那么再次執行將產生log2.txt2,以次類推。如果之前沒有以數字編號的文件,則使用下面講到的簡單備份。

VERSION_CONTROL=simple或never:使用簡單備份:在被覆蓋前進行了簡單備份,簡單備份只能有一份,再次被覆蓋時,簡單備份也會被覆蓋。

4.11 詳細顯示進行的步驟

[itcast@localhost test]$ ls a.bak a.bak~ dir [itcast@localhost test]$ mv -v a.bak dir/ "a.bak" -> "dir/a.bak" [itcast@localhost test]$

4.12 更新選項

只在源文件文件比目標文件新,或目標文件不存在時才進行移動

[itcast@localhost test]$ ls -l a.bak dir/a.bak -rw-rw-r-- 1 itcast itcast 0 7月 12 23:33 a.bak -rw-rw-r-- 1 itcast itcast 0 7月 12 23:26 dir/a.bak [itcast@localhost test]$ mv -u a.bak dir/ [itcast@localhost test]$ ls -l dir/a.bak -rw-rw-r-- 1 itcast itcast 0 7月 12 23:33 dir/a.bak [itcast@localhost test]$

4.13 不覆蓋已存在文件

[itcast@localhost test]$ ls dir/ a a.bak c d dir1 [itcast@localhost test]$ ls a a.bak~ dir [itcast@localhost test]$ mv -n a dir/ [itcast@localhost test]$ ls a a.bak~ dir [itcast@localhost test]$

05. 附錄

參考:【Linux】一步一步學Linux系列教程匯總

總結

以上是生活随笔為你收集整理的【Linux】一步一步学Linux——mv命令(30)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。