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
查看能使用的命令。
常用的是ls
和get
,put
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
上传