cftp获取文件大小
Ⅰ 如何在linux下查看分区和剩余空间大小
df -hl 查看磁盘剩余空间
-sm 文件夹
返回该文件夹总M数
更多功能请查看:
df --help
--help
-sh (这个目录的名字)是查这个目录的大小
使用命令可以查看目录,例如查看/home/kuuyee目录占用磁盘空间大小可以使用下面的命令:
# /home/kuuyee -sh
我的home目录下有上百个构建项目,一个一个的差看目录占用情况太麻烦了用命令:
# /home --max-depth=1 -h
这样的话就吧所有的子目录的磁盘占用情况都列出来了!这里的--max-depth参数代表着要列出目录的深度,如果要列出两级目录就设置为2,以此类推。
如果想吧结果输出到文件里可以这样:# /home --max-depth=1 -h > disk_status.txt
用df -h 查每个根下面的目录的分区大小 就可以知道了
用法: [选项]… [文件]…
或: [选项]… –files0-from=F
总结每个<文件>的磁盘用量,目录则取总用量。
df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:
df -hl
显示格式为:
文件系统 容量 已用 可用 已用% 挂载点
FilesystemSize Used Avail Use% Mounted on
/dev/hda2 45G 19G 24G 44% /
/dev/hda1 494M 19M 450M 4% /boot
/dev/hda6 4.9G 2.2G 2.5G 47% /home
/dev/hda5 9.7G 2.9G 6.4G 31% /opt
none 1009M 0 1009M 0% /dev/shm
/dev/hda3 9.7G 7.2G 2.1G 78% /usr/local
/dev/hdb2 75G 75G 0 100% /
/dev/hdb2 75G 75G 0 100% /
以上面的输出为例,表示的意思为:
HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,因此利用率是100%, 被挂载到根分区目录上(/)。
例子
1)查看文件大小
查看当前文件夹下所有文件大小(包括子文件夹)
-sh
# -h
15M ./package
16K ./.fontconfig
4.0K ./.cache
5.1M ./.rpmdb
20M .
查看指定文件夹下所有文件大小(包括子文件夹)
# -h ftp
3.8G ftp/sanya/doc
3.8G ftp/sanya
4.0K ftp/testftp/doc
1.4M ftp/testftp
875M ftp/platform/doc/002-录像
27M ftp/platform/doc/001-PDF
5.2M ftp/platform/doc/BBFlash
1.2G ftp/platform/doc/003-录音
2.1G ftp/platform/doc
2.1G ftp/platform
4.0K ftp/pmo/doc
20K ftp/pmo
36M ftp/uf/doc/innovate-201207
36M ftp/uf/doc
36M ftp/uf
446M ftp/code/doc
446M ftp/code
6.3G ftp
查看指定文件大小
# -h ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
184K ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
查看指定文件夹大小
# -hs ftp
6.3G ftp
统计总数大小
-sh xmldb/
-sm * | sort -n //统计当前目录大小 并安大小 排序
-sk * | sort -n
-sk * | grep guojf //看一个人的大小
-m | cut -d "/" -f 2 //看第二个/ 字符前的文字
查看此文件夹有多少文件 /*/*/* 有多少文件
xmldb/
xmldb/*/*/* |wc -l
40752
解释:
wc [-lmw]
参数说明:
-l :多少行
-m:多少字符
-w:多少字
参数含义如下:
-s 对每个Names参数只给出占用的数据块总数。
-a 递归地显示指定目录中各文件及子孙目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b 以字节为单位列出磁盘空间使用情况(系统缺省以 k 字节为单位)。
-k 以1024字节为单位列出磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省设置)。
-l 计算所有的文件大小。
Ⅱ c# 获取远程文件大小的问题
c# 获取远程文件大小的前提,是服务器要支持报告文件的大小,然后就可以从httpResponse.Head的ContentLength字段中获取。
具体代码如下:
//文件大小
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://........pdf");
HttpWebResponse myRes = (HttpWebResponse)myReq.GetResponse();
Response.Write(myRes.ContentLength);
myRes.Close();
Ⅲ shell脚本中ftp连接
你先看看你的IP是不是192开头的并且大多数都是这样的
192.168.1.什么什么的记住第3位一定要是1.
Ⅳ ftp如何设置
Serv-U 的用法
利用Serv-U
在FTP服务器的搭建中,Serv-U是目前使用比较多的工具之一。它设置简单,功能强大,而且非常稳定,总体上来说上它比IIS附带的FTP服务器略胜一筹。它适用于所有的Windows版本,是一款共享软件,可以让用户免费使用一个月。
第一步:Serv-U的下载和安装。
目前Serv-U的最高版本为4.0,文件大小为2.9MB,它的下载站点之一为“http://www.download.com.cn/show.phtml?action=detail&id=484”。
点击下载的可执行文件即可开始安装了,安装过程很简单,所有设置保持默认值就可以,按“Next”完成每一步(如图24)。安装完毕,在Windows的桌面上就出现Serv-U的图标,双击Serv-U图标,出现Serv-U主窗口,点击主界面右边窗口的“Start server”即可启动FTP服务器 。
第二步:Serv-U的配置。
在Serv-U的安装完成之后即可出现配置向导,可以通过这个向导来对它进行配置,主要步骤如下。
A.安装程序首先启动一个设置向导帮助你设置FTP服务器,点击“Next”继续。
B.系统弹出输入IP的对话框,此项需要填入你准备为此FTP服务器绑定的IP地址。除非你的计算机有多个固定的IP地址,并且你只想其中一个被FTP服务器所使用,否则,建议不管你是否有固定的IP地址,都将此项保留为空(即让系统自动侦测),点击“Next”(如图25)。
C.输入Domain name(域名)。此处填入你FTP服务器的域名。但域名由DNS解析而不是由这里决定,因此实际上你可以填入任意内容,比如像“我的个人FTP服务器”这种对此FTP进行说明的文字。
D.输入FTP访问的端口号,一般保持默认的21即可。
E.匿名用户的创建和访问目录的设定。首先向导会提示你是否要创建匿名帐号,这里选择是,如果选择不,则用户需要用户名和密码才能访问FTP服务器。接下来安装向导提示输入匿名用户的主目录(Anonymous home directory),此处按照需要来设定匿名用户访问硬盘的位置。
F.选择匿名用户是否将其限制在主目录里,如果选择是,则用户只能访问其主目录及以下的目录树;如果选择否,则可以访问其主目录的同级或更高级的目录树。从安全角度考虑,一般建议选是。
G.创建新用户和访问目录。按照向导的提示一步一步创建新用户并输入密码(如图26),接着指定该用户可访问的目录和用户权限即可。
到这里,你的个人FTP就已经搭建完成了。不过这还只能实现Serv-U赋予的默认功能和权限,要真正让这个服务器能被你自己随心所欲地控制和管理,则还需要经过以下后续的操作,这主要包括如下几点。
A.对FTP用户的管理
欲增加一个新用户(包括增加Anonymous用户),则在Serv-U的一个域中选中Users(用户),然后单击右键,进入New User(新用户),依次根据提示为它设置好User Name(用户名)、Password(密码)、Home directory(主目录)等即可完成(如图27)。
欲删除一个用户,则在此用户上单击右键,选Delete User(删除用户)即可。
B.对目录权限的管理
在Serv-U左边框架中选中用户名,再在右边框架中进入Dir Access(目录存取)窗口,然后在列表中选中相应目录后,就可在窗口的右侧更改当前用户对它的访问权限了(如图28)。
文件的属性主要包括:
Read(读):对文件进行读操作(复制、下载,不含查看)的权力。
Write(写):对文件进行写操作(上传)的权力。
Append(附加):对文件进行写操作和附加操作的权力。
Delete(删除):对文件进行删除(上传、更名、删除、移动)操作的权力。
Execute(执行):直接运行可执行文件的权力。
List(列表):对文件和目录的查看权力。
Create(建立):建立目录的权力。
Remove(移动):对目录进行移动、删除和更名的权力。
Inherit(继承):如勾选中此项,则以上设置的属性将对当前Path(目录)及其下的整个目录树起作用;否则就只对其当前目录有效。
C.其他设置
在Local server下的Setting处还可设置服务器的一些通用信息。
在“max no.of users”处,设定同时登录该服务器的最大用户数。
在Max.Speed处根据自己电脑的配置,设置用户最大下载速度。
选择“Block users who connect more than XX times within YY seconds for ZZ minutes”复选框并设置相应的数值,可以防止有些恶意用户为达到攻击目的在短时间内对该服务器的频繁登录。
选择“Delete partially uploaded files”复选框,可以自动删除上传失败后留在服务器上不完整文件。如果不要选中这项,就能让Serv-U支持断点上传功能(如图29)。
Ⅳ centos7ftp限制文件夹大小
1、先用dd命令建立一个100M大的文件,命名为vhost01.img:
dd if=/dev/zero ibs=2M count=50 of=/data/htdocs/vhost01.img
解释:
if=/dev/zero:表示输入文件为/dev/zero,一个虚拟的设备,顾名思义,里边的数据全是0
ibs=2M: 表示每次读取的块大小为2M
count=50:表示共读取50块
of=/data/htdocs/vhost01.img:输出文件
2、将此常规文件与loop设备进行关联
losetup /dev/loop0 /data/htdocs/vhost01.img
3、建立文件系统
mkfs.ext3 /dev/loop0
4、挂接文件设备
mount -t ext3 /dev/loop0 /data/htdocs/vhost01
Ⅵ FTP常用命令有哪些
网上抄的,好多... 你慢慢看吧
1)DIR--显示指定路径上所有文件或目录的信息
它的格式为"DIR [盘符:][路径][文件名] [参数]",比如"DIR E:\FF.M3U"。输入后回车则会显示出相关信息(如图1)。另外它还有几个参数:
/W:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息;
/P:分页显示,当屏幕无法将信息完成显示时,可使用其进行分页显示;
/A:显示具有特殊属性的文件,这里的属性有"H"隐藏、"R"只读等,我们可以输入"DIR *.* /AH"来显示当前目录下所有具有隐藏属性的文件;
/S:显示当前目录及其子目录下所有的文件,通过这个参数,我们可以进行某个文件或目录的查找,比如我们可以在"C:>"后输入"DIR *.DAT /S"来查找C盘中所有后缀名为DAT的文件。
几种参数可以同时使用,例如"DIR *.COM /W /P /S"。
2)MD--建立目录
它的格式为"MD [盘符][路径]",例如"MD TEMP"。
注意:该命令一次只能建立一个目录。
3)RD--删除目录格式为"RD [盘符][路径]"。
注意:该命令只能删除空目录,并且不能删除当前目录。
4)CD--进入指定目录
格式为" CD [路径]",例如"CD HAPPY"。
注意:只能进入当前盘符中的目录。其中"CD\"为回到根目录,"CD.."为回到上一层目录。
5)COPY--拷贝文件
格式为"COPY [源目录或文件] [目的目录或文件]",比如"COPY C:\*.COM D:\",我们也可以输入"COPY C:\Command.COM D:\Command.BAK"来进行文件拷贝并改名。
注意:使用该命令进行文件拷贝时,目的目录一定要存在。
6)DEL--删除文件
格式为"DEL [盘符][路径][文件名] [参数]",比如"DEL C:\DATA\*.BAK"。它有一个参数:"/P",可以使用户在删除多个文件时对每个文件都显示删除询问
7)REN--改名
格式为"REN [原名] [现名]",7.0以后版本的DOS都支持对文件名和目录名的修改,而以前的DOS只能修改文件名。
8)TYPE--显示文本文件
格式为"TYPE [文件名]",能对文本文件进行查看。
9)dis--磁盘复制
[功能] 复制出一个和原来磁盘内容一模一样的磁盘
[格式] disk 源驱动器名 目的驱动器名
[说明] 它的主要用途就是用来备份。比如我们的电脑在刚买来时,会随机附带一些设备驱动程序磁盘,这些驱动程序在以后都有可能用到,为防止这些磁盘的损坏,一定要将它们都备份一套,这时,使用disk命令是比较快捷和方便的。
10) deltree--删除目录树
[格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]]
[说明] 这个命令将整个指定目录树全部消灭,而不管它是否是只读、隐藏与否。使用应特别小心。它是一个危险命令。
11) mem--查看你的计算机内存有多少,以及内存的使用情况。
[格式] 直接键入mem命令
12) chkdsk--检查你的磁盘的使用情况。
[格式] chkdsk 磁盘名
[说明] 例如要检查A盘使用情况,就输入chkdsk A: ,检查c盘使用情况,就输入chkdsk C: ,如果直接输入chkdsk,就检查当前磁盘的使用情况。
13) sys--传递系统文件命令。将DOS的两个隐含的系统IO.SYS和MSDOS.SYS传送到目标磁盘的特定位置上,并将COMMAND.COM文件复制过去。完成后,目标盘成为DOS的启动盘。
[格式] [C:][path]SYS [C1:][path] d2:
[说明] 由于这几个文件需要复制到特定位置上,所以用COPY命令完成的复制未必能够启动机器。能过SYS命令,DOS可以将目标盘已占据特定位置的文件移动,并将系统文件复制到相应位置上。参数C1:path用来指明系统文件所在目录。如不指明,则缺省为当前盘的当前目录。所以这个命令一般要在源盘的根目录进行。
14) pass--设定DOS寻找.COM、.EXE、.BAT文件的所在目录
[格式] path=[[drive:]path[;…]]或path
[说明] 只打path没有参数时,只显示环境变量内容。有参数时,重新设置path变量。在没有指定path环境变量时,用户发出的命令,DOS首先判断其是否为内部命令,再查找当前目录中是否有主文件名是该命令的可执行文件,如果均不是,则显示信息“Bad command or filename”。如果发出了指定路径的命令,则在指定径中依次查找,仍找不到则出现上述提示。
15) cls--清除显示器屏幕上的内容,使DOS提示符到屏幕左上角。
[格式] cls
16) time--显示和设置DOS的系统时间
[格式] time [hh[:mm[:ss[.cc]]]
17) date--显示和设置DOS的系统日期
[格式] date [MM-DD-YY]
18) ver--显示正在运行的DOS系统版本号
[格式] ver
DOS的外部命令
DOS的外部命令就是一些应用程序,能够使用户的操作更加方便和深入。这些外部命令都是以文件的形式存在,Windows系统的DOS外部命令保存在Windwos主目录下的"Command"目录中。下面就让我们来看看常用的一些DOS外部命令。
1)FORMAT(Format.COM)--格式化命令
众所周知,新买的磁盘都必须经过格式化后方能使用,FORMAT命令可以完成对软盘和硬盘的格式化操作,格式为"FORMAT [盘符] [参数]",例如:"FORMAT A: /S"。它有两个常见的参数:
/Q:进行快速格式化;
/S:完成格式化,并将系统引导文件拷贝到该磁盘。
注意:该命令会清除目的磁盘上的所有数据,一定要小心使用
。如果进行了普通的格式化,那磁盘上的数据还有可能恢复,但如果加上了"/Q",那要恢复就比蹬天还难了。
2)EDIT(Edit.COM)--编辑命令
其实它就是一个文本编辑软件(如图3),使用它可以在DOS下方便地对文本文件进行编辑,格式为"EDIT [文件名] [参数]",它的参数不是特别实用,我在此就不多讲。
3)SYS(Sys.COM)--系统引导文件传输命令
它能够将IO.SYS等几个文件传输到目的磁盘,使其可以引导、启动。格式为"SYS [盘符]"
4)ATTRIB(Attrib.EXE)--文件属性设置命令
通过该命令,我们可以对文件进行属性的查看和更改。格式为"ATTRIB [路径][文件名] [参数]",如果不加参数则为显示文件属性。它的参数有" ?"和"-?"两种,"?"代表属性代号,这些代号有:"H"隐藏;"S"系统;"R"只读," "表示赋予,"-"表示去除。
5)XCOPY(X.EXE)--拷贝命令
该命令在"COPY"的基础上进行了加强,能够对多个子目录进行拷贝。它的参数比较多,但是最常用的是"/S",它可以对一个目录下属的多个子目录进行拷贝,另外"/E"可以拷贝空目录。格式为"XCOPY [源路径][源目录/文件名] [目的目录/文件名] [参数]"。
6)SCANDISK(Scandisk.EXE)--磁盘扫描程序
这个命令在实际的操作中有很大的用处,它能对磁盘进行扫描并修复,能够解决大部分的磁盘文件损坏问题。格式为"SCANDISK [盘符:] [参数]"下面是它的几个参数:
/fragment 〔驱动器名:\路径\文件名〕:使用这个参数可以显示文件是否包含有间断的块,我们可以通过运行磁盘整理程序来解决这个问题;
/all:检查并修复所有的本地驱动器;
/autofix:自动修复错误,即在修复时不会出现提示;
/checkonly:仅仅检查磁盘,并不修复错误;
/custom:根据Scandisk.ini文件的内容来运行Scandisk,Scandisk.ini是一个文本文件,它包含了对Scandisk程序的设置,其中的〔custom〕块是在加上"/custom"参数后才执行的,用户可以根据自己的不同情况来进行不同的设置;
/nosave:在检查出有丢失簇后直接删除,并不转化为文件;
/nosummary:不显示检查概要,完成检查后将直接退出程序;
/surface:在完成初步检查后进行磁盘表面扫描;
/mono:以单色形式运行Scandisk。
我们可以根据不同的情况来加上不同的参数。我们可以执行"scandisk /all /checkonly /nosave /nosummary"来完成对磁盘的检查并且自动退出,另外还可以编辑scandisk.ini文件中设置,再运行"scandisk /custom"。如果被损坏的文件比较多,我们可以使用"/autofix"来进行自动修复,不然会忙死你的。
7)CHKDSK(Chkdsk.EXE)--磁盘检查命令
它会检查磁盘,并会显示一个磁盘状态报告。格式为"CHKDSK [盘符:] [参数]",最常用的参数是"/F",可以对文件错误进行修复。
8)MOVE(Move.EXE)--文件移动命令
使用它可以对文件进行移动。格式为"MOVE [源文件] [目的路径]"。同时也可以使用通配符。
9)DELTREE(Deltree.EXE)--删除命令
这可是DEL命令的超级加强版,它不仅可以删除文件,并且会将指定目录和其下的所有文件和子目录一并删掉。使用它,我们可以很方便的对目录进行彻底的删除。格式"DELTREE [文件/路径] [参数]",参数有一个"/Y",使用时系统会对每个文件进行询问,回答"Y"后才删除。
10)FDISK(Fdisk.EXE)--分区命令
我们可以使用它对硬盘进行分区操作,我在下一部分会进行具体讲解。
以上就是常用的一些DOS外部命令,使用它们可以使你的操作更方便,同时也是进行系统修复所必不可少的。请大家好好地掌握每一个命令及其用处。
Ⅶ C# 获取Ftp某个目录下的所有文件(不要文件夹)
我在之前做过一个FTP的客户端工具。
drw 文件夹
-rw 文件(有扩展名或无扩展名)
我是根据服务端返回的报文进行分析获取的列表。
给你一些代码片段:
/// <summary>
/// 获取指定目录下的文件和文件夹。
/// </summary>
/// <param name="path">要获取的目录</param>
/// <param name="WRMethods">要发送到FTP服务器的密令。</param>
/// <returns></returns>
public string[] GetFileList(string path, string WRMethods)//从ftp服务器上获得文件列表
{
WebResponse response;
string[] downloadFiles;
int conut = 4;
StringBuilder result = new StringBuilder();
Connect(path);
if (FTPVariable.IsUseProxy_ftp)
{
reqFTP.Proxy = FtpProxy.GetFtpSelectProxy(FTPVariable.FtpCommand_transferProxyName);
}
reqFTP.ReadWriteTimeout = 12000;
//如果不应销毁到服务器的连接,则为 true;否则为 false。默认值为 true。
//
reqFTP.Method = WRMethods;
try
{
response = (FtpWebResponse)reqFTP.GetResponse();
goto Ftp_lbl_03;
}
catch (WebException webex)
{
GetReply(webex.Message);
if (ReplyCode == 530)// 未登录。
{
goto Ftp_lbl_04;
}
else if (ReplyCode == 550)
{
goto Ftp_lbl_04;
}
else
{
FtpManage.SetLog("获取列表超时,等候1秒后重试!");
goto Ftp_lbl_01;
}
}
Ftp_lbl_01:
try
{
FtpManage.SetLog("正在连接服务器 " + FtpRemoteHost);
response = GetRequest(path, WRMethods);
}
catch (WebException)
{
FtpManage.SetLog("获取列表超时,等候1秒后重试!");
downloadFiles = null;
System.Threading.Thread.Sleep(1000);
if (conut == 0)
{
goto Ftp_lbl_02;
}
conut--;
goto Ftp_lbl_01;
}
catch (Exception ex)
{
MSG.Show(ex.Message, Global.GetRS["msgTilteError"], MessageBoxButton.OK, MsgIco.Error);
FtpManage.SetLog("命令执行失败,原因:" + ex.Message);
downloadFiles = null;
return downloadFiles;
}
Ftp_lbl_03:
StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.Default);//中文文件名
string line = reader.ReadLine();
while (line != null)
{
result.Append(line);
result.Append("\n");
line = reader.ReadLine();
}
if (result.Length == 0)
{
return null;
}
// to remove the trailing '\n'
result.Remove(result.ToString().LastIndexOf('\n'), 1);
reader.Close();
response.Close();
FtpManage.SetLog("命令已成功执行");
return result.ToString().Split('\n');
Ftp_lbl_04:
FtpManage.SetLog(ReplyInfo);
return null;
Ftp_lbl_02:
FtpManage.SetLog("550 获取列表失败,无法连接远程服务器!");
FtpManage.ftpmanage.IsRefurbish = true;
return null;
}
/// <summary>
/// 获取指定目录下的文件和文件夹。
/// </summary>
/// <param name="path">要获取的目录</param>
/// <returns></returns>
public string[] GetFileList(string path)//从ftp服务器上获得文件列表
{
return GetFileList(FTPVariable.FtpURLhead + FtpRemoteHost + "/" + path, WebRequestMethods.Ftp.ListDirectory);
}
/// <summary>
/// 获取指定目录下的文件和文件夹。
/// </summary>
/// <returns></returns>
public string[] GetFileList()//从ftp服务器上获得文件列表
{
return GetFileList(FTPVariable.FtpURLhead + FtpRemoteHost + "/", WebRequestMethods.Ftp.ListDirectory);
}
/// <summary>
/// 获取目录和文件名,返回目录表。
/// </summary>
/// <param name="path">要获取的目录</param>
/// <returns></returns>
public string[] GetCatalog_FileList(string path)
{
string[] fountainhead = GetFileList(FTPVariable.FtpURLhead + FtpRemoteHost + "/" + path, WebRequestMethods.Ftp.ListDirectoryDetails);
string[] Catalog = null;
if (fountainhead == null)
{
return null;
}
Catalog = new string[fountainhead.Length];
for (int i = 3; i < fountainhead.Length; i++)
{
Catalog[i - 3] += fountainhead[i].Substring(55, fountainhead[i].Length - 55) + "&";//FileName
Catalog[i - 3] += fountainhead[i].Substring(30, 12) + "&";//FileSize
Catalog[i - 3] += fountainhead[i].Substring(42, 13) + "&";//AmendDate
Catalog[i - 3] += fountainhead[i].Substring(0, 3) + "&";
}
return Catalog;
}
Ⅷ 用java怎么判断FTP上的文件大小改变了
日志目录:
已经架设了一个IIS下的FTP服务器,应该如何查看连接日志?
答:利用IIS架设的FTP服务器不能实时看到连接的具体情况,不过可以在C:\Winnt\system32\logfiles目录中查看到连接上FTP服务器的IP地址、时间等日志信息。
如何开启日志:
在默认FTP站点属性对话框中,切换到“FTP站点”标签页,一定要确保“启用日志记录”选项被选中,这样就可以在“事件查看器”中查看FTP日志记录了。
我感觉,这种方法也不是实时的,你只是将轮询文件变成了轮询日志,一样的感觉。
你如果想变成实时的,就是说文件大小一发生改变就通知你。我想到的办法是这样的。
你再做一个系统,这个系统可以较大频率的去轮询日志或者文件,因为这个系统可以架设在别的机器上,所以不会影响你系统的性能。然后在你系统中建立一个webservice,提供下载那个文件的服务,当那个系统发现更改时调用你的webservice,你就可以下载了。
我觉得这只是一种折中的办法,而且也比较费事,如果没有实时的要求,还是定时轮询的好。
PS:
实话说不知道你为什么要检验文件的大小,有时内容改变不一定大小会变得。
你可以记录文件上一次的修改时间。然后当这个发生改变时再取就是了。
Ⅸ FTP常用命令有哪些
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。
FTP的命令行格式为:ftp -v -d -i -n -g [主机名],其中
-v显示远程服务器的所有响应信息;
-n限制ftp的自动登录,即不使用;
.n etrc文件;
-d使用调试方式;
-g取消全局文件名。
ftp使用的内部命令如下(中括号表示可选项):
1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.
2.$ macro-ame[args]:执行宏定义macro-name.
3.account[password]:提供登录远程系统成功后访问系统资源所需的补充口令。
4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。
5.ascii:使用ascii类型传输方式。
6.bell:每个命令执行完毕后计算机响铃一次。
7.bin:使用二进制文件传输方式。
8.bye:退出ftp会话过程。
9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。
10.cd remote-dir:进入远程主机目录。
11.cp:进入远程主机目录的父目录。
12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。
13.close:中断与远程服务器的ftp会话(与open对应)。
14.cr:使用asscii方式传输文件时,将回车换行转换为回行。
15.delete remote-file:删除远程主机文件。
16.debug[debug-value]:设置调试方式,显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。
17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件local-file。
18.disconnection:同close。
19.form format:将文件传输方式设置为format,缺省为file方式。
20.get remote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。
21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。
22.hash:每传输1024字节,显示一个hash符号(#)。
23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。
24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。
25.image:设置二进制传输方式(同binary)。
26.lcd[dir]:将本地工作目录切换至dir。
27.ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。
28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。
29.mdelete[remote-file]:删除远程主机文件。
30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如:mdir *.o.*.zipoutfile
31.mget remote-files:传输多个远程文件。
32.mkdir dir-name:在远程主机中建一目录。
33.mls remote-file local-file:同nlist,但可指定多个文件名。
34.mode[modename]:将文件传输方式设置为modename,缺省为stream方式。
35.modtime file-name:显示远程主机文件的最后修改时间。
36.mput local-file:将多个文件传输至远程主机。
37.newer file-name:如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。
38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。
39.nmap[inpattern outpattern]:设置文件名映射机制,使得文件传输时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。
40.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。
41.open host[port]:建立指定ftp服务器连接,可指定连接端口。
42.passive:进入被动传输方式。
43.prompt:设置多个文件传输时的交互提示。
44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令,该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。
45.put local-file[remote-file]:将本地文件local-file传送至远程主机。
46.pwd:显示远程主机的当前工作目录。
47.quit:同bye,退出ftp会话。
48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。
51.rhelp[cmd-name]:请求获得远程主机的帮助。
52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态,否则显示文件状态。
53.rename[from][to]:更改远程主机文件名。
54.reset:清除回答队列。
55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。
56.rmdir dir-name:删除远程主机目录。
57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀..1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:设置PORT命令的使用。
60.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。
61.size file-name:显示远程主机文件大小,如:site idle 7200。
62.status:显示当前ftp状态。
63.struct[struct-name]:将文件传输结构设置为struct-name,缺省时使用stream结构。
64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。
65.system:显示远程主机的操作系统类型。
66.tenex:将文件传输类型设置为TENEX机的所需的类型。
67.tick:设置传输时的字节计数器。
68.trace:设置包跟踪。
69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。
70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3。
71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。
72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有响应都将显示给用户,缺省为on.
73.?[cmd]:同help。
Ⅹ 易语言如何取FTP文件大小
版本 2
.支持库 spec
.如果真 (到整数 (取文件尺寸 (“C:\Windows\regedit.exe”) ÷ 1000) = 133)
调试输出 (到整数 (取文件尺寸 (“C:\Windows\regedit.exe”) ÷ 1000))
.如果真结束