初学者的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类。 我们已经提供了每个类别的例子。 所以请尝试一下,完成后,请前往实用程序的手册页获取更多信息。