python - 从 UI 执行 Linux 命令(Html 页面)
问题描述
我正在尝试学习,如何通过获取用户的输入在网页上执行 linux 命令。
基本上,我想要一个简单的 html 页面,它需要用户输入很少的内容,并且会在服务器上运行很少的命令。
我很困惑,因为我在互联网或 youtube 上没有找到任何东西,或者我只是无法触发特定的关键字。
例如:我想创建一个名称的目录,所以我想给它一个名字。所以在这种情况下,在 html 页面上我会发布类似的内容
Name of Folder : ________
然后当我给出名称并点击提交按钮时,它应该在我的 linux 系统中创建一个目录。
在 linux 中,我们只需要使用 'mkdir "name"'
建议我是否可以通过 python 或其他任何东西或简单的方法来实现这一点。
我希望你能理解我的询问。如果您将给出或发布一个关于如何实现这一目标的简单示例。我会很感激。我对此有点陌生。谢谢你的时间 :)
如果您可以发布一些文章链接或视频示例,它们也会有所帮助。
谢谢
解决方案
您可以按照本教程 构建 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 创建一个目录。
请记住,此方法不安全,因为不检查命令是否有效,也不检查是否注入恶意代码。这只是您开始学习的起点。
推荐阅读
- mariadb - Not able to drop field in MariaDB table
- android - How to manage Flutter dependencies' dependencies?
- reactjs - React useState 在通过传播引用克隆数组时不会重新渲染
- video - Autoplay Drive embedded video after clicking on image
- python - Python:使用 OpenCV 从左上角到右下角对项目进行排序
- html - How to get my sub-menus to expand upwards?
- html - Responsivity Misconfiguration
- docker - 无法读取 dockerfile - .NET 5.0
- javascript - 将 JavaScript 对象转换为浮点数
- angular - 部分不区分大小写的角度重定向