【问题标题】:Executing Linux commands from UI (Html Page)从 UI 执行 Linux 命令(Html 页面)
【发布时间】:2021-03-29 18:39:13
【问题描述】:

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

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

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

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

Name of Folder : ________

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

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

如果这可以通过 python 或其他任何东西或简单的方法来实现,建议我。

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

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

谢谢

【问题讨论】:

    标签: python linux user-interface centos centos7


    【解决方案1】:

    您可以关注this tutorial 构建一个 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 创建一个目录。

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

    【讨论】: