首页 > 解决方案 > 从 UI 执行 Linux 命令(Html 页面)

问题描述

我正在尝试学习,如何通过获取用户的输入在网页上执行 linux 命令。

基本上,我想要一个简单的 html 页面,它需要用户输入很少的内容,并且会在服务器上运行很少的命令。

我很困惑,因为我在互联网或 youtube 上没有找到任何东西,或者我只是无法触发特定的关键字。

例如:我想创建一个名称的目录,所以我想给它一个名字。所以在这种情况下,在 html 页面上我会发布类似的内容

Name of Folder : ________

然后当我给出名称并点击提交按钮时,它应该在我的 linux 系统中创建一个目录。

在 linux 中,我们只需要使用 'mkdir "name"'

建议我是否可以通过 python 或其他任何东西或简单的方法来实现这一点。

我希望你能理解我的询问。如果您将给出或发布一个关于如何实现这一目标的简单示例。我会很感激。我对此有点陌生。谢谢你的时间 :)

如果您可以发布一些文章链接或视频示例,它们也会有所帮助。

谢谢

标签: pythonlinuxuser-interfacecentoscentos7

解决方案


您可以按照本教程 构建 Flask 网页。

在第 6 步中,您会看到每个请求都被路由到这样的函数

@app.route('/hello/<name>')
def hello(name):
    return render_template('page.html', name=name)

所以你可以使用类似的东西

import os

@app.route('/mkdir/<dirname>')
def hello(name):
    ret = os.system("mkdir {}".format(dirname))
    return render_template('page.html', name=dirname)

为了在 linux 主机中使用 mkdir 创建一个目录。

请记住,此方法不安全,因为不检查命令是否有效,也不检查是否注入恶意代码。这只是您开始学习的起点。


推荐阅读