拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 每个系统管理员都需要知道的 5 个 Linux 命令

每个系统管理员都需要知道的 5 个 Linux 命令

白鹭 - 2022-01-02 1974 0 0

特定的命令和包可以帮助开发者组织、排查和优化应用程序,并在出现问题时提供有价值的信息。

无论您是新开发者还是想管理自己的应用程序,以下基本的 sysadmin 命令都可以帮助您更好地了解您的应用程序。他们还可以帮助您描述故障排除问题,例如为什么应用程序可以在本地运行但不能在远程服务器上运行。这些命令适用于 Linux 开发环境、容器、虚拟机 (VM) 和裸机。

1.卷曲

curl 传递一个 URL。使用此命令测试应用程序端点或连接到上游服务端点。 curl 在确定应用程序是否可以访问其他服务(例如数据库)或检查服务是否正常工作时很有用。

例如,您的应用程序收到一个 HTTP 500 错误,指出它无法访问 MongoDB 数据库:

$ curl-I-s myapplication:5000 HTTP/1.0 500 INTERNAL SERVER ERROR

让我们从本地桌面检查数据库端点:

$ curl-I-s database:27017 HTTP/1.0 200 OK

那可能是什么问题?检查您的应用程序是否可以从应用程序服务器访问数据库以外的地方:

$ curl-I-s https://opensource.com HTTP/1.1 200 OK

一切看起来都很好。现在尝试从应用程序服务器访问数据库。您的应用程序正在使用数据库的主机名,因此请先尝试:

$ curl database:27017 curl: (6) 无法解析主机'database'

这表示您的应用程序无法解析数据库,原因可能是数据库 URL 不可用,或者主机(容器或虚拟机)没有可用于解析主机名的名称服务器。

2.python-m json.tool/jq

执行 curl 命令后,API 调用的输出可能难以阅读。有时您想输出 JSON 以便易于阅读以查找特定项目。 Python 有一个内置的 JSON 库可以帮助解决这个问题。您使用 python-m json.tool 来缩进和组织 JSON。要使用 Python 的 JSON 模块,请将 JSON 文件的输出传递给 python-m json.tool 命令。

$ cat test.json {"title":"Person","type":"object","properties":{"firstName":{"type" :"string"},"lastName":{"type":"string"},"age":{"description":"Age in years","type":"integer","minimum":0}} ,"required":["firstName","lastName"]}

要使用 Python 库,请使用 -m(模块)选项将输出通过管道传输到 Python。

$ cat test.json | python-m json.tool { "properties": { "age": { "description": "Age in years", "minimum": 0, "type": "integer" }, "firstName": { "type" : "string" }, "lastName": { "type": "string" } }, "required": [ "firstName", "lastName" ], "title": "Person", "type": "object" }

对于更高级的 JSON 解析,您可以安装 jq。 jq 提供了几种从 JSON 输入中提取特定值的选项。要输出输出使其看起来像上面的 Python 模块,只需将 jq 应用于输出。

$ cat test.json | jq { "title": "Person", "type": "object", "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" } , "age": { "description": "Age in years", "type": "integer", "minimum": 0 } }, "required": [ "firstName", "lastName" ] } 

3.ls

ls 列出目录中的文件。系统管理员(系统管理员)和开发人员经常使用此命令。在容器空间中,该命令可以帮助确定容器镜像的目录和文件。除了查找文件,ls 还可以帮助您检查您的权限。在下面的示例中,由于权限问题,您无法运行 myapp。使用 ls-l 检查权限时,您发现权限没有 -rw-r 中的 "x"-r-- ,只能读写。

$./myapp bash:./myapp: Permission denied $ ls-l myapp-rw-r--r--.1 root root 33 Jul 21 18:36 myapp

4.尾巴

tail 显示文件的最后一部分。您通常不需要每个日志行来进行故障排除。相反,您想检查日志对应用程序的最新请求的内容。例如,当您向 Apache HTTP 服务器发出请求时,您可以使用 tail 检查日志中发生的情况。

每个系统管理员需要知道的 5 个 Linux 命令中的第 1 个

-f 选项表示“跟随”,输出写入文件的日志行。例如,有一个后台脚本每隔几秒访问一次端点并记录此请求。除了实时监控日志之外,您还可以使用 -n 选项 使用 tail 查看文件的最后 100 行。

$ tail-n 100/var/log/httpd/access_log

5.猫

cat 连接并打印文件。您可以让 cat 检查文件依赖项的内容或确认您在本地创建的应用程序的版本。

$ cat requirements.txt flask flask_pymongo

上面的示例检查您的 Python Flask 应用程序是否将 Flask 列为依赖项。

基本命令可以增强故障排除,当有必要确定为什么应用程序在一个开发环境中工作而不在另一个开发环境中时。许多系统管理员已经利用这些命令来调试系统的许多问题。了解其中一些有用的故障排除命令可以帮助您与系统管理员沟通并解决应用程序的问题。

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *