前言
前一天學習了使用 rm 刪除檔案,今天則要學習另一個常見的 Linux 檔案操作指令 mv。mv 是 move 的縮寫,可以用來移動檔案或目錄,也可以用來重新命名檔案。
這次的 Challenge 要求我把 /flag 移動到 /tmp/hack-the-planet,完成後再使用 /challenge/check 進行確認。
mv 指令mv 的基本語法很簡單,mv 原本的檔案-->目的地
例如 mv my-file your-file
這個指令會把 my-file 移動到 your-file。
如果目的地是在同一個目錄,也可以把它理解成「重新命名」。
例如原本有 my-file 執行 mv my-file your-file
之後就會變成 your-file 而檔案裡面的內容並不會因此改變。
mv 不只是重新命名mv 最重要的用途其實是移動檔案。
例如 mv my-file /tmp/
就會把 my-file 從目前所在的目錄移動到 /tmp/。
因此可以把 mv 的功能分成兩種:
| 操作 | 範例 | 意義 |
|---|---|---|
| 重新命名 | mv old.txt new.txt |
同一個目錄中更改名稱 |
| 移動檔案 | mv file.txt /tmp/ |
將檔案移動到其他位置 |
而這次的 Challenge 主要就是練習第二種。
題目:moving files
題目要求我將 /flag
移動到 /tmp/hack-the-planet
也就是 mv /flag /tmp/hack-the-planet
題目特別要求一定要使用 mv 指令,不能透過其他方式達成。
完成之後,再執行 /challenge/check
讓 Challenge 檢查檔案是否已經被移動到正確的位置。
如果檔案位置符合題目的要求,Challenge 就會通過檢查並提供 Flag。
這次的操作其實非常直接,使用 mv 來處理不同目錄之間的檔案移動。
mv、cp、rm 的差別到目前為止已經接觸到幾個重要的檔案操作指令,可以一起比較:
| 指令 | 功能 | 原本的檔案 |
|---|---|---|
cp |
複製檔案 | 保留 |
mv |
移動/重新命名 | 通常會從原位置消失 |
rm |
刪除檔案 | 被刪除 |
例如 cp file1 file2
會產生一份新的 file2,原本的 file1 還存在。
而 mv file1 file2
則是把原本的檔案移動或重新命名,原本的位置不再保留 file1。
最後 rm file1
則是直接將檔案刪除。
今天學習的 mv 看起來是一個很簡單的指令,但實際上在 Linux 環境中非常常用。之前學到的 touch、rm、cp,再加上今天的 mv,已經開始慢慢把 Linux 基本檔案管理的操作串起來。我也發現 mv 不只是「移動檔案」,當來源和目的地都在同一個目錄時,它也可以用來重新命名檔案。這些指令雖然屬於 Linux 的基礎操作,但對後續學習都是很重要的基礎。