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 以前,必定要反复检查
三、关键业务操做,最好找一个同事在旁边看,做证
四、开启模拟终端软件日志记录功能