初学者Linux测试命令教程(附实例)
在此页
- Linux 测试命令
- Q1。如何比较两个字符串?
- Q2。如何使用测试比较整数?
- Q3。如何使用测试来测试/比较文件?
- Q4。测试命令如何处理符号链接?
- 结论
当您使用 Linux 命令行时,有时您想要测试某些东西,例如整数值或文件是否属于某种类型。有一个内置的测试命令行实用程序,您可以使用它来执行大多数此类比较和测试。
在本教程中,我们将通过一些易于理解的示例来解释该工具的基础知识。但在我们这样做之前,我们应该提到本文中的所有示例都已经在 Ubuntu 22.04 LTS 上进行了测试。
Linux测试命令
如上所述,测试命令用于执行检查和比较。这是它的语法:
test EXPRESSION
下面是手册页关于此实用程序的内容:
test - check file types and compare values
以下是一些问答式的示例,应该可以让您对该工具的工作原理有一个很好的了解。
注意:请记住,test 提供的一些命令行选项在 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 测试不等于。
Q3.如何使用测试来测试/比较文件?
要测试这两个文件中哪个更新,请使用 -nt。例如:
test file1 -nt file2
这是我在我的系统上测试它的方式:

您可以执行的其他文件比较包括两个文件中哪个文件较旧 (-ot) 以及两个文件是否具有相同的设备和 inode 编号 (-ef)。
要检查给定文件是否为目录,请按以下方式使用 -d 选项:
test -d [文件名]
例如:
测试-d new_dir
以下是测试命令提供的一些其他文件类型测试选项:

Q4.测试命令如何处理符号链接?
测试命令取消引用符号链接,尽管有几个例外。以下是手册页对此的说明:
Except for -h and -L, all FILE-related tests dereference symboliclinks.
如果您不知道,-h 和 -L 都会检查文件是否存在并且是符号链接 - 所以排除它们是有道理的,对吧?
结论
test 命令提供了很多选项,但从广义上讲,您可以将它们分为 3-4 类。我们提供了每个类别的示例。所以试试这些,当你完成后,前往实用程序手册页了解更多信息。