iT邦幫忙

2026 iThome 鐵人賽

DAY 0
0
Security

從 Linux 到 Pwn:30 天學習資安攻防系列 第 19 篇

Day 18|使用 cp 複製檔案:保留原始檔案

  • 分享至 

  • xImage
  •  

前言
前一天學習了 mv,可以將檔案移動到其他位置,或是重新命名檔案。
但是 mv 有一個特性,移動完成後,原本位置的檔案就不會保留。
如果今天想要「複製」一份檔案,同時保留原本的檔案,就可以使用 cp 指令。
cp 是 copy 的縮寫,使用方式和 mv 很相似。
今天的 Challenge 要求我將 /flag 複製到 /tmp/hack-the-planet,完成後再使用 /challenge/check 確認結果。


一、認識 cp 指令

cp 的基本語法是 cp SOURCE DESTINATION
其中

  • SOURCE:要複製的原始檔案
  • DESTINATION:複製後檔案要放置的位置或名稱

例如 cp my-file your-file
執行之後,會得到一份 your-file。
而原本的 my-file 仍然會保留。


二、cp 的基本使用方式

例如目前有 my-file
可以使用 cp my-file backup
這時候會變成 backup my-file 兩個檔案都存在。
也就是說原始檔案不會因為複製而消失。
這也是 cp 很常被拿來建立備份的原因,就像平常複製檔案一樣。


三、這次 Challenge 的重點與實際操作

題目:copying files
這次題目要求 Copy /flag to /tmp/hack-the-planet
也就是將 /flag
複製成 /tmp/hack-the-planet
因此可以使用 cp /flag /tmp/hack-the-planet
https://ithelp.ithome.com.tw/upload/images/20261004/20183180ghirfPe4NG.png
完成之後,再執行 /challenge/check
https://ithelp.ithome.com.tw/upload/images/20261004/20183180ZsqTVP6H5O.png
讓 Challenge 檢查複製結果。
如果複製的位置和檔案都符合題目的要求,就會通過檢查並取得 Flag。


四、目的地不是目錄

這次題目有特別提醒一件事情,如果 cp 的目的地是一個已存在的目錄,那麼 cp 會把檔案複製進這個目錄,並沿用原本的檔案名稱。
例如 cp /flag /tmp/
假設 /tmp/ 是目錄,那麼最後會變成 /tmp/flag
而不是 /tmp/hack-the-planet
但這次 Challenge 要求的是 /tmp/hack-the-planet
作為複製出來的檔案名稱本身。
因此這次應該直接指定完整的目的檔案路徑 cp /flag /tmp/hack-the-planet
而不是 cp /flag /tmp/


五、cp、mv、rm 的比較

連續學習了幾天的檔案操作後,可以把這幾個指令放在一起比較:

指令 英文 主要功能 原始檔案是否保留
cp copy 複製檔案 保留
mv move 移動/重新命名 原位置不保留
rm remove 刪除檔案 不保留

六、今天的心得

今天學到的 cp 和昨天的 mv 很容易搞混,但實際操作之後就比較容易理解兩者的差異。mv 是把檔案「搬走」,而 cp 則是「複製一份」,所以使用 cp 後,原本的檔案還會存在。另外,這次 Challenge 特別讓我注意到「目的地是檔案還是目錄」的差別。如果目的地是一個已存在的目錄,cp 會把來源檔案放進該目錄;如果指定的是新的檔案名稱,就會以這個名稱建立複製檔。目前已經連續學習了 touch、rm、mv 和 cp,對 Linux 基本檔案操作也越來越熟悉。


上一篇
Day 17|使用 mv 移動與重新命名檔案
下一篇
Day 19|認識隱藏檔案:使用 ls -a 找出 Flag
系列文
從 Linux 到 Pwn:30 天學習資安攻防 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言