在Linux下,如果希望將文件file拷貝到目錄dir下,可以執(zhí)行:
cp file dir
但如果dir下已經(jīng)存在一個名為file的文件的時候,系統(tǒng)總是會提示是否覆蓋file。
這是一個很好的功能,它能夠防止我們由于疏忽對系統(tǒng)造成的損害,但如果不希望看到這些交互的提示信息呢?比如我們需要寫一個腳本,將某些文件安裝到指定的目錄下,這時我們肯定不希望看到提示。
可以試一下 -f 選項,-f 一般表示強制執(zhí)行(force)。
cp -f file dir
但好像結(jié)果并不像我們希望的那樣,系統(tǒng)依然會有覆蓋提示。為什么呢?
原因很簡單,系統(tǒng)將 cp 命令alias為 cp -i。當我們執(zhí)行cp命令的時候,系統(tǒng)往往執(zhí)行的是cp -i,-i 選項表示有交互的提示信息,所以執(zhí)行 cp -f 的時候,系統(tǒng)實際執(zhí)行的是 cp -i -f, 所以仍然會有覆蓋提示。
想要執(zhí)行原始的cp也很簡單,可以在調(diào)用cp的時候加入絕對路徑,當然還可以直接執(zhí)行下面的語句:
\cp -f file dir