linux学习随笔四

本次学习主要是文件处理命令的学习

1、复制和移动文件:

cp:copy 复制文件

cp SRC(源) DEST(目标)

遵循原则:

一个文件到一个文件

多个文件到一个目录

默认情况下只复制文件

谁复制就是谁的

举例:cp /etc/passwd /tmp一个文件到一个目录wKioL1YtetWyyMOlAAGqofovffc317.jpg

cp /etc/passwd /etc/issue /etc/inittab /tmp/123 这个命令大家认为能复制过去吗?

cp /etc/passwd /etc/issue /etc/inittab /tmp/这个呢?

wKioL1Yte9GBQkxRAAJUgV0j9dg720.jpg

答案是显而易见的

cp /etc/passwd /tmp/123 一个文件到一个文件,还可以改名

wKiom1YtfCCCl5iNAAEffwY-KvM700.jpg

谁复制就谁的,看底下的例子,属主跟属组发生了变化,是123用户的

wKiom1YtfdvBI_7XAAIWysj7OVA122.jpg

如果复制目录看看

wKioL1YtfruR-Vg7AALkejSP5fQ519.jpg

它会提示报错,复制不了目录,需要加选项

cp -r /etc/init.d/ /tmp

wKioL1YtgfKyLaILAAGpvoOKZBM364.jpg

现在看是不是没有问题了,这里需要特别注意的小细节,就是在你复制目录后面一定要加/,不然它会默认复制一个init.d的一个文件,带/就是让系统读出复制的是个目录。


-r 递归复制

-i 交互式 ,交互式的意思覆盖文件之前先询问用户

-f 强制执行, 不论目的文件或目录是否已经存在,其实它也会提示是否覆盖,所以这个选项是个鸡肋

-p 保留属组

-a 保留文件所有属性,旧档复制,常用备份

-P 保持链接的所有属性。

cp /etc/{passwd,initab,rc.d/rc.sysinit} /tmp ,使用花括号命令行展开

wKiom1YthqTTq6lPAAODdNKUU_g709.jpg

mv:move 移动文件或目录

mv SRC DEST

mv -t DEST SRC

举例:mv init.d /var/tmp

wKioL1YtjRjCSrqRAAGc6U-shWU481.jpg

移动文件或目录注意,不要在系统文件夹或文件上操作,谨慎操作!

 mv /var/tmp/init.d /tmp/123 会是什么情况

wKioL1YtjmXSoIv-AAEgsCuRBb4430.jpg

会报错,不能拿目录去覆盖非目录,因为123是文件

mv /var/tmp/init.d /tmp/aaa
wKiom1YtjqryzK3QAAErkoEsJRE257.jpg

这样就没有问题了,因为aaa是个目录,也会保留原有目录或文件


install 复制文件和改变属性

-d DIRECOTRY..... 加-d选项可以创建文件(可以是多个)

install -d /tmp/{3,6}

wKiom1YtlEqgJ6F4AAGpBY5OR8g869.jpg

install SRC DEST 复制文件并改变属性

install /etc/passwd /tmp/file

wKioL1YtlMbBzRLOAAFhNgWTs5k979.jpg

看到没有,这个命令复制文件很危险,复制过去居然有执行的权限

install -m 指定权限

install -t DIRECTORY SRC...跟mv的一样功能,可以先目标后源



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