跳转至

w3m(本机安装的是w3m) lynx(服务器安装的是lynx) 使用方法: w3m www.baidu.com lynx www.baidu.com

linux访问ftp地址ftp://ftp.ncbi.nlm.nih.gov/refseq/release/plant/

ftp ftp.ncbi.nlm.nih.gov
anonymous

cd refseq/release/plant/
ls *.faa.gz

默认的ftp的匿名用户是anonymous,密码是空。 ftp进去后,使用help查看能使用的命令。 常用的是lsgetput get用于下载文件 put用于上传文件 mget *.faa.gz一次下载多个文件 mput *.xls 一次上传多个文件

linux使用脚本访问ftp(脚本实现自动下载和上传文件到ftp服务器)

上传一个或多个文件到指定的ftp服务器

#!/bin/bash
#### purpose for use ftp to upload file to NCBI SRA database
cd /share/home/cbm
ftp -n << !
open ftp-private.ncbi.nlm.nih.gov
user sra 123456
binary
lcd /share/home/cbm/
!dir
cd /Pacbio
prompt
put 20200729.subreads.bam
close
bye
!

#### purpose for use ftp to upload file to NCBI SRA database
ftp -n << !
open ftp-private.ncbi.nlm.nih.gov
user sra 123456
binary
lcd /share/home/cbm/
!dir
cd /Pacbio
prompt
mput *
close
bye
!

下载一个或多个文件

#!/bin/bash
cd /share/home/cbm/
###使用的是匿名账户登录服务器,密码是空,需要按回车键确认
现在有部分ftp服务器的匿名账户是`anonymous`,密码是你的邮箱的地址,如果匿名ftp无法登录时,可以尝试这种方法。
##### 匿名账户下载所有文件
#!/bin/bash
#down all from remote server some path
ftp -n << !
open ftp.ncbi.nlm.nih.gov
user anonymous 
binary
cd /refseq/release/plant/
lcd ~/database/
prompt
mget *
close
bye
!

#匿名账户下载指定类型的文件
#download some file from remote server
ftp -n << !
open ftp.ncbi.nlm.nih.gov
user anonymous 
binary
cd /refseq/release/plant/
lcd ~/database/
prompt
mget *.protein.faa.gz
close
bye
!

##指定账户和用户名登录
###下载一个文件
#### purpose for use ftp to download file from NCBI SRA database
ftp -n << !
open ftp-private.ncbi.nlm.nih.gov
user sra 123456
binary
lcd /share/home/database/
!dir
cd /Pacbio
prompt
ls
get 200729.subreads.bam
close
bye
!

ftp脚本的参数讲解: - open 后是IP地址或主机地址 - user后是用户名和密码 - lcd 命令是进入本地的指定目录, - !dir!ls是查看本地目录的文件 - binary是设置使用二进制传输,速度会比较快 - get下载远程一个文件到本地 - mget 下载多个文件到本地 - put上传一个文件到ftp服务器 - mput 上传多个文件到ftp服务器 anonymous是所有的匿名ftp的账号,密码是空。

scp用于传输文件

  • windows传输到linux,我一般使用 winSCP这个软件下载地址。各大软件商店都有这款软件。
  • linux到linux传输,使用命令scp.参考文章 例如有如下两个主机:172.28.218.254(本地)172.28.210.9(远程) 传输文件 在本地主机(172.28.218.254)运行如下命令: 说明:chaim是我在远程主机上的用户名
  • 获取远程目录maize scp -r chaim@172.28.210.9:/disk/maize/ ./maize/ /disk/maize/ 这是远端服务器的文件地址 ./maize/这是存储到本地服务器的地址
  • 获取远程文件readme scp chaim@172.28.210.9:/home/info/readme ./Readme
    +将本地文件上传到远程 scp /public/disk.info chaim@172.28.210.9:/home/info/disk.info +将本地文件夹上传到远程 scp -r /public/maize/ chaim@172.28.210.9:/disks/backup/maize/
  • 指定端口2235传输本地bam到远程主机172.28.210.9 scp -P 2235 sam1.bam chaim@172.28.210.9:/disks/backup/maize/
在经历了scp传输中断,多个大文件需要重新传输的痛苦后,决定使用支持断点续传的rsync

rsync 传输时,在另一端主机上会生成临时的隐藏文件,通过ls -la可以查看到。等待传输完成或中断时会显示出正常的文件名。 上传数据到远程服务器 rsync -P --rsh=ssh readme.md tang@172.28.218.254:~/chaim/

指定端口2222,传输bam文件到远程主机21.28.170.146

rsync -P -e 'ssh -p 2222' sample.bam chaim@21.28.170.146:/share/home/bam

本地linux使用 ssh 用于访问远程主机

ssh -p 2224 root@172.28.170.146 #指定端口和用户名 ssh -l chaim -p 2224 172.28.170.146 ##指定端口和用户名 ssh chaim@172.28.210.9 #指定用户名,使用默认的端口22

lftp的安装 使用手册

wget -c  http://lftp.yar.ru/ftp/lftp-4.9.2.tar.gz
tar -zxvf lftp-4.9.2.tar.gz
还有依赖项得自行安装 gnutls.x86_64 0:3.3.29-8.el7          nettle.x86_64 0:2.7.1-8.el7          trousers.x86_64 0:0.3.14-2.el7
sudo yum install lftp -y

lftp登录ftp站点 lftp -u sra,123456 ftp://ftp-private.ncbi.nlm.nih.gov lftp下载文件 get 20200729.subreads.bam lftp断点续传下载文件 reget 20200729.subreads.bam 等价于get -c 20200729.subreads.bam lftp上传文件 put 20200729.subreads.bam put -c 20200729.subreads.bam 断点续传等价于reput lftp解决断点上传 reput 20200729.subreads.bam 会自动解决上面的问题,而且可以实时显示上传速度。 lftp任务后可以加&,让命令在后台执行。退出lftp命令会继续执行直到完成。

ftp断点续传的解决

ftp下载断点续传:reget ftp上传断点续传: 比较麻烦

ls
restart <#>
put <filename>

先获取已上传的文件的大小,restart后的#修改为已上传的大小,然后重新使用put上传

回到页面顶部