本次学习主要是文件处理命令的学习
1、复制和移动文件:
cp:copy 复制文件
cp SRC(源) DEST(目标)
遵循原则:
一个文件到一个文件
多个文件到一个目录
默认情况下只复制文件
谁复制就是谁的
举例:cp /etc/passwd /tmp一个文件到一个目录
cp /etc/passwd /etc/issue /etc/inittab /tmp/123 这个命令大家认为能复制过去吗?
cp /etc/passwd /etc/issue /etc/inittab /tmp/这个呢?
答案是显而易见的
cp /etc/passwd /tmp/123 一个文件到一个文件,还可以改名
谁复制就谁的,看底下的例子,属主跟属组发生了变化,是123用户的
如果复制目录看看
它会提示报错,复制不了目录,需要加选项
cp -r /etc/init.d/ /tmp
现在看是不是没有问题了,这里需要特别注意的小细节,就是在你复制目录后面一定要加/,不然它会默认复制一个init.d的一个文件,带/就是让系统读出复制的是个目录。
-r 递归复制
-i 交互式 ,交互式的意思覆盖文件之前先询问用户
-f 强制执行, 不论目的文件或目录是否已经存在,其实它也会提示是否覆盖,所以这个选项是个鸡肋
-p 保留属组
-a 保留文件所有属性,旧档复制,常用备份
-P 保持链接的所有属性。
cp /etc/{passwd,initab,rc.d/rc.sysinit} /tmp ,使用花括号命令行展开
mv:move 移动文件或目录
mv SRC DEST
mv -t DEST SRC
举例:mv init.d /var/tmp
移动文件或目录注意,不要在系统文件夹或文件上操作,谨慎操作!
mv /var/tmp/init.d /tmp/123 会是什么情况
会报错,不能拿目录去覆盖非目录,因为123是文件
mv /var/tmp/init.d /tmp/aaa
这样就没有问题了,因为aaa是个目录,也会保留原有目录或文件
install 复制文件和改变属性
-d DIRECOTRY..... 加-d选项可以创建文件(可以是多个)
install -d /tmp/{3,6}
install SRC DEST 复制文件并改变属性
install /etc/passwd /tmp/file
看到没有,这个命令复制文件很危险,复制过去居然有执行的权限
install -m 指定权限
install -t DIRECTORY SRC...跟mv的一样功能,可以先目标后源