linux命令学习3-通配符、cp、mv、rm、ln

linux命令学习系列


导读

在开始使用命令之前,我们需要介绍一个使命令行如此强大的shell特性。由于shell需要经常使用文件名,因此它提供了一些特殊字符来帮助你快速指定一组文件名。这些特殊字符称为通配符。通配符(也叫文件名替换)允许用户依据字符模式选择文件名。
下表列出了通配符以及它们所选择的对象


通配符

通配符匹配项
*匹配任意多个字符(包括0个和1个)
?匹配任一单个字符(不包括0个)
[characters]匹配任意一个属于字符集中的字符
[!characters]匹配任意一个不属于字符集中的字符
[[:class:]]匹配任意一个属于指定字符类中的字符

常用的字符类

字符类匹配项
[:alnum:]匹配任意一个字母或数字
[:alpha:]匹配任意一个字母
[:digit]匹配任意一个数字
[:lower:]匹配任意一个小写字母
[:upper:]匹配任意一个 大写字母

通配符示例

模式匹配项
*所有文件
g*以g开头的任一文件
b*.txt以b开头,中间有任意多个字符,并以.txt结尾的任一文件
Data???以Data开头,后面跟3个字符的任一文件
[abc]*以abc中的任一个开头的任一文件
BACKUP.[0-9][0-9][0-9]以BACKUP.开头,后面紧跟3个数字的任一文件
[[:upper:]]*以大写字母开头的任一文件
[![:digit:]]*不以数字开头的任一文件
*[[:lower:]123]以小写字母或数字1、2、3中的任一个结尾的任一文件

cp 复制文件和目录

cp命令选项

选项含义
-a,–archive复制文件和目录及其属性,包括所有权和权限。通常来说,复制的文件具有用户所操作文件的默认属性
-i,–interactive在覆盖一个已存在的文件前,提示用户进行确认。如果没有指定该选项,cp会默认覆盖文件
-r,–recursive递归地复制目录及其内容。复制目录时需要这个选项(或-a选项)
-u,–update当将文件从一个目录复制到另一个目录时,只会复制那些目标目录中不存在的文件或是目标目录相应文件的更新文件
-v,–verbose复制文件时,显示信息性消息(informativemessage)

cp命令示例

命令结果
cp file1 file2将file1复制到file2。如果file2存在,则会被file1的内容覆盖。如果file2不存在,则创建file2
cp -i file1 file2同上,区别在于当file2存在时,覆盖之前通知用户确认
cp file1 file2 dir1将file1和file2复制到目录dir1里。dir1必须已经存在
cp dir1/* dir2通过使用通配符,将dir1中的所有文件复制的dir2中。dir2必须已经存在
cp -r dir1 dir2将dir1目录(及其内容)复制到dir2目录中。如果dir2不存在,创建dir2,且包含与dir1目录相同的内容

mv 移除和重命名文件

mv选项

选项含义
-i,–interactive覆盖一个已存在的文件之前,提示用户确认。如果没有指定该选项,mv会默认覆盖文件
-u,–update将文件从一个目录移动到另一个目录,只移动那些目标目录中不存在的文件或是目标目录里相应文件的更新文件
-v,–verbose移动文件时显示信息性消息

mv命令示例

命令结果
mv file1 file2将file1移到file2。如果file2存在,则会被file1的内容覆盖。如果file2 不存在,则创建file2。无论哪一种情况,file1不再存在
mv –i file1 file2同上,仅当file2存在时,覆盖之前通知用户确认
mv file1 file2 dir1将file1和file2移到目录dir1下。dir1必须已经存在
mv dir1 dir2将目录dir1(和其内容)移到目录dir2下。如果目录dir2不存在,创建目录dir2,将目录dir1的内容移到dir2下,同时删除目录dir1

rm 删除文件和目录

小心rm命令:
rm命令与通配符在一起使用时要特别小心。来看下面这个经典的示例。假设我们只希望删除目录中的HTML文件,为此需要输入以下正确的命令:

rm *.html

如果不小心在*与.html之间多打了一个空格,如下图所示:

rm * .html

rm 命令将会删除目录中所有文件,并提示说明目录中没有叫做.html 的文件

提示:当rm命令与通配符一起使用时,除仔细检查输入内容外,可使用ls命令预先对通配符做出测试,这将显示欲删除的文件。紧接着,你可以按下向上方向键调用之前的命令,并使用rm代替ls。

rm选项

选项含义
-i,–interactive删除一个已存在的文件前,提示用户确认。如果没有指定这个选项,rm命令会默认删除文件
-r,–recursive递归地删除目录。也就是说,如果删除的目录有子目录的话,也要将其删除。要删除一个目录,则必须指定该选项
-f,–force忽略不存在的文件并无需提示确认。该选项会覆盖–interactive选项
-v,–verbose删除文件时显示信息性消息

rm实例

命令结果
rm file1在不提示用户的情况下,删除file1
rm –i file1删除file1前,提示用户确认
rm –r file1 dir1删除file1、dir1以及它们的内容
rm –rf file1 dir1同上,当时在file1或dir1不存在时,rm仍会继续执行,且不提示用户

ln 创建链接

##ln命令可用来创建硬链接或是符号链接。它的使用方式有两种。
##创建硬链接:
ln file link

##创建符号链接,也叫软连接,类似windows系统中的快捷方式
##这里的item可以是文件也可以是目录。
ln –s item link

总结

以上就是今天要讲的内容,本文简单介绍了 通配符、cp、mv、rm、ln命令的使用和相关有趣的命令。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

见贤思齐焉,,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值