Linux-Shell命令学习-cp、mv、mkdir、rm、ln
概要
- 通配符
- cp:复制
- mv:移动/重命名文件夹和目录
- mkdir:创建目录
- rm:删除文件/目录
- ln:创建硬链接和符号链接
通配符:
通配符 | 意义 |
* | 匹配任意多个字符(包括0或1) |
? | 匹配任意一个字符(不包括0个) |
[characters] | 匹配任意一个属于字符集的字符 |
[!characters] | 匹配任意一个不属于字符集的字符 |
[[:class:]] | 匹配任意一个属于指定字符类中的字符 |
字符类 | 意义 |
[:alnum:] | 匹配任意一个字母或数字 |
[:alpha:] | 匹配任意一个字母 |
[:digit:] | 匹配任意一个数字 |
[:lower:] | 匹配任意一个小写字母 |
[:upper:] | 匹配任意一个大写字母 |
模式(为文件名构建非常复杂的选择标准成为可能) | 匹配对象 |
* | 所有文件 |
g* | 文件名以“g“开头的文件 |
b*.txt | 以b开头的中间有0个或任意多个字符并以.txt结尾的文件 |
Data??? | Data开头后面三个字符 |
[abc]* | 以a或b或c开头的文件 |
BACKUP.[0-9][0-9][0-9] | 以BACKUP卡头紧接着三个数字的文件 |
[[:upper:]]* | 以大写字母开头的文件 |
[![:digit:]]* | 不以数字开头的文件 |
*[[:lower:]123] | 文件以小写字母或1或2或3结尾的文件 |
cp:
选项 | 意义 |
-a,--archive | 复制文件和目录,以及它们的属性,包括所有权和权限。通常,复本具有用户所操作文件的默认属性。 |
-i,--interactive | 在重写已存在的文件前提示确认(我是CentOS7默认会提示),不然会默认重写。 |
-r,--recursive | 递归的复制目录和目录中的内容。当复制目录时需要这个选项或者-a。 |
-u,-update | 复制文件到另一个目录时,仅仅复制目标目录中不存在的文件,或者是文件内容新于目标目录中的存在的文件。 |
-v,-verbose | 现实复制的信息,什么东西从哪里复制到哪里 ‘a/aa -> b/a/aa’)。 |
命令 | 运行结果 |
cp file1 file2 | 复制文件file1的内容到文件file2,如果文件不存在就创建。 |
cp -i file1 file2 | 如果文件file2存在的话会提示确认。 |
cp file1 file2 dir1 | 复制文件file1和file2到目录dir1,dir1必须存在,如果只有一个file则会创建新的目录。 |
cp dir1/* dir2 | 使用一个通配符复制dir1目录中的所有文件到dir2,dir2一定要存在。 |
cp -r dir1 dir2 | 复制目录dir1中的内容到dir2,如果目录dir2不存在就创建, |
mv:
-i,--interactive | 在重写已存在的文件前提示确认(我是CentOS7默认会提示),不然会默认重写。 |
-u,-update | 复制文件到另一个目录时,仅仅复制目标目录中不存在的文件,或者是文件内容新于目标目录中的存在的文件。 |
-v,-verbose | 现实复制的信息,什么东西从哪里复制到哪里 ‘a/aa -> b/a/aa’)。 |
mv file1 file2 | 移动file1到file2.如果法ile2存在,它的内容会被file1的内同重写。如果不存在,则创建file2.每种情况下file1都不存在。 |
mv -i file1 file2 | 会得到提示信息,反正cenos7默认就有。 |
mv file1 file2 dir1 | 移动file1和file2到dir1,dir1必须存在。 |
mv dir1 dir2 | 如果目录dir2不存在,创建目录dir2,并移动目录dir1的内容到目录dir2中,同时删除dir1。如果存在,则移动dir1到dir2,包括dir1的内容。 |
rm:不会回到你的垃圾箱
选项 | 意义 |
-i,--interactive | 删除以存在的文件前提示确认。 |
-r,--recursive | 递归地删除文件,这意味着,如果要删除一个目录,而目录又包含子目录,那么子目录也会被删除。要删除一个目录,必须指定这个选项。 |
-f,--force | 忽略不存在的文件提示信息,和i一起用的话,写在后面的会覆盖前面的。请不要乱使用rm -rf。 |
-v,--verbose | rm的详细执行信息。 |
命令 | 操作结果 |
rm file1 | 删除文件。 |
rm -i file1 | 提示,我是centos7默认提示。 |
rm -r file1 dir1 | 删除文件file1,目录dir1及内容,如果不存在会提示。 |
rm -rf file1 dir1 | 同上,文件或者目录不存的话仍然会继续执行。 |
ln:
硬链接:ln file link 符号链接:ln -s item link
可以看这篇:https://www.cnblogs.com/songgj/p/9115954.html