一种基于Web的Linux文件管理方法和装置与流程

文档序号:12271620阅读:611来源:国知局
一种基于Web的Linux文件管理方法和装置与流程

本发明涉及计算机应用领域,特别涉及一种基于Web的Linux文件管理方法和装置。

技术背景

随着现代社会科技的发展,计算机已经广泛应用于各种领域,随之而来的是计算机操作系统的飞速发展。Linux操作系统是开放源代码、有良好的可移植性、具有多任务、多用户且处理性能优秀的操作系统,通过RedHat、Suse等主要开发商以及英特尔、IBM等厂商的支持,目前已经广泛应用在服务器与计算集群,占据了大部分中低端服务器市场,并逐渐在高端应用集群中成为了传统Unix系统有力的竞争对手。Linux技术的不断发展,使得基于Linux的应用开发也越来越受到各厂商和用户的关注和重视,其中,基于桌面的Linux操作系统和办公套件是比较具有代表性的基础工具软件,也是构建Linux应用和服务的基础平台。

目前已经存在很多流行的桌面Linux系统,如主流的RedHat、Centos、Ubuntu等,在国内有红旗Linux、中标麒麟等,这些操作系统提供了强大的桌面功能可以满足用户执行类似Windows的管理操作而不需要关心底层命令,但是对于一些普通用户来说,执行最多的就是对系统的文件操作,而管理员一般是通过命令行而非界面完成管理操作。因此,对一些性能较弱的服务器或测试机器,安装使用桌面系统会导致较多且不必要的系统开销。

现有技术中,存在很多在线的文件管理系统,如基于PHP与ExtJS开发的eXtplorer,类似windows用户界面的KODExplorer等,但是,在eXtplorer中只支持配置文件中的特定用户访问,并且不区分用户的文件系统权限,不能满足多用户和安全方面的考虑。KODExplorer虽然操作界面同Windows界面类似,但是它是在服务器下虚拟的文件系统而非服务器本身的Linux文件系统。



技术实现要素:

本发明实施例所要解决的技术问题是,提供一种基于Web的Linux文件管理方法和装置,以满足多用户对Linux文件的在线操作管理。

为解决上述技术问题,本发明提供了一种基于Web的Linux文件管理方法,该方法包括:

验证用户登录信息;

验证成功后,获取用户HOME目录及所述HOME目录下的文件信息列表;

根据所述文件信息列表构造文件操作界面,并创建文件操作事件。

可选的,所述验证用户登录信息,包括:

根据所述用户登录信息,通过脚本获取Linux本地的/etc/shadow信息并进行加密比对;

判断对比是否成功;

如果是,则验证成功。

可选的,所述构造文件操作界面,包括:

构造左侧为目录结构树且右侧为文件列表的文件操作界面。

可选的,所述创建文件操作事件,包括:

在文件列表的文件处创建行单击事件、行双击事件和右键第一事件中的一种事件、两种事件或三种事件;

在文件列表的空白处创建右键第二事件。

可选的,所述行单击事件,包括:

判断当前单击对象是否已选中;

如果否,则设置选中样式;

如果是,则取消选中。

可选的,所述双击事件,包括:

判断当前双击对象是否为文件或文件夹;

如果是文件,双击表示查看文件内容,通过ajax调用后台脚本获取文件内容并在页面展示;

如果是文件夹,则根据当前目录信息通过ajax继续获取目录下文件列表信息并重新构造文件界面。

可选的,所述右键第一事件,包括:

执行文件查看、复制、重命名、删除、打包和下载中的一种功能或弹出包含文件查看、复制、重命名、删除、打包和下载中的一种以上功能的右键第一菜单。

可选的,所述右键第二事件,包括:

执行新建文件、新建目录、粘贴和文件上传中的一种功能或弹出包含新建文件、新建目录、粘贴和文件上传中的一种以上功能的右键第二菜单。

可选的,所述文件上传功能,包括:

弹出文件上传窗口,根据用户选择的本地文件通过html5中文件操作功能对上传文件进行分片操作,并调用ajax请求进行文件分片上传,在文件分片上传完毕后调用ajax请求进行文件整合。

此外,本发明提供了一种基于Web的Linux文件管理装置,该装置包括:

验证模块,用于验证用户登录信息;

获取模块,用于验证成功后,获取用户HOME目录及HOME目录下的文件信息列表;

构造模块,用于根据所述文件信息列表构造文件操作界面,并创建文件操作事件。

本发明所提供的一种基于Web的Linux文件管理方法,包括验证用户登录信息;验证成功后,获取用户HOME目录及所述HOME目录下的文件信息列表;根据所述文件信息列表构造文件操作界面,并创建文件操作事件。

可见,本发明通过验证用户登录信息保证用户的安全登录,通过构造文件操作界面并创建文件操作事件,提供对Linux文件管理的种种功能,保证登录用户可以对Linux文件进行操作管理,从而可以实现多用户对Linux文件的在线操作管理。本发明还提供了的一种基于Web的Linux文件管理装置,同样具有上述有益效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于Web的Linux文件管理方法的流程图;

图2为本发明实施例提供的一种基于Web的Linux文件管理方法的关系图;

图3为本发明实施例提供的一种基于Web的Linux文件管理方法的右键第一事件展示图;

图4为本发明实施例提供的一种基于Web的Linux文件管理装置的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1、图2和图3,图1为本发明实施例提供的一种基于Web的Linux文件管理方法的流程图,图2为本发明实施例提供的一种基于Web的Linux文件管理方法的关系图,图3为本发明实施例提供的一种基于Web的Linux文件管理方法的右键第一事件展示图。该方法可以包括:

步骤101:验证用户登录信息。

其中,所述用户登录信息可以为用户名和密码的组合、二维码或短信等的数据信息。所述用户登录信息的种类有很多,只要可以验证用户的身份本实施对此不受任何限制。

需要说明的是,以用户名和密码作为所述用户登录信息为例,根据用户在登录页面中输入并确认的Linux系统中的用户名及密码,页面通过ajax请求调用后台脚本进行校验。优选的,可以先在“/etc/login.defs”中获取当前系统的加密验证方式,然后根据加密方式对用户的输入进行加密,再根据用户名在“/etc/shadow”中查询系统记录的用户密文,比对加密结果,如果比对一致则返回校验成功,否则校验失败。

可以理解的是,加密验证方式是在满足用户登陆的基础上,进一步保护用户信息的安全,增加了本实施例中所述方法的安全性。

具体实施中,验证用户登录信息可以为页面通过ajax请求与服务器端交互,在服务器端通过执行脚本验证用户合法性,程序代码可以如下:

步骤102:验证成功后,获取用户HOME目录及所述HOME目录下的文件信息列表。

其中,所述文件信息列表中至少可以包含文件名、文件类型、文件字节大小以及最近修改时间等基础信息。

具体实施中,验证成功后,发起ajax请求在“/etc/passwd”中根据用户名获取用户HOME目录,通过“ls”命令获取用户在HOME目录下可以看到的至少可以包含文件名、文件类型、文件字节大小以及最近修改时间等的文件列表信息。其中,文件类型的获取可以为遍历文件列表信息,根据文件权限中的“d”标识判断当前文件是否为文件夹,根据“x”标识判断当前文件是否为可执行文件,根据文件名称后缀判断为doc、zip、gz、sh等不同的文件类型。获取目录文件信息列表的程序,程序代码可以如下:

步骤103:根据所述文件信息列表构造文件操作界面,并创建文件操作事件。

其中,构造的文件操作界面的结构有很多种,常规的是类似Windows文件操作界面的左侧为目录结构树且右侧为文件列表,当然也可以是左侧为文件列表且右侧为目录结构树或者是只展示文件列表。本实施例中使用左侧为目录结构树且右侧为文件列表的文件操作界面,只是易于用户操作的优选方案,本实施对此不受任何限制。

优选的,将文件列表中的文件按文件类型和文件后缀绘制不同的颜色和文件标识,易于用户查看和选取。

需要说明的是,所述创建文件操作事件可以包括:在文件列表的文件处创建行单击事件、行双击事件和右键第一事件;在文件列表的空白处创建右键第二事件。创建的文件操作事件是为了提供给用户管理文件的途径,对于本实施例中创建的四种文件操作事件只是符合常规的易于用户操作的优选方案,创建其中一种或多种文件操作事件亦能达到本实施例的目的,本实施对此不受任何限制。例如,只创建右键第一事件和右键第二事件,用户通过这两种事件也能完成对文件的管理,只是操作过程比较繁琐。

其中,所述行单击事件,包括:判断当前单击对象是否已选中;如果否,则设置选中样式;如果是,则取消选中。例如,如果用户单击的对象未被选中,单击此对象则根据设置的选中样式表示选中;如果用户单击的对象已经被选中,单击此对象则取消选中。

所述双击事件,包括:判断当前双击对象是否为文件或文件夹;如果是文件,双击表示查看文件内容,通过ajax调用后台脚本获取文件内容并在页面展示;如果是文件夹,则根据当前目录信息通过ajax继续获取目录下文件列表信息并重新构造文件界面。例如,当用户双击的对象为文件时,则可以打开此文件,查看内容;当用户双击的对象为文件夹时,则打开此文件夹,也就是文件界面需要重新构造,供用户查看此文件夹内的文件列表。

所述右键第一事件,包括:执行文件查看、复制、重命名、删除、打包和下载中的一种功能或弹出包含文件查看、复制、重命名、删除、打包和下载中的一种以上功能的右键第一菜单。

所述右键第二事件,包括:执行新建文件、新建目录、粘贴和文件上传中的一种功能或弹出包含新建文件、新建目录、粘贴和文件上传中的一种以上功能的右键第二菜单。

需要说明的是,本实施中所述右键第一事件和所述右键第二事件中直接执行一种功能是为了在这两种事件各自只包含一种功能时省略弹出菜单供用户选择的步骤,节省用户操作流程。

可以理解的是,本实施中所述右键第一事件和所述右键第二事件中弹出的右键第一菜单和右键第二菜单是供用户点击操作的功能菜单。两个菜单中的功能数量并不限制为本实施例提供数量,使用其中的两种或两种以上甚至加入新的功能均能实现本实施例的目的,本实施对此不受任何限制。

具体实施中,展示当前目录路径信息;遍历文件信息,过滤获取其中的文件夹信息,构造界面左侧文件目录结构树,为树节点创建行双击事件跳转目标目录;遍历文件信息,构造左侧文件列表,并根据文件类型定义不同的文件样式。程序代码可以如下:

通过contextMenu组件创建右键第一菜单并绑定到表格,可以生成如图3中所示的界面,文件右键功能构建的程序代码可以如下:

创建文件列表行单击事件,可以为之后的文件操作功能提供要操作的文件信息,程序代码可以如下:

对文件进行查看、重命名、复制/粘贴及删除功能,其实现基本都是前台获取文件路径,通过ajax请求传递文件参数和进行的操作,后台根据不同的操作类型调用不同的脚本,脚本中根据操作请求执行touch、mv、cp及rm等命令,此处仅以文件查看功能为例,程序代码可以如下:

创建文件下载功能,页面将要下载的文件路径通过ajax请求传递后台,后台脚本通过创建软链接的方式将文件链接到WEB目录下并返回页面链接文件的地址,前台根据该地址创建下载链接,ajax请求与上一段查看功能的代码大概一致,此处不再详细描述,下载功能的程序代码可以如下:

需要注意的是,通过软链接下载文件需要进行Tomcat的配置,修改$CATALINA_HOME/conf/context.xml,具体程序代码可以如下:

Tomcat6/7:

<Context allowLinking="true">

...

Tomcat 8:

<Context>

<Resources allowLinking="true"/>

...

创建文件上传功能,弹出文件上传窗口;

根据用户选择的本地文件,页面通过html5获取要上传文件的特征信息如:文件名、字节、最后修改时间等,计算特征信息的md5值,在服务器端的临时文件夹中根据md5值创建文件分片存放目录,程序代码可以如下:

页面通过html5中文件操作功能对上传文件进行分片操作,在上传前首先计算分片的md5值,发起ajax判断对应的分片存放目录下是否已存在此md5值的文件,如果存在则跳出此分片上传,否则调用ajax请求将文件分片上传到该存放目录。程序代码可以如下:

在文件分片上传完毕后调用ajax请求进行文件整合,同时删除对应的分片存放目录;

本实施例中,通过验证用户登录信息可以保证用户的安全登录,通过构造文件操作界面并创建文件操作事件,提供了方便简洁的文件操作界面,以及一整套在线文件新建、查看、复制\粘贴、上传下载、在线解压缩等功能,使用户可以直接在网页实现对Linux文件的在线操作管理,有同本地操作一样方便、快捷和安全的体验。进一步的,基于Web端的html5技术对文件的操作支持,提供了大文件上传以及文件断点续传的功能,能够满足用户对GB级文件的上传需求以及解决了由于系统或网络中断导致的上传失败。

请参考图4,图4为本发明实施例提供的一种基于Web的Linux文件管理装置的结构图。该装置可以包括:

验证模块401,用于验证用户登录信息。

获取模块402,用于验证成功后,获取用户HOME目录及HOME目录下的文件信息列表。

构造模块403,用于根据所述文件信息列表构造文件操作界面,并创建文件操作事件。

其中,所述构造模块403包括:

构造界面模块404,用于构造供用户对文件进行操作的文件操作界面。

创建事件模块405,用于在文件列表的文件处创建行单击事件、行双击事件和右键第一事件;在文件列表的空白处创建右键第二事件。

本发明通过验证模块401保证用户的安全登录,通过构造模块403提供了用户对Linux文件管理的种种功能,保证登录用户可以对Linux文件进行操作管理,从而可以实现多用户对Linux文件的在线操作管理。

需要说明的是,本说明书中的实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上对本申请所提供的基于Web的Linux文件管理方法和装置进行了详细介绍,本文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1