ftp命令

Posted wifix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ftp命令相关的知识,希望对你有一定的参考价值。

ftp命令:

参考:
http://linuxso.com/command/ftp.html
http://www.linuxidc.com/Linux/2012-12/77043.htm (上传文件到服务器的Linux命令)

use:
ftp [-dignv][主机名称或IP地址]

参  数:
  -d   详细显示指令执行过程,便于排错或分析程序执行的情形。(使用调试方式)
  -i   关闭互动模式,不询问任何问题。
  -g   关闭本地主机文件名称支持特殊字符的扩充特性。
  -n   不使用自动登陆。 (限制ftp的自动登录,即不使用.netrc文件)
  -v   显示指令执行过程。 (显示远程服务器的所有响应信息。)

开启连接的主机的ftp服务:

service sftp start

添加ftp的用户       useradd ftpus     设置密码:passwd ftpus
或者添加ftp的用户组  groupadd ftpusers  
把用户加进用户组     usermod -G ftpusers ftpus

删除用户: userdel xxx
删除用户组: groupdel xxx
参考:http://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html

查看ftp状态:
cd /etc/vsftpd/
/etc/rc.d/init.d/vsftpd status  ||或者 service vsftpd status

查看服务器是否安装vsftpd
cd /etc/ 下没有vsftpd 于是使用:
1.yum -y install vsftpd  (ok,/etc下有了,centos)  
sudo apt-get install vsftpd  (默认会生成一个ftp用户组 查看所有用户组:查看/etc/group文件 )
参考:http://www.php100.com/html/webkaifa/Linux/2009/0803/3116.html

启动后可以直接浏览器访问ftp://你的ip  如:ftp://localhost

2.可以用下面命令查看用户
    cat /etc/passwd

3.默认ftp服务是没有启动的,用下面命令启动
    service vsftpd start

4.安装ftp客户端 (用来连接ftp服务器端 ,客户端使用随机使用可用端口连接ftp服务端,
ftp服务端使用21端口监听命令,20端口传输ftp数据)
yum -y install ftp

5.ftp客户端连接服务端
ftp localhost
输入 ftp ,password不输,使用默认的匿名登录
登录成功,就代表ftp服务可用了 但是,外网是访问不了的,所以还要继续配置

6.取消匿名登陆
    vi /etc/vsftpd/vsftpd.conf
把第一行的 anonymous_enable=YES ,改为NO
重启
    service vsftpd restart

7. 添加一个用户
新建一个用户(ftpuser为用户名,随便就可以)
    useradd ftpuser
修改密码
    passwd ftpuser
    这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser


ftp命令使用: http://blog.csdn.net/longxibendi/article/details/5754646
netstat -tl 查看ftp服务端是否成功打开端口

查看包管理器是否安装某应用
rpm -qa | grep ftp  (centos)
dpkg -l | grep ftp  (ubuntu,debian)

vsftpd配置文件 /etc/vsftpd.conf

相关参数:
1.与服务器相关的参数:
connect_from_port_20=YES|NO  是否使用20号端口做为ftp-data的端口号

listen_port=21 设置ftp命令通道的端口号

dirmessange_enable=YES|NO
message_file=.message
上面两个参数用来配置用户进入到目录时显示某个文件中的内容。
listen=YES|NO
设置vsftpd是否stand alone方式启动。
pasv_enable=YES|NO
是否开启被动模式。
write_enable=YES|NO
用来设置是否允许用户上传文件。
idle_session_timeout=300
如果用户300秒内没有命令操作,则强制离线。
max_Clients=0
当vsftpd以stand alone运行时,用来设置最大同时在线数。
max_per_ip=0 用于设置同一IP允许的同时最大连接数。
pasv_max_port=0
pasv_min_port=0
用来设置被动模式(passive mode)使用的端口范围,为0时不受限制。
ftpd_banner="欢迎语句"
banner_file=/path/file
设置当用户连接到vsftpd服务器时显示的欢迎信息。

2.与用户相关的参数
guest_username=ftp
指定来宾用户身份的用户名
guest_enable=YES|NO
是否将非匿名用户映射成来宾用户。
local_enable=YES|NO
是否允许/etc/passwd中的用户以实体用户的身份登录到ftp服务器。
local_max_rate=0 设置实体用户的传输速度,单位为bytes/s。
chroot_local_user=YES|NO
chroot_list_enable=YES|NO
chroot_list_file=/etc/vsftpd/chroot_list
用来设置哪些用户被限制在自己的目录内无法离开。
userlist_enable=YES|NO
userlist_deny=YES|NO
userlist_file=/etc/vsftpd/user_list
用来阻止相关用户登录到vsftpd服务器。  3. 匿名用户相关的参数
anonymous_enable=YES|NO
是否允许anonymouns用户登录到vsftpd服务器,下面的设置仅在此参数为YES时才有效。
anon_world_readable_only=YES|NO
仅仅允许下载可读的文件。
anon_mkdir_write_enable=YES|NO
anon_upload_enable=YES|NO
anon_other_write_enable=YES|NO
用于设置相关可写权限。
no_anon_password=YES|NO
anonymous登录时是否可以省略密码。
anon_max_rate=0
设置anonymous的最大传输速度。
anon_umask=077
anonymous用户上传文件的权限掩码。

3.安全相关的参数:
ascii_download_enable=YES|NO
ascii_upload_enable=YES|NO
是否允许ascii方式传输。
xferlog_enable=YES|NO
xferlog_file=/var/log/vsftpd.log
是否记录用户下载上传的文件

ftp命令行 命令:
1. 连接ftp服务器
  格式:ftp [hostname| ip-address]
  a)在linux命令行下输入:ftp 10.18.34.115
  b)服务器询问你用户名和口令,分别输入yint和相应密码,待认证通过即可。
  2. 下载文件
  下载文件通常用get和mget这两条命令。
  a) get
  格式:get [remote-file] [local-file]
  将文件从远端主机中传送至本地主机中.
  如要获取服务器上E:\\rose\\1.bmp,则
  ftp> get /rose/1.bmp 1.bmp (回车)
  b) mget      
  格式:mget [remote-files]
  从远端主机接收一批文件至本地主机.
  如要获取服务器上E:\\rose\\下的所有文件,则
  ftp> cd /rose
  ftp> mget *.* (回车)
  注意:文件都下载到了linux主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则文件都下载到了/root/yint下。
  3.上传文件
  a) put
  格式:put local-file [remote-file]
  将本地一个文件传送至远端主机中.
  如要把本地的1.bmp传送到远端主机E:\\rose,并改名为333.bmp
  ftp> put 1.bmp /rose/333.bmp (回车)
  b) mput
  格式:mput local-files
  将本地主机中一批文件传送至远端主机.
  如要把本地当前目录下所有bmp文件上传到服务器E:\\rose 下
  ftp> cd /rose (回车)
  ftp> mput *.bmp (回车)
  注意:上传文件都来自于主机的当前目录下。比如,在 /root/yint下运行的ftp命令,则只有在/root/yint下的文件linux才会上传到服务器E:\\rose 下。

    b) mput
    格式:mput local-files
    将本地主机中一批文件传送至远端主机。
    如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
    ftp> cd /usr/your (回车)
    ftp> mput *.htm (回车)

  4. 断开连接
  bye:中断与服务器的连接。
  ftp> bye (回车)

ubuntu ftp配置:
http://www.2cto.com/os/201304/199545.html

或者:
lftp 命令行
http://wiki.ubuntu.org.cn/Lftp


ftp gui(图形化工具):
推荐:
windows上:  winscp  FileZilla
linux上:   gFtp    FileZilla

直接挂载远程ftp目录到本地目录:
CurlFtpFS
参考:https://wiki.archlinux.org/index.php/CurlFtpFS_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

sudo apt-get install  curlftpfs
sudo curlftpfs -o codepage=gbk ftp://username:password@192.168.0.2 /mnt  

filezilla
官网: https://filezilla-project.org/
for linux: https://filezilla-project.org/download.php?type=client
filezilla中文网: https://www.filezilla.cn/
ubuntu软件中心: https://apps.ubuntu.com/cat/applications/filezilla/

sudo apt-get filezilla

以上是关于ftp命令的主要内容,如果未能解决你的问题,请参考以下文章

关于FTP的CMD命令。谁知道

怎么远程用ftp命令把文件下载到本地

linux中怎么从ftp回到命令行

Linux不能使用FTP 命令 -bash: ftp: command not found

FTP常用命令都有哪些?

FTP命令详解