976209075 发表于 2011-04-11 09:42

FTP 命令详解

本帖最后由 976209075 于 2011-04-21 11:50 编辑

FTP命令详解
--------------------------------------------------------------------------------
  首先安装Linux 企业版第一张光盘中的vsftpd-2.0.1-5.i386.rpm

  #rpm –ivh /media/cdrom/RedHat/RPMS/vsftpd-3.0.1-5.i386.rpm

  启动vsftpd服务

  #service vsftpd start

  刷新防火墙

  #iptables -F

  这样一个简单linux下的FTP就已经搭建好了!(默认目录:/var/ftp)

  下面就来慢慢优化我们的FTP服务器:

  实验一:如果我不允许FTP匿名登陆,我们可以修改vsftpd的主配置文件来实现

  #vi /etc/vsftpd/vsftpd.conf 把anonymous_enable=YES 改为anonymous_enable=NO

  重启vsftpd即可!

  实验二:windows中FTP服务器可以设置欢迎词,最大连接数,那我们在Linux的FTP服务器中设置呢?我要回答的是:同样可以,我们同样可以vsftpd的主配置文件来实现

  # vi /etc/vsftpd/vsftpd.conf

  在最后添加 ftpd_banner=welcome to here! 这就是欢迎词

  Max_clients=100 这就表示最多可以有100个用户同时访问

  重启vsftpd即可!

  实验三:如果我想把借我钱不还的同事(lilei),不想让他登陆到我们的FTP站点,那我可以把用户lilei添加到vi /etc/vsftpd.ftpusers 重启vsftpd服务即可。

  实验四:上午总经理说要提拔公司的一小部分人,听到这个消息,赶紧行动,我只允许总经理一个人可以登陆FTP服务器,其他人休想,拍经理马匹,限制其他人。我可以这样做:

  # vi /etc/vsftpd/vsftpd.conf 到最后添加2条,

  userlist_deny=NO /这个列表里的人不拒绝,其他人拒绝(包括匿名)

  userlist_file=/etc/mp /指明列表的路径

  然后:#vi /etc/mp 把经理的名字添加上去

  重启vsftpd 服务即可!

  但是下午经理把提拔的人的名字给公布了,愤怒的是既然没有我。为了表现一下我的愤怒,我决定让经理不能登陆FTP服务器,其他人都可以。我可以这样做:

  # vi /etc/vsftpd/vsftpd.conf 把上午添加的userlist_deny=NO

  改为userlist_deny=YES /这个列表中的人拒绝,其他人通过。

  重启vsftpd 服务即可!

  实验五:注册的用户我们可以给他很高的下载速度(200k),匿名用户的话,给他们20K的速度,可以这样做:

  # vi /etc/vsftpd/vsftpd.conf 在最后添加

  Local_max_rate=200000

  Anon_max_rate=20000

  重启vsftpd 服务即可!

  实验六:前天同事一(zhangsan)发了一根烟给我,昨天同事二(lisi)给了我一包烟,今天同事三(wangwu)给了我一条烟,我想根据他们给我的烟,来给他们设置不同的FTP下载速度,我可以这样做:

  # vi /etc/vsftpd/vsftpd.conf 到最后添加

  User_config_dir=/etc/vsftpd /定义用户的配置文件

  #vi /etc/vsftpd/zhangsan 添加以下

  Local_max_rate = 3000 /与一根烟等价

  #vi /etc/vsftpd/lisi 添加以下

  Local_max_rate = 30000 /与一包烟等价

  #vi /etc/vsftpd/wangwu 添加以下

  Local_max_rate = 300000 /与一条烟等价

  重启vsftpd 服务即可!

  实验七:如何建立简单的虚拟用户呢?我只想让他们可以登陆FTP,但不能登陆我的linux系统,这样可以保证FTP服务器的安全。可以这样做:

  Adduser –g ftp –s /sbin/nolgin user01 /直接添加user01用户到ftp组,

  Passwd user01 /给user01设置密码

  FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操 作系统下使用FTP,都会遇到大量的FTP内部命令。 熟悉并灵活应用FTP的内部 命令,可以大大方便使用者,并收到事半功倍之效。
FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,其中 -v 显示远程服务器的所有响应信息; -n 限制ftp的自动登录,即不使用; .n etrc文件; -d 使用调试方式; -g 取消全局文件名。

ftp使用的内部命令如下(中括号表示可选项):

1.!]:在本地机中执行交互shell,exit回到ftp环境,如: !ls*.zip.

2.$ macro-ame:执行宏定义macro-name.

3.account:提供登录远程系统成功后访问系统资源所需的补 充口令。

4.append local-file:将本地文件追加到远程系统主机, 若未指定远程系统文件名,则使用本地文件名。

5.ascii:使用ascii类型传输方式。

6.bell:每个命令执行完毕后计算机响铃一次。

7.bin:使用二进制文件传输方式。

8.bye:退出ftp会话过程。

9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。

10.cd remote-dir:进入远程主机目录。

11.cdup:进入远程主机目录的父目录。

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:设置调试方式, 显示发送至远程主机的每条命 令,如: deb up 3,若设为0,表示取消debug。

17.dir:显示远程主机目录,并将结果存入本 地文件local-file。

18.disconnection:同close。

19.form format:将文件传输方式设置为format,缺省为file方式。

20.get remote-file: 将远程主机的文件remote-file传至 本地硬盘的local-file。

21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名, 同命令行的-g参数。

22.hash:每传输1024字节,显示一个hash符号(#)。

23.help:显示ftp内部命令cmd的帮助信息,如:help get。

24.idle:将远程服务器的休眠计时器设为秒。

25.image:设置二进制传输方式(同binary)。

26.lcd:将本地工作目录切换至dir。

27.ls:显示远程目录remote-dir, 并存入本 地文件local-file。

28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结 束。

29.mdelete:删除远程主机文件。

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, 缺省为stream方 式。

35.modtime file-name:显示远程主机文件的最后修改时间。

36.mput local-file:将多个文件传输至远程主机。

37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同 名文件的时间更近,则重传该文件。

38.nlist:显示远程主机目录的文件清单,并 存入本地硬盘的local-file。

39.nmap:设置文件名映射机制, 使得文件传输 时,文件中的某些字符相互转换,如:nmap $1.$2.$3[$1,$2].[$2,$3],则 传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX 机的情况。

40.ntrans]:设置文件名字符的翻译机制,如ntrans 1R,则文件名LLL将变为RRR。

41.open host:建立指定ftp服务器连接,可指定连接端口。

42.passive:进入被动传输方式。

43.prompt:设置多个文件传输时的交互提示。

44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许 连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open, 以首先建立两个服务器间的连接。

45.put local-file:将本地文件local-file传送至远程主 机。

46.pwd:显示远程主机的当前工作目录。

47.quit:同bye,退出ftp会话。

48.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如: quote syst.

49.recv remote-file:同get。

50.reget remote-file:类似于get,但若local-file存在, 则从上次传输中断处续传。

51.rhelp:请求获得远程主机的帮助。

52.rstatus:若未指定文件名,则显示远程主机的状态,否 则显示文件状态。

53.rename:更改远程主机文件名。

54.reset:清除回答队列。

55.restart marker:从指定的标志marker处,重新开始get或put,如: restart 130。

56.rmdir dir-name:删除远程主机目录。

57.runique:设置文件名唯一性存储,若文件存在,则在原文件后加后缀 ..1,.2等。

58.send local-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, 缺省时 使用stream结构。

64.sunique:将远程主机文件名存储设置为唯一(与runique对应)。

65.system:显示远程主机的操作系统类型。

66.tenex:将文件传输类型设置为TENEX机的所需的类型。

67.tick:设置传输时的字节计数器。

68.trace:设置包跟踪。

69.type:设置文件传输类型为type-name,缺省为ascii,如: type binary,设置二进制传输方式。

70.umask:将远程服务器的缺省umask设置为newmask,如: umask 3。

71.user user-name:向远程主机表明自己的身份, 需要口令时,必须输入口令,如:user anonymous my@email。

72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp服务器的所有 响应都将显示给用户,缺省为on.

73.?:同help.

877046 发表于 2011-04-11 14:42

沙发!~

lsw 发表于 2011-04-13 14:18

:em10::em10::em10:

不错呀。。

nlqlove 发表于 2013-03-21 18:35

有命令可以查看ftp服务端可用空间吗?
页: [1]
查看完整版本: FTP 命令详解