Linux系統之mv命令的基本使用

Linux系統之mv命令的基本使用

  • 一、mv命令介紹
    • 1. mv命令簡介
    • 2. mv命令的使用結果
  • 二、mv命令的使用幫助
    • 1. 在命令行的幫助信息
    • 2. mv常用選項
  • 三、mv命令的基本使用
    • 1. 創建源目錄和目標目錄
    • 2. 新建測試文件
    • 3. 將源目錄文件復制到目標目錄
    • 4. 將文件進行改名
    • 5. 將目錄的所有文件轉移到目標目錄
    • 6. 移動多個文件到目標目標
    • 7. 移動目錄
    • 8. 覆蓋文件
  • 四、mv的日常使用
    • 1. 提示是否覆蓋文件
    • 2. 覆蓋文件時對源文件備份
    • 3. 強制覆蓋文件
    • 4. 打印轉移信息
    • 5. 源文件比目標文件新時才執行更新
  • 五、注意事項

在這里插入圖片描述

一、mv命令介紹

1. mv命令簡介

mv命令主要是在Linux系統中用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。source表示源文件或目錄,target表示目標文件或目錄。如果將一個文件移到一個已經存在的目標文件中,則目標文件的內容將被覆蓋。

2. mv命令的使用結果

  • mv命令可以用來將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中。源文件被移至目標文件有不同的結果:

1.如果目標文件是到某一目錄文件的路徑,源文件會被移到此目錄下,且文件名不變。
2.如果目標文件不是目錄文件,則源文件名(只能有一個)會變為此目標文件名,并覆蓋己存在的同名文件。
3.如果源文件和目標文件在同一個目錄下,mv的作用就是改文件名。
4.當目標文件是目錄時,源文件或目錄參數可以有多個,則所有的源文件都會被移至目標目錄中。所有移到該目錄下的文件都將保留以前的文件名。

二、mv命令的使用幫助

1. 在命令行的幫助信息

在命令行的,mv --help顯示mv的幫助信息。

[root@jeven ~]# mv --help
Usage: mv [OPTION]... [-T] SOURCE DESTor:  mv [OPTION]... SOURCE... DIRECTORYor:  mv [OPTION]... -t DIRECTORY SOURCE...
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.Mandatory arguments to long options are mandatory for short options too.--backup[=CONTROL]       make a backup of each existing destination file-b                           like --backup but does not accept an argument-f, --force                  do not prompt before overwriting-i, --interactive            prompt before overwrite-n, --no-clobber             do not overwrite an existing file
If you specify more than one of -i, -f, -n, only the final one takes effect.--strip-trailing-slashes  remove any trailing slashes from each SOURCEargument-S, --suffix=SUFFIX          override the usual backup suffix-t, --target-directory=DIRECTORY  move all SOURCE arguments into DIRECTORY-T, --no-target-directory    treat DEST as a normal file-u, --update                 move only when the SOURCE file is newerthan the destination file or when thedestination file is missing-v, --verbose                explain what is being done-Z, --context                set SELinux security context of destinationfile to default type--help     display this help and exit--version  output version information and exitThe backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
The version control method may be selected via the --backup option or through
the VERSION_CONTROL environment variable.  Here are the values:none, off       never make backups (even if --backup is given)numbered, t     make numbered backupsexisting, nil   numbered if numbered backups exist, simple otherwisesimple, never   always make simple backupsGNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'mv invocation'

2. mv常用選項

mv命令的常用選項

--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“/”;
-S<后綴>:為備份文件指定后綴,而不使用默認的后綴;
--target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。

三、mv命令的基本使用

1. 創建源目錄和目標目錄

創建一個源目錄和目標目錄

[root@jeven ~]# mkdir /source
[root@jeven ~]# mkdir /target

2. 新建測試文件

在源目錄和目標目錄分別新建測試文件。

[root@jeven ~]# touch /source/sou_file{01..03}.txt
[root@jeven ~]# ls /source/
sou_file01.txt  sou_file02.txt  sou_file03.txt
[root@jeven ~]# touch /target/tar_file{01..03}.txt
[root@jeven ~]# ls /target/
tar_file01.txt  tar_file02.txt  tar_file03.txt

3. 將源目錄文件復制到目標目錄

將/source/sou_file01.txt 復制到/target/目錄下

[root@jeven ~]# mv /source/sou_file01.txt /target/
[root@jeven ~]# ls /target/
sou_file01.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

4. 將文件進行改名

在同一目錄下將文件進行改名,例如在target/目錄,將sou_file01.txt改名為aa_test.txt

[root@jeven ~]#  cd  /target/
[root@jeven target]# mv sou_file01.txt  aa_test.txt
[root@jeven target]# ls /target/
aa_test.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

5. 將目錄的所有文件轉移到目標目錄

將/source/目錄的所有文件,轉移到目標目錄 /target/

[root@jeven ~]# mv /source/*  /target/
[root@jeven ~]# ls /target/
aa_test.txt  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

6. 移動多個文件到目標目標

將/test/目錄下的file01和file02文件轉移到目標目錄/target

[root@jeven ~]# mv /test/file01 /test/file02 /target/
[root@jeven ~]# ls /target/
aa_test.txt  file01  file02  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt

7. 移動目錄

將/test目錄移動到/target目錄

[root@jeven ~]# mv /test/ /target/
[root@jeven ~]# ls /target/
aa_test.txt  file01  file02  sou_file02.txt  sou_file03.txt  tar_file01.txt  tar_file02.txt  tar_file03.txt  test

8. 覆蓋文件

在/source目錄下,創建兩個文件,并寫入內容。

root@jeven ~]# cd /source/
[root@jeven source]# ls
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# cat aa.txt 
11
[root@jeven source]# cat bb.txt 
22

當源文件aa.txt和目標文件bb.txt都存在時,源文件會變成目標文件bb.txt,并覆蓋原來的bb.txt文件。

[root@jeven source]# mv aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
11

四、mv的日常使用

1. 提示是否覆蓋文件

在當覆蓋文件時,提示是否覆蓋文件,默認mv命令加了-I

[root@jeven source]# mv -i aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
11
[root@jeven source]# alias |grep mv
alias mv='mv -i'

2. 覆蓋文件時對源文件備份

使用mv -b,在覆蓋文件時,對源文件進行備份。

[root@jeven source]# echo 11 > aa.txt
[root@jeven source]# echo 22 > bb.txt
[root@jeven source]# mv -b aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
[root@jeven source]# ls
bb.txt  bb.txt~
[root@jeven source]# cat bb.txt
11
[root@jeven source]# cat bb.txt~
22

3. 強制覆蓋文件

使用mv -f 強制覆蓋文件。

mv -f aa.txt bb.txt 

4. 打印轉移信息

使用mv -v打印移動信息

[root@jeven source]# mv -v /source/bb.txt /target/
‘/source/bb.txt’ -> ‘/target/bb.txt’

5. 源文件比目標文件新時才執行更新

當源文件是最新更新時,才可以覆蓋目標文件。

  • 目標文件比源文件更新時,不執行覆蓋操作。
[root@jeven source]# echo 11 > aa.txt
[root@jeven source]#  echo 22 > bb.txt
[root@jeven source]# mv -uv aa.txt bb.txt 
[root@jeven source]# ls
aa.txt  bb.txt
  • 源文件比目標文件更新時,執行覆蓋操作。
[root@jeven source]# echo ee > aa.txt 
[root@jeven source]# mv -uv aa.txt bb.txt 
mv: overwrite ‘bb.txt’? yes
‘aa.txt’ -> ‘bb.txt’
[root@jeven source]# ls
bb.txt
[root@jeven source]# cat bb.txt 
ee

五、注意事項

在Linux中使用mv命令時,有幾個注意事項可以幫助你更安全、有效地操作文件和目錄:

  1. 權限問題:確保你有足夠的權限去移動或重命名文件。如果沒有,mv命令會失敗,除非使用了sudo(對于需要提升權限的操作)。

  2. 覆蓋風險:默認情況下,如果你嘗試移動一個文件到一個已存在的同名文件的位置,mv會直接覆蓋目標文件,不會詢問。為了避免意外覆蓋,可以使用-i(interactive)選項,這樣在覆蓋前會提示確認。

  3. 備份原文件:使用-b選項可以在覆蓋文件前自動創建一個備份,這對于保護重要數據很有幫助。

  4. 移動與重命名的區別:當第二個參數是文件名時,視為重命名操作;當是目錄名時,則是移動操作。確保正確指定目標以達到預期效果。

  5. 跨文件系統移動:跨文件系統移動文件時,mv實際上是先復制再刪除原文件。這意味著如果操作過程中出現錯誤(如空間不足),可能會丟失原文件。

  6. 目錄操作:移動目錄時,記得在目標路徑后加斜杠(/),這可以避免在目標目錄不存在時意外地將源目錄作為目標目錄的一個子目錄移動進去。

  7. 批量操作:可以同時移動多個文件或目錄,只需在源文件列表中列出它們,但目標必須是一個已存在的目錄。

  8. 符號鏈接:移動符號鏈接會移動鏈接本身而不是鏈接指向的文件。若要移動實際文件,需要使用-L選項來跟蹤并移動鏈接指向的目標。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/22361.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/22361.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/22361.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

前端面試寶典總結4-手搓代碼JavaScript(數據處理)

前端面試寶典總結4之手寫代碼JavaScript&#xff08;數據處理&#xff09; 本文章 對各大學習技術論壇知識點&#xff0c;進行總結、歸納自用學習&#xff0c;共勉&#x1f64f; 上一篇&#x1f449;: 前端面試寶典總結3-JavaScript&#xff08;2&#xff09; 文章目錄 前端…

python長方形周長面積 2024年3月青少年編程電子學會python編程等級考試二級真題解析

目錄 python長方形周長面積 一、題目要求 1、編程實現 2、輸入輸出 二、算法分析 三、程序代碼 四、程序說明 五、運行結果 六、考點分析 七、 推薦資料 1、藍橋杯比賽 2、考級資料 3、其它資料 python長方形周長面積 2024年3月 python編程等級考試級編程題 一、…

matlab模擬太陽耀斑噴發

代碼 function simulate_solar_flare% 參數設置gridSize 100; % 網格大小timeSteps 200; % 時間步數dt 0.1; % 時間步長% 初始化網格[X, Y] meshgrid(linspace(-5, 5, gridSize));Z zeros(size(X));% 設置耀斑初始位置和強度flareCenter [0, 0]; % 耀斑中心位置flareRad…

【實用技巧】Unity中的Image組件

Unity中的Image組件是UI系統的核心部分&#xff0c;用于顯示圖像和紋理。以下是一些關于Unity Image組件的實用技巧&#xff1a; 使用Sprite作為Image源&#xff1a; 將Sprite直接拖拽到Image組件的Source Image字段中&#xff0c;可以快速設置顯示的圖像。 調整顏色和透明度&a…

9 -力扣高頻 SQL 50 題(基礎版)

9 - 上升的溫度 -- 找出與之前&#xff08;昨天的&#xff09;日期相比溫度更高的所有日期的 id -- DATEDIFF(2007-12-31,2007-12-30); # 1 -- DATEDIFF(2010-12-30,2010-12-31); # -1select w1.id from Weather w1, Weather w2 wheredatediff(w1.recordDate,w2.recordDat…

SolidWorks功能強大的三維設計軟件下載安裝,SolidWorks最新資源獲取!

SolidWorks&#xff0c;它憑借出色的三維建模能力&#xff0c;使得設計師們能夠輕松構建出復雜且精細的機械模型&#xff0c;大大提升了設計效率和質量。 在機械設計領域&#xff0c;SolidWorks憑借其豐富的工具和特性&#xff0c;讓設計師們能夠隨心所欲地揮灑創意。無論是零…

Flutter 中的 LayoutBuilder 小部件:全面指南

Flutter 中的 LayoutBuilder 小部件&#xff1a;全面指南 Flutter 是一個功能豐富的 UI 框架&#xff0c;它允許開發者使用 Dart 語言來構建高性能、美觀的跨平臺應用。在 Flutter 的布局系統中&#xff0c;LayoutBuilder 是一個強大的組件&#xff0c;它可以根據父容器的約束…

家政預約小程序12用戶登錄

目錄 1 創建全局變量2 創建頁面3 搭建頁面4 實現登錄邏輯總結 在小程序中&#xff0c;登錄是一個常見的場景。比如我們在小程序預約或者購買時&#xff0c;通常要求用戶先登錄后購買。如果使用傳統方案&#xff0c;登錄這個動作其實最終的目的是為了獲取用戶的openid。而使用低…

Python學習圣經:從0到1,精通Python使用

尼恩&#xff1a;LLM大模型學習圣經PDF的起源 在40歲老架構師 尼恩的讀者交流群(50)中&#xff0c;經常性的指導小伙伴們改造簡歷。 經過尼恩的改造之后&#xff0c;很多小伙伴拿到了一線互聯網企業如得物、阿里、滴滴、極兔、有贊、希音、百度、網易、美團的面試機會&#x…

【智能體】文心智能體大賽第二季持續進行中,一起在智能體的海洋里發揮你的創意吧

目錄 背景作文小助手AI迅哥問答程序員黃歷助手比賽時間第二期賽題豐厚獎品評選說明獲獎智能體推薦文章 背景 AI應用&#xff08;智能體&#xff09;&#xff0c;持續火熱&#xff0c;一句話就能創建一個有趣、好玩的應用。 可以說一分鐘內就能創建一個有創意的智能體。 看大多…

Linux網絡-自定義協議、序列化和反序列化、網絡計算服務器的實現和Windows端客戶端

文章目錄 前言一、自定義協議傳結構體對象 序列化和反序列化什么是序列化&#xff1f;反序列化 二、計算器服務端&#xff08;線程池版本&#xff09;1.main.cc2.Socket.hpp3.protocol.hpp4.Calculator.hpp5.serverCal.hpp6.threadPool.hpp7.Task.hpp8. log.hpp 客戶端Windows客…

我有點想用JDK17了

大家好呀&#xff0c;我是summo&#xff0c;JDK版本升級的非常快&#xff0c;現在已經到JDK20了。JDK版本雖多&#xff0c;但應用最廣泛的還得是JDK8&#xff0c;正所謂“他發任他發&#xff0c;我用Java8”。 其實我也不太想升級JDK版本&#xff0c;感覺投入高&#xff0c;收…

華為、華三交換機、路由器啟用基于端口的環回檢測功能配置

目的 在進行某些特殊功能測試時&#xff0c;例如初步定位以太網故障時&#xff0c;需要開啟以太網接口環回檢測功能&#xff0c;測試接口功能是否異常。 當以太網接口無故障時&#xff0c;開啟環回檢測功能后接口物理狀態和協議狀態將始終處于Up狀態&#xff1b;如果以太網接口…

Linux環境搭建NextCloud

NextCloud是什么 Nextcloud是一款開源免費的私有云存儲網盤項目&#xff0c;可以讓你快速便捷的搭建一套屬于自己或者團隊的云同步網盤&#xff0c;從而實現跨平臺跨設備文件同步&#xff0c;共享&#xff0c;版本控制&#xff0c;團隊協做等功能。它的客戶端覆蓋windows&#…

使用AdaBoost分類方法實現對Wine數據集分類

目錄 1. 作者介紹2. 什么是AdaBoost&#xff1f;2.1 什么是弱分類器2.2 什么是強分類器2.3 如何自適應增強2.4 如何組合弱分類器成為一個強分類器&#xff1f; 3. 什么是Wine數據集3.1 Wine 數據集3.2 Wine 數據集結構 4. 使用AdaBoost分類方法實現對Wine數據集分類5. 完整代碼…

PLC的編程方式有什么編程:深度探索與實用指南

PLC的編程方式有什么編程&#xff1a;深度探索與實用指南 在現代工業自動化領域&#xff0c;可編程邏輯控制器&#xff08;PLC&#xff09;扮演著至關重要的角色。PLC的編程方式多種多樣&#xff0c;每種方式都有其獨特的優點和適用場景。本文將從四個方面、五個方面、六個方面…

k8s 配置資源管理

一、Secret的資源配置 1.1 Secret配置的相關說明 Secret 是用來保存密碼、token、密鑰等敏感數據的 k8s 資源&#xff0c;這類數據雖然也可以存放在 Pod 或者鏡像中&#xff0c;但是放在 Secret 中是為了更方便的控制如何使用數據&#xff0c;并減少暴露的風險。 有四種類型&a…

日志優化開發效率

日志怎么打&#xff1f; 1.在關鍵節點打日志 (1).請求入口 (2).結果響應 2.可能發生錯誤的節點打日志 3.日志不是越多越好&#xff0c;打日志也會消耗性能 RequestMapping("/add")public Boolean publishBlog(String title, String content, HttpServletRequest req…

react快速開始(四)-之Vite 還是 (Create React App) CRA? 用Vite創建項目

文章目錄 react快速開始(四)-之Vite 還是 (Create React App) CRA? 用Vite創建項目背景Vite 和 (Create React App) CRAVite&#xff1f;Vite 是否支持 TypeScript&#xff1f; 用Vite創建react項目參考 react快速開始(四)-之Vite 還是 (Create React App) CRA? 用Vite創建項…

Java面向對象筆記

多態 一種類型的變量可以引用多種實際類型的對象 如 package ooplearn;public class Test {public static void main(String[] args) {Animal[] animals new Animal[2];animals[0] new Dog();animals[1] new Cat();for (Animal animal : animals){animal.eat();}} }class …