Linux文件目录管理 - 文件传输

bye命令

ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行

语法

bye

参数
[无]

实例
[无]

ftp命令

控制在本地机和远程机之间传送文件

语法

ftp(选项)(参数)

选项

  • -d详细显示指令执行过程,便于排错或分析程序执行的情况;
  • -i关闭互动模式,不询问任何问题;
  • -g关闭本地主机文件名称支持特殊字符的扩充特性;
  • -n不使用自动登录;
  • -v显示指令执行过程。

参数
主机:指定要连接的FTP服务器的主机名或[ip](http://man.linuxde.net/ip "ip命令")地址

实例
FTP>ascii 设定以 ASCII方式 传送文件(缺省值)
FTP>bell 每完成一次文件传送,报警提示
FTP>binary 设定以二进制方式传送文件
FTP>bye 终止主机 FTP 进程,并退出 FTP 管理方式
FTP>case 当为 ON 时,用 MGET 命令拷贝的文件名到本地机器中,全部转换为小写字母
FTP>cd 同 UNIX 的 CD 命令
FTP>cdup 返回上一级目录
FTP>chmod 改变远端主机的文件权限
FTP>close 终止远端的 FTP 进程,返回到 FTP 命令状态, 所有的宏定义都被删除
FTP>delete 删除远端主机中的文件
FTP>dir [remote-directory] [local-[file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件
FTP>get [remote-file] [local-file]从远端主机中传送至本地主机中
FTP>help [command] 输出命令的解释
FTP>lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的 HOME 目录
FTP>ls [remote-directory] [local-file] 同 DIR
FTP>macdef 定义宏命令
FTP>mdelete [remote-files] 删除一批文件
FTP>mget [remote-files] 从远端主机接收一批文件至本地主机
FTP>mkdir directory-name 在远端主机中建立目录
FTP>mput local-files将本地主机中一批文件传送至远端主机
FTP>open host [port] 重新建立一个新的连接
FTP>prompt 交互提示模式
FTP>put local-file [remote-file] 将本地一个文件传送至远端主机中
FTP>pwd 列出当前远端主机目录
FTP>quit 同 BYE
FTP>recv remote-file [local-file] 同 GET
FTP>rename [from] [to] 改变远端主机中的文件名
FTP>rmdir directory-name 删除远端主机中的目录
FTP>send local-file [remote-file] 同 PUT
FTP>status 显示当前 FTP 的状态
FTP>system 显示远端主机系统类型
FTP>user user-name [password] [account] 重新以别的用户名登录远端主机
FTP>? [command] 同 HELP,[command] 指定需要帮助的命令名称,如果没有指定 command , ftp 将显示全部命令的列表
FTP>!从 ftp 子系统退出到外壳

tftp命令

在本机和tftp服务器之间使用TFTP协议传输文件

语法

tftp(选项)(参数)

选项

  • -c 定与tftp服务器连接成功后,立即要执行的指令
  • -m 指定文件传输模式。可以是ASCII或者Binary
  • -v 显示指令详细执行过程
  • -V 显示指令版本信息

参数
主机:指定tftp要联机的tftp服务器的ip地址或主机名

实例

  1. 安装tftp服务器
    需要安装xinetd tftptftp-server3个软件
  2. 配置tftp服务器
    修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no
    主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
service tftp
{
       socket_type           =dgram
       protocol              =udp
       [wait](http://man.linuxde.net/wait "wait命令")                  =yes
       user                  =root
       server                =/usr/sbin/in.tftpd
       server_args           =-s  /home/mike/tftpboot -c
       disable               =no
       per_source            =11
       cps                   =100 2
       flags                 =IPv4
}

说明:修改项server_args= -s -c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot-c指定了可以创建文件

  1. 启动tftp服务器并关闭防火墙
/etc/init.d/iptables stop //关闭防火墙
sudo /sbin/service xinetd start
或
service xinetd restart
/etc/init.d/xinetd start

看到启动[OK]就可以了

  1. 查看tftp服务是否开启
netstat -a | grep tftp

显示结果为udp 0 0 *:tftp *:*表明服务已经开启,就表明tftp配置成功了

  1. tftp使用
    复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试
tftp 192.168.1.2
tftp>get download [file]
tftp>put 
tftp>q
  1. tftp命令用法如下
tftp your-ip-address

进入TFTP操作:

  • connect 连接到远程tftp服务器
  • mode 文件传输模式
  • put 上传文件
  • get 下载文件
  • quit 退出
  • verbose 显示详细的处理信息
  • tarce 显示包路径
  • status 显示当前状态信息
  • binary 二进制传输模式
  • ascii ascii 传送模式
  • rexmt 设置包传输的超时时间
  • timeout 设置重传的超时时间
  • help 帮助信息
  • ? 帮助信息
  1. 如果老是出现AVC Denial, click icon to view的错误,并不能传输文件,需要作如下修改:
    修改/etc/sysconfig/selinux,将SELINUX设定为disable,使用命令setenforce 0selinux配置文件生效

  2. Busybox中tftp命令的用法

tftp [option] ... host [port]
option:
-g 表示下载文件 (get)
-p 表示上传文件 (put)
-l 表示本地文件名 (local file)
-r 表示远程主机的文件名 (remote file)
例:要从远程主机192.168.1.2上下载 embedexpert,则应输入以下命令:
tftp -g -r embedexpert 192.168.1.2

scp命令

scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读read only system时,用scp可以帮你把文件移出来

语法

scp(选项)(参数)

选项

  • 1 使用ssh协议版本1
  • -2 使用ssh协议版本2
  • -4 使用ipv4
  • -6 使用ipv6
  • -B 以批处理模式运行
  • -C 使用压缩
  • -F 指定ssh配置文件
  • -l 指定宽带限制
  • -o指定使用的ssh选项
  • -P 指定远程主机的端口号
  • -p 保留文件的最后修改时间,最后访问时间和权限模式
  • -q 不显示复制进度
  • -r 以递归方式复制

参数

  • 源文件:指定要复制的源文件
  • 目标文件:目标文件。格式为user@[host](http://man.linuxde.net/host "host命令"):filename(文件名为目标文件的名称)

实例

  1. 从远处复制文件到本地目录

scp [email protected]:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

10.10.10.10机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz文件到本地/opt/soft/目录中

  1. 从远处复制到本地

scp -r [email protected]:/opt/soft/mongodb /opt/soft/

10.10.10.10机器上的/opt/soft/中下载mongodb目录到本地的/opt/soft/目录来

  1. 上传本地文件到远程机器指定目录

scp /opt/soft/nginx-0.5.38.tar.gz [email protected]:/opt/soft/scptest

复制本地/opt/soft/目录下的文件nginx-0.5.38.tar.gz到远程机器10.10.10.10opt/soft/scptest目录

  1. 上传本地目录到远程机器指定目录

scp -r /opt/soft/mongodb [email protected]:/opt/soft/scptest

上传本地目录/opt/soft/mongodb到远程机器10.10.10.10/opt/soft/scptest的目录中去

ncftp命令 -- 文件传输

ncftp命令是增强的的 ftp 工具,比传统的FTP指令更加强大。FTP让用户得以下载存放于服务器主机的文件,也能将文件上传到远端主机放置。ncftp是文字模式FTP程序的佼佼者,它具备多样特色,包括显示传输速率,下载进度,自动续传,标住书签,可通过防火墙和代理服务器等

语法

ncftp(选项)(参数)

选项

  • -u 指定登录FTP服务器时使用的用户名;
  • -p 指定登录FTP服务器时使用的密码;
  • -P 如果FTP服务器没有使用默认的TCP协议的21端口,则使用此选项指定FTP服务器的端口号。
  • -m 在传之前尝试在目录位置创建目录(用于传目录的情况)
  • -R 递规传子目录

参数
FTP服务器:指定远程FTP服务器的ip地址或主机名

安装

wget ftp://ftp.ncftp.com/ncftp/ncftp-3.2.3-src.tar.gz
tar zxvf ncftp-3.2.3-src.tar.gz
cd ncftp-3.2.3/
./configure --prefix=/usr/local/ncftp
make && make install

实例
将本地/etc/目录内的所有文件和目录,上传到FTP服务器的flv/games/目录内(如果不存在flv/games/目录则自动创建)

/usr/local/ncftp/bin/ncftpput -u koumm -p koumm -P 21 -m -R 192.168.162.137 flv/games/ /etc/*

指令说明
ncftp的基本命令和普通ftp一样,可以输入help获得命令列表。对于所有的命令,都可以使用help <命令>的格式获得详细帮助。l开头的就是对本地执行的命令,其它的就是对登入的ftp服务目录的操作命令

增加的本地文件系统的操作命令:

  • lls 列出本地当前目录文件
  • lmkdir 本地建立目录
  • lrename 本地文件改名
  • lpwd 显示当前本地路径
  • lchmod 改变本地文件权限
  • lpage 显示本地文件内容
  • lrm 删除本地文件
  • lrmdir 删除本地目录

rcp命令

rcp命令使在两台Linux主机之间的文件复制操作更简单。通过适当的配置,在两台Linux主机之间复制文件而无需输入密码,就像本地文件复制一样简单

语法

rcp(选项)(参数)

选项

  • -p 保留源文件或目录的属性,包括拥有者、所属群组、权限与时间
  • -r 递归处理,将指定目录下的文件与子目录一并处理
  • -x 加密两台Linux主机间传送的所有信息
  • -D 指定远程服务器的端口号

参数
源文件:指定要复制的源文件。源文件可以有多个

实例

  1. 将当前目录下的 test1 复制到名为 webserver1 的远程系统

rcp test1 webserver1:/home/root/test3

在这种情况下,test1 被复制到远程子目录 test3下,名称仍为 test1
如果仅提供了远程主机名,rcp 将把 test1 复制到远程主目录下,名称仍为 test1

  1. 将文件复制到名为 webserver1的系统中

rcp test1 webserver1:/home/root/test3

在这种情况下,将test1复制到远程目录root 下并将其命名为 test3

  1. 将远程系统中的文件复制到本地目录下

rcp remote_hostname:remote_file local_fileEnter

  1. 将远程系统 webserver1中的 test2 复制到当前目录

rcp webserver1:/home/root/test2 .Enter

.当前目录的简写形式。在这种情况下,远程目录中的test2 被复制到当前目录下,名称仍为 test2

如果希望用新名称复制文件,请提供目标文件名。如果希望将 test2 复制到本地系统中的其他目录下,请使用以下绝对或相对路径名:

rcp webserver1:/home/root/test2 otherdir/ Enter

或者,如果希望用其他文件名将文件复制到其他目录下

rcp webserver1:/home/root/test2 otherdir/otherfile Enter

  1. 将目录复制到远程系统
    要将本地目录及其文件和子目录复制到远程系统,请同时使用 rcp 和 -r(递归)选项

rcp -r local_dir remote_hostname:remote_dir Enter

  1. 要将名为 work 的子目录完整地复制到 webserver1远程计算机中的主目录下名为 products 的目录

rcp -r work webserver1:/home/root/products Enter

  1. 从远程系统复制目录
    要将远程目录及其所有文件和子目录复制到本地目录,请在以下语法中使用 rcp-r(递归)选项

rcp –r remote_hostname:remote_dir local_dir Enter

要将名为 work 的远程目录复制到当前目录

rcp –r webserver1:/home/root/work .Enter

你可能感兴趣的:(Linux文件目录管理 - 文件传输)