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.![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.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[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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有命令可以查看ftp服务端可用空间吗?
沙发!~
不错呀。。