1、文件的複製ide
# cp [PATH]... [TARGET]spa
若是 cp 命令不指定目標文件的名字,則抱持原來的名字,如:3d
# cp /etc/inittab ./blog
# ls遞歸
若是cp 的目標目錄下有重名文件,則會提示用戶是否覆蓋,如:get
# cp /etc/inittab ./inittabit
若是 cp 的目標命名爲x,而此目標位置剛好有一個目錄名爲x,則直接將此文件複製到該目錄x下:io
# cp /etc/inittab ./xclass
# ls xtest
小結:若是目標
1.不存在,則複製並重命名指定的名稱;
2.存在:
a)若是是文件,則覆蓋;
b)若是是目錄,則將文件複製到指定的目錄中
若是要複製的文件是多個,則cp後面能夠有多個路徑,如:
# cp /etc/inittab /etc/rc.d/rc.sysinit ./test1.txt
此語句會報錯,由於目標不是一個目錄。
注意:若是要複製多個文件,則目標必須是目錄。
cp命令默認不支持目錄複製,若是要複製目錄,須要使用擴展選項 -r 來實行遞歸複製,如:
# cp -r /tmp/x1 ./x2
# ls x2
此外,-a選項也能夠用來進行遞歸複製,但其功能更增強大,等同於 -dR 選項,即所有複製。
事實上,-R, -r 和 -recursive 都表示遞歸複製
2、移動文件
# mv [PATH]... [TARGET]
移動文件的方式和複製文件基本相似,所不一樣的是,移動文件能夠直接移動目錄,而無需添加遞歸選項,如:
# cp /tmp/x2 ./x
會報錯,而如下命令則不會:
# mv /tmp/x3 ./x
一樣的,移動文件也能夠一次移動多個,若是遇到重名的狀況,會提示是否覆蓋:
# mv /tmp/x2 ./x
# mkdir /tmp/x/{a,c}_{b,d}
#mv /tmp/c_{b,d} ./x