Linux $()这里的命令是什么意思?

  • pwd在不同行业有不同的意思:在web开发中,程序员常用pwd表示密码(password)的缩写。在Linux系统中,pwd命令用作显示工作目录的复路径名称,全称是“PrintWorkingDirectory”。在科研领域,pwd可看作是“PeopleWithDisabiliy”的缩写,意思是残疾人制。pwd还可以表示压力随钻监测系统或者物理媒介相关层。关于pwd在Linux系统中作为命令使用,有两个可选项:pwd-L目录连接链接时,zhidao输出连接路径pwd-P输出物理路径命令使用方法如下图:

方括号最简单的用法就是通配。你可能在知道“Globbing”这个概念之前就已经通过通配来匹配内容了,列出具有相同特征的多个文件就是一个很常见的场景,例如列出所有 JPEG 文件:

使用通配符wildcard来得到符合某个模式的所有内容,这个过程就叫通配。

在上面的例子当中,星号(*)就代表“0 个或多个字符”。除此以外,还有代表“有且仅有一个字符”的问号(?)。因此

方括号也可以用于通配。为了便于演示,可以创建一个用于测试的目录,并在这个目录下创建文件:

如果要列出这些文件当中第二位数字是 7 或 8 的文件,可以执行:

当然,不仅仅是 ls,很多其它的行工具都可以使用方括号来进行通配操作。但在删除文件、移动文件、复制文件的过程中使用通配,你需要有一点横向思维。

因为通配只能针对已有的文件,而 archive 开头的文件并不存在,不能进行通配。

也同样不行,因为 cp 并不允许将多个文件复制到多个文件。在复制多个文件的情况下,只能将多个文件复制到一个指定的目录下:

这条命令是可以正常运行的,但它只会把这 30 个文件以同样的名称复制到 archive/ 目录下,而这并不是我们想要的效果。

如果你阅读过我关于花括号的文章,你大概会记得可以使用 % 来截掉字符串的末尾部分,而使用 # 则可以截掉字符串的开头部分。

在通配的过程中,也可以使用这一个技巧。

上面的第一行命令告诉 Bash 需要对所有 file01 开头或者 file02 开头,且后面只跟一个任意字符的文件进行操作,第二行的 do 和第四行的 done 代表需要对这些文件都执行这一块中的命令。

第三行就是实际的复制操作了,这里使用了两次 $i 变量:第一次在 cp 命令中直接作为源文件的文件名使用,第二次则是截掉文件名开头的 file 部分,然后在开头补上一个 archive,也就是这样:

最终整个 cp 命令展开为:

最后,顺带说明一下反斜杠 \ 的作用是将一条长命令拆分成多行,这样可以方便阅读。

在下一节,我们会了解方括号的更多用法,敬请关注。


作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

本文地址:编辑:roc_guo,审核员:逄增宝

警告:本文中显示的所有步骤均在受控环境中执行,请不要在生产环境中遵循相同的步骤。

root 是 Linux 系统内所有子目录的父目录(层次结构中的顶部),包含与系统驱动器、引导文件、配置或用户目录相关的文件。

Linux 和所有基于 Unix 的操作系统都遵循这种架构,您可以将其视为一个 WindowsC:驱动器,其中包含系统运行所需的所有关键文件(用户、程序文件、Windows 等)。

rm使用该命令删除此目录意味着永久擦除根目录中的每个文件,从而使您的系统瘫痪。

Linux系统中的rm命令用于从命令行中删除指定的文件或目录。

例如,下面,我在我的主目录中创建了一个目录来演示 rm 命令在 Linux 中的工作。

现在在Linux中,每当你尝试删除一个目录时,它都会提示目标“是一个目录”,如下图所示。

这可以防止用户直接删除任何目录以避免文件丢失。

要绕过此限制,请使用-rf选项在不提示确认或显示错误消息的情况下强制删除目录,如下所示。

执行上述命令mydir将从您当前的位置删除 没有任何确认或错误。

这个目录是我创建的,我可以删除,但是删除根目录(/)需要root权限或者sudo账号,以防止未经授权的用户执行恶意事件。

rm -rf如果您是 root 用户,sudo无论有无运行都会发生什么,它会删除您的系统文件吗?

让我们通过执行来找出答案。

如您所见,系统阻止我们删除自身。

此功能称为安全锁,它可以防止无意中删除根目录以防止文件丢失。

在输出中,您可以看到可以使用该--no-preserve-root选项忽略这一点,出于任何原因有意删除您的整个系统,如下所示。

一旦执行该命令,根目录中的所有文件和目录都将开始删除,并且扩展坞中的图标将开始消失,从而使您的整个系统崩溃。

由于系统进程的使用,某些文件可能不会被删除,但您的系统仍然无法使用。

除非您的系统使用btrfs 文件系统或任何其他应用程序来为您的操作系统拍摄快照,否则此操作无法撤消。

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_ 删除。

我要回帖

更多关于 在shell脚本中$?用于 的文章

 

随机推荐