Linux FTP命令 o选项的用法详解 (linux ftp -o)

Linux FTP命令 -o 选项的用法详解

FTP(File Transfer Protocol) 是常用的文件传输协议,许多Linux用户都使用FTP来传输和共享文件。FTP有许多选项和参数,其中 -o 选项是其中的一个重要选项。本篇文章将详细介绍 -o 选项以及如何使用它在Linux系统中进行文件传输。

一、-o 选项的定义及语法

– 在FTP命令行中,-o 选项可以用来控制FTP传输期间的操作流程,包括如何处理传输过程中发生的错误或追加文件等问题。

– 语法:ftp -o [选项] [主机名]

二、-o 选项的功能

– -o append:指定FTP在传输文件时将新文件添加到已经存在的文件中,而不是覆盖已经存在的文件。

– -o debug:指定FTP在传输文件时输出调试信息,方便用户进行故障排查。

– -o globbing:指定FTP在传输文件时使用通配符进行文件选择操作,通常用于批量处理文件传输。

– -o netrc:指定FTP在传输文件时使用本地计算机上的 .netrc 文件进行用户认证和FTP连接操作。

– -o passive:指定FTP使用被动模式进行文件传输,适用于网络环境有防火墙或代理的情况。

– -o sendcmd:指定FTP在传输文件时自动发送特定的FTP自定义命令,方便用户进行自定义操作。

– -o timeout:指定FTP在传输文件时允许的传输时间,如果超时则会自动断开FTP连接,避免长时间占用网络资源。

三、-o 选项的用法

1. -o append

在FTP命令行中,使用-o append选项可以将新文件添加到已经存在的文件中,而不是覆盖已经存在的文件。具体操作步骤如下:

$ ftp -o append [主机名]

ftp> put [本地文件名] [远程文件路径和文件名]

2. -o debug

在FTP命令行中使用-o debug选项可以输出FTP传输过程中的调试信息,方便用户进行故障排查。具体操作步骤如下:

$ ftp -o debug [主机名]

ftp> get [文件路径和文件名]

3.-o globbing

在FTP命令行中使用-o globbing选项可以使用通配符进行文件选择操作,方便用户进行批量处理操作。具体操作步骤如下:

$ ftp -o globbing [主机名]

ftp> mget [文件通配符]

其中,mget命令表示批量下载文件。

4.-o netrc

在FTP命令行中使用-o netrc选项可以使用本地计算机上的 .netrc 文件进行用户认证和FTP连接操作。具体操作步骤如下:

$ ftp -o netrc [主机名]

ftp> get [文件路径和文件名]

5.-o passive

在FTP命令行中使用-o passive选项可以使用被动模式进行文件传输,适用于网络环境有防火墙或代理的情况。具体操作步骤如下:

$ ftp -o passive [主机名]

ftp> get [文件路径和文件名]

6.-o sendcmd

在FTP命令行中使用-o sendcmd选项可以自动发送特定的FTP自定义命令,方便用户进行自定义操作。具体操作步骤如下:

$ ftp -o sendcmd [自定义命令] [主机名]

ftp> get [文件路径和文件名]

7.-o timeout

在FTP命令行中使用-o timeout选项可以指定FTP在传输文件时的允许的传输时间。具体操作步骤如下:

$ ftp -o timeout [时间值] [主机名]

ftp> get [文件路径和文件名]

其中,时间值单位为秒。

四、

本篇文章主要介绍了Linux FTP命令中的 -o 选项的用法及功能,涉及了 append、debug、globbing、netrc、passive、sendcmd、timeout 等选项的使用方法。透过对这些选项的了解,可以帮助用户更加灵活地使用FTP协议进行文件传输,并提高传输效率和稳定性。

相关问题拓展阅读:

linux如何重新配置FTP文件,我是新手,配置的时候被我弄错了!

那就可以重新生成配置文件唯尘,可以用yum源 yum remove vsftp -y 卸载后,重新在安装一下,就可以了

下面是:Linux FTP配置文件说明

一.vsftpd说明:

LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd.

访问FTP服务器时需要经过验证,只有经过了FTP服务器的相关验证,用户才能访问和传输文件.vsftpd提供了3种ftp登录形式:

(1)anonymous(匿名帐号)

使用anonymous是应用广泛的一种FTP服务器.如果用户在FTP服务器上没有帐号,那么用户可以以anonymous为用户名,以自己的电子邮件地址为密码进行登录.当匿名用户登录FTP服举山丛务器后,其登录目录为匿名FTP服务器的根目录/var/ftp.为了减轻FTP服务器的负载,一般情况下,应关闭匿正樱名帐号的上传功能.

(2)real(真实帐号)

real也称为本地帐号,就是以真实的用户名和密码进行登录,但前提条件是用户在FTP服务器上拥有自己的帐号.用真实帐号登录后,其登录的目录为用户自己的目录,该目录在系统建立帐号时系统就自动创建.

(3)guest(虚拟帐号)

如果用户在FTP服务器上拥有帐号,但此帐号只能用于文件传输服务,那么该帐号就是guest,guest是真实帐号的一种形式,它们的不同之处在于,geust登录FTP服务器后,不能访问除宿主目录以外的内容.

二.FTP相关配置文件说明

其相关配置文件有/etc/vsftpd/vsftpd.conf, /etc/vsftpd.ftpusers, /etc/vsftpd.user_list,在配置FTP服务器时,主要是修改这些文件中的相关语句.

1.vsftpd.conf文件说明

# Example config file /etc/vsftpd/vsftpd.conf

#

# The default compiled in settings are fairly paranoid. This sample file

# loosens things up a bit, to make the ftp daemon more usable.

# Please see vsftpd.conf.5 for all compiled in defaults.

#

# READ THIS: This example file is NOT an exhaustive list of vsftpd options.

# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd’s

# capabilities.

#

# Allow anonymous FTP? (Beware – allowed by default if you comment this out).

anonymous_enable=YES //是否允许anonymous登录FTP服务器,默认是允许的.

#

# Uncomment this to allow local users to log in.

local_enable=YES //是否允许本地用户登录FTP服务器,默认是允许

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES //是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许

#

# Default umask for local users is 077. You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd’s)

local_umask=022 //设置本地用户的文件生成掩码为022,默认是077

#

# Uncomment this to allow the anonymous FTP user to upload files. This only

# has an effect if the above global write enable is activated. Also, you will

# obviously need to create a directory writable by the FTP user.

#anon_upload_enable=YES

#

# Uncomment this if you want the anonymous FTP user to be able to create

# new directories.

#anon_mkdir_write_enable=YES //是否允许匿名账户在FTP服务器中创建目录

#

# Activate directory messages – messages given to remote users when they

# go into a certain directory.

dirmessage_enable=YES //激活目录信息,当远程用户更改目录时,将出现提示信息

#

# Activate logging of uploads/downloads.

xferlog_enable=YES //启用上传和下载日志功能

#

# Make sure PORT transfer connections originate from port 20 (ftp-data).

connect_from_port_20=YES //启用FTP数据端口的连接请求

#

# If you want, you can arrange for uploaded anonymous files to be owned by

# a different user. Note! Using “root” for uploaded files is not

# recommended!

#chown_uploads=YES

#chown_username=whoever

#

# You may override where the log file goes if you like. The default is shown

# below.

#xferlog_file=/var/log/vsftpd.log //设置日志文件的文件名和存储路径,这是默认的

#

# If you want, you can have your log file in standard ftpd xferlog format

xferlog_std_format=YES//是否使用标准的ftpd xferlog日志文件格式

#

# You may change the default value for timing out an idle session.

#idle_session_timeout=600 //设置空闲的用户会话中断时间,默认是10分钟

#

# You may change the default value for timing out a data connection.

#data_connection_timeout=120//设置数据连接超时时间,默认是120秒.

#

# It is recommended that you define on your system a unique user which the

# ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure

#

# Enable this and the server will recognise asynchronous ABOR requests. Not

# recommended for security (the code is non-trivial). Not enabling it,

# however, may confuse older FTP clients.

#async_abor_enable=YES

#

# By default the server will pretend to allow ASCII mode but in fact ignore

# the request. Turn on the below options to have the server actually do ASCII

# mangling on files when in ASCII mode.

# Beware that turning on ascii_download_enable enables malicious remote parties

# to consume your I/O resources, by issuing the command “SIZE /big/file” in

# ASCII mode.

# These ASCII options are split into upload and download because you may wish

# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),

# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be

# on the client anyway..

#ascii_upload_enable=YES

#ascii_download_enable=YES //是否允许使用ASCII格式来上传和下载文件

#

# You may fully customise the login banner string:

#ftpd_banner=Welcome to blah FTP service.//在FTP服务器中设置欢迎登录的信息.

#

# You may specify a file of disallowed anonymous e-mail addresses. Apparently

# useful for combatting certain DoS attacks.

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpd.banned_emails

#

# You may specify an explicit list of local users to chroot() to their home

# directory. If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot().

#chroot_list_enable=YES //如果希望用户登录后不能切换到自己目录以外的其它目录,需要设置该项,如果设置chroot_list_enable=YES,那么只允许/etc/vsftpd.chroot_list中列出的用户具有该功能.如果希望所有的本地用户都执行者chroot,可以增加一行:chroot_local_user=YES

# (default follows)

#chroot_list_file=/etc/vsftpd.chroot_list

#

# You may activate the “-R” option to the builtin ls. This is disabled by

# default to avoid remote users being able to cause excessive I/O on large

# sites. However, some broken FTP clients such as “ncftp” and “mirror” assume

# the presence of the “-R” option, so there is a strong case for enabling it.

#ls_recurse_enable=YES

pam_service_name=vsftpd //设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下.

userlist_enable=YES //用户列表中的用户是否允许登录FTP服务器,默认是不允许

#enable for standalone mode

listen=YES //使vsftpd 处于独立启动模式

tcp_wrappers=YES //使用tcp_wrqppers作为主机访问控制方式

2.vsftpd.ftpusers文件说明

这个文件是用来记录”不允许”登录到FTP服务器的用户,通常是一些系统默认的用户.

下面是该文件中默认的不允许登录的名单:

# Users that are not allowed to login via ftp

root //默认情况下,root和它以下的用户是不允许登录FTP服务器的.可以将不允许登录的用户添加到这里来.但切记每个用户都要单独占用一行.

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

3.vsftpd.user_list文件说明

其实它的内容跟上面那个文件内容一样,只是在系统对文件vsftpd.conf 进行检测时,会检测到”userlist_deny=YES”,因此这个文件必须存在.下面是这个文件的内容.

# vsftpd userlist

# If userlist_deny=NO, only allow users in this file

# If userlist_deny=YES (default), never allow users in this file, and

# do not even prompt for a password.

# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers

# for users that are denied.

root

bin

daemon

adm

lp

sync

shutdown

halt

mail

news

uucp

operator

games

nobody

linux虚拟机怎么设置ftp服务器??

唯一的区别就是塌念你需要把虚拟机的网络设置成迅橡桥接bridge,不然虚拟机里面ftpd服务器不好访问。其他设置跟真实的一亩衫旁样。外人可直接访问虚拟机里面fedora的ip,

你问的问题也太含糊了,你是网络设置不会呢?还是ftpd服务器设置不会?

下面是在虚拟机中的linux的ftp的基本配置(redhat AS 4.0为例):

首先要安装linux下的vsftp软件包。

rpm -qa|gerp vsftpd //查找vsftpd有没有安装

如果没有安装就 vsftpd-2.0.1-5.i386.rpm (在之一张光盘)

在linux中有一个非常重要的一点就是要挂载光驱 mount /media/cdrom

在这里我们就不用源代码安装了。用的是rpm安装

#rpm -ivh vsftpd-2.0.1-5.i386.rpm

这里就安装好了。

service vsftpd start 启动vsftpd服务

如果在不设置任何的情况下,可以以匿名唤顷的方式访问该ftp。

注.如果访问不了的时候请大家要把linux的防火墙也要关闭:

iptables -F 清除防火墙

在安装好ftp会产生几个文件:

/etc/vsftpd/vsftpd.conf 主配置文件

/etc/vsftpd.ftpusers指定哪些用户不能访问FTP服务器

/etc/vsftpd.user_list文件中指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。

这几个文件就是整个ftp控制和禁止用户的权限配置。。。

下面我们就来设置一个vsftpd的核心文件

# cd /etc/vsftpd/vsftpd.conf 这就是vsftpd的核心配置文件

anonymous_enable=YES/no 是否允许匿名用户登录

anonymous_enable=yes/no 是否允许匿名上传文件

local_enable= YES/no是否允许本地用户登录

write_enable= YES/no是否允许本地用户上传

guest_enable=yes/no是春链慎否允许虚拟用户登录;

local_mask= 设置本地用户的文件生成掩码为022,默认值为077

dirmessage_enable= YES 设置切换到目录时显示.message隐含文件的内容

xferlog_enable= YES激活上传和下载日志

connect_from_port_20=YES 启用FTP数据端口连接

pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下

userlist_enable= YES允许vsftpd.user_list文件中的用户访问服务器

userlist_deny= YES拒绝vsftpd.user_list文件中的用户访问服务器

listen= YES/no是否使用独占启动方式(这一项比较重要)

tcp_wrappers= YES/no是否使用tcp_wrappers作为主机访问控制方式

最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)

大家可以设置下面的设置:

ftpd_banner=welcome to ftp service 设置连接服务器后的欢迎信息

idle_session_timeout= 限制远程的客户机连接后,所建立的控扒敬制连接,在多长时间没有做任何的操作就会中断(秒)

data_connection_timeout=设置客户机在进行数据传输时,设置空闲的数据中断时间

accept_timeout=设置在多长时间后自动建立连接

connect_timeout=设置数据连接的更大激活时间,多长时间断开,为别人所使用;

max_clients=指明服务器总的客户并发连接数为200

max_per_ip=指明每个客户机的更大连接数为3

local_max_rate=50000(50kbytes/sec)

anon_max_rate=设置本地用户和匿名用户的更大传输速率限制

pasv_min_port=端口

pasv-max-prot=端口号 定义更大与最小端口,为0表示任意端口;为客户端连接指明端口;

listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;

listen_port=端口号 设置FTP工作的端口号,默认的为21

chroot_local_user=YES 设置所有的本地用户可以chroot

chroot_local_user=NO 设置指定用户能够chroot

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行)

local_root=path无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;

chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;

chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定;

userlist_enable=YES/NO 是否加载用户列表文件;

userlist_deny=YES表示上面所加载的用户是否允许拒绝登录;

userlist_file=/etc/vsftpd.user_list 列表文件

这些就是高级设置了。大家可以适当的更改。

#vi /etc/hosts.allow

vsftpd:192.168.5.128:DENY 设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)

时间限制:

#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

#vi /etc/xinetd.d/vsftpd/

修改 disable = no

access_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)

例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp

配置文件是 /etc/vsftpd/vsftpd.conf 按如下编辑此文件,编辑文件当然用vi了

1)实现匿名用户的上传下载文件

程序代码:

Anonymous_enable=yes匿名登陆

Connect_form_port_20=yes 启用FTP数据端口的数据连接

Pam_service_name=vsftpd 验证方式

Listen=yes独立的VSFTPD服务器

这样你就可以实现匿名登陆ftp了,但还不能上传文件

程序代码:

Anon_upload_enable=yes开放上传权限

Anon_mkdir_write_enable=yes 可创建目录的同时可以在此目录中上传文件

Write_enable=yes开放本地用户写的权限

Anon_other_write_enable=yes 匿名帐号可以有删除的权限

加上上面的这段,你就可以实现匿名ftp的上传下载文件了

然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了

注意:确定你的防火墙 iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用 service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd被locked 那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了

2)实现本地用户上传下载

程序代码:

新建一个用户

adduser 用户名 增加一个用户

passwd 用户名 增加用户的密码

然后看/etc/passwd中最后一行就是你刚才添加的用户信息

然后编辑/etc/vsftpd/vsftpd.conf文件,

Local_enable=yes 允许使用本地用户来登陆ftp

在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户

限制用户只能在自己的目录中

Chroot_list_enable=yes文件中的名单可以调用

Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用户名

vsftpd.conf的参数

程序代码:

Anonymous_enable=yes允许匿名登陆

Dirmessage_enable=yes切换目录时,显示目录下.message的内容

Local_umask=FTP上本地的文件权限,默认是077

Connect_form_port_20=yes 启用FTP数据端口的数据连接

Xferlog_enable=yes 激活上传和下传的日志

Xferlog_std_format=yes使用标准的日志格式

Ftpd_banner=XXXXX 显示欢迎信息

Pam_service_name=vsftpd验证方式

Listen=yes 独立的VSFTPD服务器

Anon_upload_enable=yes匿名用户上传权限

Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件

Write_enable=yes 本地用户写的权限

Anon_other_write_enable=yes 匿名帐号可以有删除的权限

Anon_world_readable_only=no 匿名用户浏览权限

Ascii_upload_enable=yes启用上传的ASCII传输方式

Ascii_download_enable=yes启用下载的ASCII传输方式

Banner_file=/var/vsftpd_banner_file用户连接后欢迎信息使用的是此文件中的相关信息

Idle_session_timeout=600(秒)用户会话空闲后10分钟

Data_connection_timeout=120(秒)将数据连接空闲2分钟断

Accept_timeout=60(秒)将客户端空闲1分钟后断

Connect_timeout=60(秒) 中断1分钟后又重新连接

Local_max_rate=50000(bite) 本地用户传输率50K

Anon_max_rate=30000(bite) 匿名用户传输率30K

Pasv_min_port= 将客户端的数据连接端口改在

Pasv_max_port=—6000之间

Max_clients=FTP的更大连接数

Max_per_ip=每IP的更大连接数

Listen_port=从5555端口进行数据连接

Local_enble=yes本地帐户能够登陆

Write_enable=no本地帐户登陆后无权删除和修改文件

Chroot_local_user=yes本地所有帐户都只能在自家目录

Chroot_list_enable=yes文件中的名单可以调用

Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no

Userlist_enable=yes 在指定的文件中的用户不可以访问

Userlist_deny=yes

Userlist_file=/etc/vsftpd.user_list

Banner_fail=/路径/文件名连接失败时显示文件中的内容

Ls_recurse_enable=no

Async_abor_enable=yes

one_process_model=yes

Listen_address=10.2.2.将虚拟服务绑定到某端口

Guest_enable=yes虚拟用户可以登陆

Guest_username=所设的用户名 将虚拟用户映射为本地用户

Chown_uploads=yes 改变上传文件的所有者为root

Chown_username=root

Deny_email_enable=yes是否允许禁止匿名用户使用某些邮件地址

Banned_email_file=//任意指定的路径/xx/

Pasv_enable=yes服务器端用被动模式

User_config_dir=/任意指定的路径//任意文件目录指定虚拟用户存放配置文件的路径

nat模式也可侍行塌以,宿主机的话,直接ftp那台电脑的内网ip好了。

网络上其他主机也可以访问,只是需要端口映射。

位置是:编辑/编辑虚拟网络。选中用来做nat的网老圆卡,调整nat设置。

如果想直接用带伏sftp的话,就把22端口映射出去。vsftp的话,就21好了。

安装vsftpd包,启动服务/etc/init.d/vsftpd start ,开放防火尘做墙册携:iptabls -I INPUT -p tcp –dport ftp -j ACCEPT。搞州兄伏定

Linux 从A用sftp连接B

Linux 从A用sftp连接B的命令是:

sftp -oPort=60001 。

使用-o选项来指定端口号。-oPort=远程端口号sftp> get /var/www/fuyatao/index.php /home/fuyatao/。这条语句将从远程主机的 /var/www/fuyatao/目录下将 index.php。

然后下载到本地 /home/fuyatao/目录下。

sftp> put /home/fuyatao/downloads/Linuxgl.pdf /var/www/fuyatao/

这条语句将把本地 /home/fuyatao/downloads/目录下的 linuxgl.pdf文件上传至远简尘程主机/var/www/fuyatao/ 目录下。

linux ftp远程连接命令是:

1. 连接ftp服务器:

格式:ftp 在linux命令行下输入:ftp 192.168.26.66

服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。

2、下载文件:租衫

下载文件通常用get和mget这两条命令。a) get格式:get

将文件从远端主拦型禅机中传送至本地主机中。

3、上传文件:

a) put格式:put local-file ,将本地一个文件传送至远端主机中。

4、断开连接:

关于linux ftp -o的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux FTP命令 o选项的用法详解 (linux ftp -o)