内容简介
- 前言
- cp命令和mv命令:复制和移动
- rm命令:删除
- ln命令:链接
1.前言
rm命令熟练掌握使用,但要慎用,前几天微盟的删库就是一个例子。
2.cp命令和mv命令:拷贝和移动文件
cp:copy的缩写,mv:move的缩写
cp sourcefile targetfile
1)假如我们将 /root/file1 复制到 /root/dir/下,可以执行:
cp /root/file1 /root/dir/
2)假如我们想备份一下文件file1,可以执行:
cp file1 file1.bak
3)假如我们要cp目录,则在cp之后加上-R 或者 -r,两者效果一样(recursive递归的意思)。cp的时候目录中的所有内容(包括子目录的内容都会被拷贝),将root下的所有内容复制到了root/dir下,可以执行:
cp -r /root /root/dir/
4)还可以使用通配符来选择复制需要的文件,将root下的所有.tar结尾的,复制到dir下,可以执行:
cp /root/*.tar /root/dir
mv的用法与cp类似,不同的是cp是复制文件,而mv是移动,不会生成副本,好比剪切复制
1)将file1移动到/root/dir,当前的源文件file不存在了,/root/dir下生成了新的,可以执行:
mv file1 /root/dir
2)将目录folder移动到/root/dir下,可以执行,没有-r:
mv folder /root/dir
3)通配符,将所有txt结尾的文件移动到/root/dir ,可以执行:
mv *.txt /root/dir
rm命令:删除文件和目录,用来删东西的,慎重使用。
1)删除file1,可以执行:
rm file1
2)同时删除file1,file2,file3,可以执行:
rm file1 file2 file3
3)-i 参数:询问用户是否删除?
保险期间,用rm删除文件的时候,可以加上-i参数。这样对于每个删除操作,终端都会询问我们是否确定删除?y or n
当输入y的时候,文件执行删除操作;当输入n的时候,删除不生效。
4)-f参数:慎用,不问提示是否删除,是强制直接删除,-f force 强制删除file1,可以执行:
rm -f file1
5)-r 参数:递归的删除,删除目录下的子文件和子内容,删除/root/dir下的文件,可以执行:
rm -r /root/dir
6)高能预警:-r -f很危险:
为什么说 -rf组合很危险呢,因为可能毁了整个系统。
千万不要这么做:
rm -rf /* 或者 rm -rf /
我们把这条命令分解开来分析:
- rm:rm 命令,这个没问题吧,删除命令么;
- -r:递归删除;
- -f:不询问,强制删除;
- /:系统的根目录。后面可以不加通配符 *,也可以加。
所以整个命令的意思很明确:强制递归删除根目录下所有文件!如果有root权限的话,特别的危险。
ln命令:link创建链接,相当于windows下的创建桌面快捷方式。
linux有两种类型的链接:
- Physical link:物理链接或硬链接
- Symbolic link:符号链接或软链接
1)所谓的硬链接:是两个文件共享同样的文件内容,也就是使用同样的inode(可百度一下inode是什么),所以一旦file1和file2之间有了硬链接,那么修改file1或者file2,其实修改的是同一个内容,只不过是我们用两个文件名来获取到文件内容。
硬链接有一个缺陷:只能指向文件,不能创建指向目录的硬链接。但软连接都可以。
此时有一个file1,我们创建file1的硬链接,可以执行:
ln file1 file2
我们vim修改file2,然后cat file1,会发现file1的内容也改变了。
如果我们用 rm file2 来删除 file2,那么对 file1 没什么影响。如果我们用 rm file1 来删除 file1,对 file2 也没什么影响。所以,对于硬链接来说,删除任意一方的文件,共同指向的文件内容并不会从硬盘上被删除。
2)软链接:我们在根目录下创建/root/dir/wer/dfsdg/dg/file1的快捷方式,可以执行:
ln -s /root/dir/wer/dfsdg/dg/file1 /root/file2
- 如果我们删除了 file2,没什么大不了,file1 不会受到影响。但是如果删除了 file1,那么 file2 会变成“死链接”,因为指向的文件不见了。
- 软链接可以指向目录,硬链接不行。