11_Linux基础知识及命令――――复制和移动文本文件

一、文件的复制

# cp [PATH]... [TARGET]

如果 cp 命令不指定目标文件的名字,则抱持原来的名字,如:

# cp /etc/inittab ./

# ls


如果cp 的目标目录下有重名文件,则会提示用户是否覆盖,如:

# cp /etc/inittab ./inittab


如果 cp 的目标命名为x,而此目标位置恰好有一个目录名为x,则直接将此文件复制到该目录x下:

# cp /etc/inittab ./x

# ls x

wKioL1NFhXjSM9SHAAKS8MLTzcU376.jpg


小结:如果目标

1.不存在,则复制并重命名指定的名称;

2.存在:

a)如果是文件,则覆盖;

b)如果是目录,则将文件复制到指定的目录中


如果要复制的文件是多个,则cp后面可以有多个路径,如:

# cp /etc/inittab /etc/rc.d/rc.sysinit ./test1.txt

此语句会报错,因为目标不是一个目录。

注意:如果要复制多个文件,则目标必须是目录

wKioL1NFhF2xJX5cAADPB-RNC3Y197.jpg


cp命令默认不支持目录复制,如果要复制目录,需要使用扩展选项 -r 来实行递归复制,如:

# cp -r /tmp/x1 ./x2

# ls x2

wKiom1NFhJbgiXOMAACNnn__MAk831.jpg

此外,-a选项也可以用来进行递归复制,但其功能更加强大,等同于 -dR 选项,即全部复制。

事实上,-R-r -recursive 都表示递归复制

wKioL1NFhH6R8P7iAAHfe-xqops495.jpg


二、移动文件


# 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

wKiom1NFhNrDicbsAAJ3eJtC37U583.jpg


你可能感兴趣的:(linux,移动,复制,文件)