初学者的Linux测试命令教程(带示例)

初学者的Linux测试命令教程(带示例)

有时,在使用Linux命令行时,您可能想要测试某些东西,如整数值,还是文件是否具有某种类型? 您会很高兴知道有一个内置的命令行实用程序测试 ,可以让您执行大部分这些比较和测试。

在本教程中,我们将使用一些易于理解的示例来讨论此工具的基础知识。 但在这之前,值得一提的是本文中的所有示例都已在Ubuntu 16.04 LTS上进行了测试。

Linux测试命令

如上所述,测试命令用于执行检查和比较。 这是它的语法:

test EXPRESSION

以下是手册页中关于此实用程序的说明:

test - check file types and compare values

以下是一些问答式样的例子,应该给你一个关于工具如何工作的好主意。

注意 :请记住,某些命令行选项测试提供在shell脚本中使用时最有用。

Q1。 如何比较两个字符串?

很简单,你只需要在它们之间使用等于(=)的符号。 例如:

test howto = forge

更好的方法是写这样的东西:

test howto = forge && echo "same"

因此,如果字符串相同,则应在输出中打印“相同”一词,否则不应打印任何内容。

同样,如果您想测试不等式,则可以使用以下模板。

STRING1 != STRING2

Q2。 如何使用测试比较整数?

这也是非常简单的 - 只需使用'-eq'进行比较。 例如:

test 5 -eq 7 && echo "same"

以下是显示此命令行选项如何工作的屏幕截图:

同样,你可以使用' -ge '来测试大于或等于' -gt '大于' -le '小于或等于' -lt '小于' -ne'for不等于。

Q3。 如何使用测试来测试/比较文件?

要测试这两个文件中哪一个更新,请使用'-nt'。 例如:

test file1 -nt file2

以下是我在系统上测试它的方式:

您可以执行的其他文件比较包括两个文件中的哪个比较旧(-ot)以及两个文件是否具有相同的设备和inode编号(-ef)。

要检查给定文件是否为目录,请按以下方式使用-d选项:

test -d [filename]

例如:

test -d new_dir

以下是'test'命令提供的一些其他文件类型测试选项:

Q4。 测试命令如何处理符号链接?

测试命令取消引用符号链接,虽然有几个例外。 以下是关于此手册的说明:

Except for -h and -L, all FILE-related tests dereference symboliclinks.

如果你不知道,-h和-L都检查一个文件是否存在并且是一个符号链接 - 所以它们的排除是有意义的,对吗?

结论

测试命令提供了很多选项,但总的来说,你可以将它们分成3-4类。 我们已经提供了每个类别的例子。 所以请尝试一下,完成后,请前往实用程序的手册页获取更多信息。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏