cp(copy)linux
cp命令能夠複製文件或者目錄,還能夠創建連接文件。bash
[root@Linux ~]# cp [-adfilprsu] 來源文件(source) 目標文件(destination) [root@linux ~]# cp [options] source1 source2 source3 .... directory -R, -r, --recursive copy directories recursively -p same as--preserve=mode,ownership,timestamps -a, --archive same as -dR--preserve=all [能夠保留連接文件],通常只有root執行,經常使用於歸檔備份
複製文件:ide
一、可不能夠把一個文件複製成另外一個文件? Ok
spa
二、可不能夠把一個文件複製成多個文件? Not ok
日誌
三、可不能夠把多個文件複製成一個文件? Not ok
orm
四、可不能夠把多個文件複製到一個目錄? Ok
遞歸
規則:若是命令須要指定 src , dst 兩個參數時, dst一般是最後一個參數做爲目標而且有且只有一個。
ip
# cp a b c d # 什麼意思? source: a b c , destination: d , 把 a b c 拷貝到目錄 drem
若是有多個 src 源,那麼dst 目的地必定必須是目錄。
it
# cp /etc/a.txt /tmp/b
若是b是目錄且存在: 則把 a.txt 複製到 b 目錄下,並保持原文件名
若是b是文件:
若是b不存在,則複製a.txt並重命名爲b
若是b存在,則提示是否覆蓋
# cp -r /etc/init.d/ /tmp/b
若是b是目錄:
b目錄已存在: 則把 init.d 複製到 b 目錄下,並保持原文件名
b目錄不存在: 則把 init.d 複製到 /tmp 目錄下,重命名爲 b
若是b是文件且存在: Error , 能夠執行,可是結果錯誤
以上狀況, 能夠先考慮: 文件是否存在, 而後再考慮是目錄 or 文件, 應該更合理。
複製目錄:
# cp /etc /tmp
cp: omitting directory '/etc'
# cp -r /etc /tmp # 複製目錄須要使用 -r 遞歸選項
複製隱藏文件:
用 cp * /tmp 這種類型的操做中,怎麼能把隱藏文件一塊兒拷貝過去呢?
咱們打上面這條命令只能將非隱藏的文件所有複製。 緣由是:(通配符沒法文件名匹配以"."開頭的文件)
# cp -a . /tmp # right
# cp .* /tmp # 僅僅拷貝隱藏文件
mv(move)
mv命令一般用於【移動文件】,以及【重命名】。
mv 在操做目錄時, 不須要指定 -r 選項就直接能夠。
# mv /etc/somedir /tmp/somefile # error, 不能用目錄去覆蓋文件
# mv /etc/somedir /tmp/somedir # yes
若是/tmp/somedir 存在, 則保存在 /tmp/somedir/ 目錄下
若是/tmp/somedir 不存在, 則保存在 /tmp/ 目錄下,並重命名
rm(remove)
rm命令用於刪除文件及目錄。 有了它基本不會再用 rmdir 這個了。
rm -rf 命令使用規則:
一、生產環境中,不要一直以root用戶登陸
二、操做時,比的是慢和仔細,而不是快, 按下 ENTER 以前,必定要反覆檢查
三、關鍵業務操做,最好找一個同事在旁邊看,做證
四、開啓模擬終端軟件日誌記錄功能