用于在没有 -R 的 FTP 服务器上列出递归目录的 Bash 脚本

     2023-03-06     179

关键词:

【中文标题】用于在没有 -R 的 FTP 服务器上列出递归目录的 Bash 脚本【英文标题】:Bash script for recursive directory listing on FTP server without -R 【发布时间】:2015-05-07 00:16:25 【问题描述】:

FTP 服务器上有多个带有子文件夹和图像文件的文件夹。 -R 被禁用。我需要将带有路径名的递归目录列表转储到文本文件中。到目前为止,我的逻辑是,遍历每个文件夹,检查文件夹名称是否包含“。”将其验证为文件或文件夹,如果它是文件夹,请进入并检查子文件夹或文件并列出它们。由于我不能使用 -R,我必须使用一个函数来执行遍历每个文件夹。

#!/bin/sh  
ftp_host='1.1.1.1'  
userName='uName'  
ftp -in <<EOF  
open $ftp_host  
user $userName  
    recurList() 
    path=`pwd`
    level=()
    for entry in `ls`
    do
            `cwd`
close
bye
EOF  

我被 for 循环的论点所困扰!

【问题讨论】:

【参考方案1】:

很抱歉,您还没有收到任何回复。我认为原因可能是 Bash 不是解决这个问题的好方法,因为它需要与 FTP 客户端交互,即发送命令和读取响应。 Bash 不擅长这种事情。所以除了“不要使用 Bash”之外没有简单的答案。

我建议你看看另外两个工具。

首先,您可以使用http://curlftpfs.sourceforge.net/ 获取您想要的信息。如果使用 curlftpfs 挂载 FTP 服务器,则可以使用find 命令转储目录结构。这是最简单的选择...如果可行!

或者,您可以使用带有ftplib 模块的Python 编写程序:https://docs.python.org/2/library/ftplib.html。该模块允许您通过 API 调用与 FTP 服务器进行交互。

【讨论】:

非常感谢您抽出宝贵时间提供这方面的信息。我对 python 有一点基础,所以让我把重点放在那个替代方案上。但再次感谢!

ftp命令详解(代码片段)

...级到最新版本。yum-yinstallftp二、ftp的用户缺省情况下,ftp服务器操作系统用户名/密码也是ftp客户端登录的用户名/密码。root用户的权限过大,不允许登录ftp服务器。三、登录服务器方法一:输入ftp服务器ip地址,回车后根据提示... 查看详情

ftp命令详解(代码片段)

目录一、安装ftp客户端软件包二、ftp的用户三、登录服务器四、切换工作目录1、查看服务器工作目录2、切换服务器工作目录3、切换本地工作目录五、查看服务器上的目录和文件1、列出目录或文件名的详细信息2、仅列出目录和... 查看详情

在Unix中递归列出文件中的所有文件? [复制]

...描述】:我正在尝试通过某个目录中的所有文件grep。有没有办法通过ls之类的方式递归列出所有目录和其中的文件/目录?【问题讨论】:你想匹配文件名还是文件内容?mywiki.wooledge.org/ParsingLs; 查看详情

关于内网用户访问外网ftp的问题:无法列出目录

...络,所以不可能知道路由器的密码再补充:三楼的回答也没有说明问题...1.用户帐号:在Linux系统中,是通过用户帐号来标识每一个用户的,通过登录时输入不同的用户帐号和密码确定你的身份。也就是说,Linux系统通过用户... 查看详情

在Databricks(DBFS)中递归列出目录和子目录的文件

】在Databricks(DBFS)中递归列出目录和子目录的文件【英文标题】:listthefilesofadirectoryandsubdirectoryrecursivelyinDatabricks(DBFS)【发布时间】:2021-01-0509:31:45【问题描述】:使用python/dbutils,如何在Databricks文件系统(DBFS)中递归显示当... 查看详情

在 Ruby 中递归列出目录的单线器?

】在Ruby中递归列出目录的单线器?【英文标题】:One-linertorecursivelylistdirectoriesinRuby?【发布时间】:2011-01-2303:56:28【问题描述】:在Ruby中获取目录数组(不包括文件)的最快、最优化、单行方式是什么?包含文件怎么样?【问... 查看详情

如何在shell的递归目录中列出特定类型的文件?

】如何在shell的递归目录中列出特定类型的文件?【英文标题】:Howtolistspecifictypeoffilesinrecursivedirectoriesinshell?【发布时间】:2011-04-0112:05:54【问题描述】:我们如何找到特定类型的文件,即嵌套目录中存在的docpdf文件。我试过的... 查看详情

在 Linux CLI 中以相对于当前目录的路径递归列出文件

】在LinuxCLI中以相对于当前目录的路径递归列出文件【英文标题】:ListfilesrecursivelyinLinuxCLIwithpathrelativetothecurrentdirectory【发布时间】:2010-09-1917:31:08【问题描述】:这类似于thisquestion,但我想在unix中包含相对于当前目录的路径... 查看详情

PHP FTP递归目录列表

...【问题描述】:我正在尝试创建一个递归函数以从我的ftp服务器中获取数组中的所有目录和子目录。我尝试了很多我在网上找到的功能。最适合我的是这个:publicfunctiongetAllSubDirFiles()$dir=array(".");$a=count($dir);$i=0;$dep 查看详情

如何递归列出某个位置的所有目录,广度优先?

】如何递归列出某个位置的所有目录,广度优先?【英文标题】:HowdoIrecursivelylistalldirectoriesatalocation,breadth-first?【发布时间】:2010-10-0701:51:21【问题描述】:在这里,广度优先列表很重要。此外,限制搜索的深度会很好。$find.-t... 查看详情

在 zipfile 中递归列出所有目录而不在 python 中提取

】在zipfile中递归列出所有目录而不在python中提取【英文标题】:Listingalldirectoriesrecursivelywithinthezipfilewithoutextractinginpython【发布时间】:2016-09-2113:09:20【问题描述】:在Python中,我们可以使用以下代码获取zipfile中所有文件的列表... 查看详情

如何能使ftp快速删除目录

...器,百度万网,进入官网,登录主机用户;4、进入主机服务器的控制台;5、点击有文件管理,使用文件删除功能,进行删除;6、查看网络状态,并用域名访问文件测试。方法二如下:1、登陆主机操作平台;2、点击“独立面板... 查看详情

如何在 Windows .bat 文件中递归列出 *.mp3 类型的所有文件?

】如何在Windows.bat文件中递归列出*.mp3类型的所有文件?【英文标题】:HowdoIrecursivelylistallfilesoftype*.mp3inaWindows.batfile?【发布时间】:2011-02-2610:07:09【问题描述】:我想从给定目录中递归列出所有以mp3结尾的文件的绝对路径,该目... 查看详情

PHP - 在下拉菜单中递归列出所有目录和子目录[重复]

】PHP-在下拉菜单中递归列出所有目录和子目录[重复]【英文标题】:PHP-Listingalldirectoriesandsub-directoriesrecursivelyindropdownmenu[duplicate]【发布时间】:2012-12-2714:46:16【问题描述】:可能重复:PHPGetallsubdirectoriesofagivendirectory我想要一个... 查看详情

递归列出文件的例程的奇怪错误

】递归列出文件的例程的奇怪错误【英文标题】:Weirdbugwithroutinetolistfilesrecursively【发布时间】:2013-06-0514:32:10【问题描述】:任何人都可以发现我在这里缺少什么吗?该代码块应该递归访问目录并存储目录路径和其中文件的路... 查看详情

除了官方常见问题解答中列出的问题外,在 Windows 服务器上用于生产的 XAMPP 是不是还有其他安全/性能问题?

】除了官方常见问题解答中列出的问题外,在Windows服务器上用于生产的XAMPP是不是还有其他安全/性能问题?【英文标题】:Isthereanyothersecurity/performanceissueofXAMPPforproductiononwindowsserverexceptthoselistedinofficialFAQ?除了官方常见问题解答... 查看详情

在 Kotlin 中递归列出文件

】在Kotlin中递归列出文件【英文标题】:ListfilesrecursivelyinKotlin【发布时间】:2017-11-1722:37:25【问题描述】:要使用kotlin列出目录中的文件,我使用了list()和listFiles()函数:File("/tmp").list().forEachprintln(it)File("/tmp").listFiles().forEachprint... 查看详情

如何在没有管理员权限的服务器上列出共享打印机

】如何在没有管理员权限的服务器上列出共享打印机【英文标题】:Howlistsharedprintersonserverwithoutadminrights【发布时间】:2016-12-1620:23:58【问题描述】:我希望在PowerShell中列出打印服务器列表中的所有打印机队列(或在必要时包装... 查看详情