A. 我在linux上安裝了ftp,那如何把linux上的文件下載到windows
GET
<服務端:下載的檔名>
<本地端:存放的檔名>
PUT
<本地端:上傳的檔名>
<服務端:存放的檔名>
下載:
ex:從伺服器端下載一個檔名為
linux.rar
的文件到本地路徑
C:\,存放檔名為
LINUX_S.RAR。
ftp>
get
linux.rar
c:\LINUX_S.RAR
上傳:
ex:從本地端路徑
C:\
上傳一個檔名為
LINUX_S.RAR
的文件到伺服器,存放檔名為
linux.rar。
ftp>
put
c:\LINUX_S.RAR
linux.rar
B. linux 通過FTP下載文件存放位置在哪
通過終端使用ftp命令下載文件的話,沒指定保存的路徑的話,在哪個路徑執行的ftp命令下載的東西就保存在那個位置。用其他ftp客戶端的話,通常默認下載地址是在你的用戶的家目錄下。
C. linux如何通過windows代理下載FTP上的文件
Linux配置代理只要使用"tsocks"的軟體就可以了. 通常Linux CL下使用http_proxy=」」 這個環境變數作為http代理,其實也可以用socks_proxy這個環境變數來配置socks代理。
在平常上網的時候, socks代理是很有用的, 為了保護隱密的信息, 訪問一些正常無法訪問的東西. 都離不開代理的。
Linux CL要使用tsocks這個軟體。先要到官網下載軟體:
一般發行版的軟體源裡面相信都有,直接安裝即可。
安裝完成後,編輯/etc /tsocks.conf文件,注意修改下面4行:
local = 192.168.1.0/255.255.255.0 //本地不使用代理
server = 192.168.1.1 //代理ip
server_port = 1080 //埠
server_type = 5 //socks 4 or 5
保存之後,用tsocks 打頭,如:
tsocks apt-get update
socks代理就已經配置好的. 通過埠就可以連接socks代理.
From:
D. 用shell的linux伺服器 .sh插件怎麼從遠程ftp伺服器下載文件
//ftpput.sh
[cpp] view plain
#!/bin/sh
#FileName:ftpput.sh
#Function:從本地客戶端向ftp伺服器上傳一個文件
#Version:V0.1
#Author:Sunrier
#Date:2012-07-20
#$#表示傳遞給此Shell腳本的參數個數
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
IP=127.0.0.1
#IP=192.168.6.1
#FULLNAME獲取本地文件全路徑名
FULLNAME=$1
#DESTDIR獲取需要上傳的ftp遠程目錄路徑
DESTDIR=$2
#basename返回一個路徑中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/test.log";
#當local_filename=`basename $FULLNAME`
#最終local_filename="test.log"
local_filename=`basename $FULLNAME`
#DESTFILE表示ftp伺服器的路徑,以及保存後的文件名
DESTFILE=$DESTDIR/$local_filename
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
passive
cd /home/remote/log/ftpfile
put $FULLNAME $DESTFILE
quit
FTPIT
exit 0
//注釋:
[cpp] view plain
#!/bin/sh
#FileName:ftpput.sh
#Function:從本地客戶端向ftp伺服器上傳一個文件
#Version:V0.1
#Author:Sunrier
#Date:2012-07-20
#$#表示傳遞給此Shell腳本的參數個數
#-lt表示小於
#-eq表示等於
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
#IP=127.0.0.1
IP=192.168.6.1
#FULLNAME獲取本地文件全路徑名
FULLNAME=$1
#DESTDIR獲取需要上傳的ftp遠程目錄路徑
DESTDIR=$2
#basename返回一個路徑中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/test.log";
#當local_filename=`basename $FULLNAME`
#最終local_filename="test.log"
local_filename=`basename $FULLNAME`
#DESTFILE表示ftp伺服器的路徑,以及保存後的文件名
DESTFILE=$DESTDIR/$local_filename
#-i表示在多個文件傳輸期間關閉交互提示
#-n表示禁止自動登錄到初始連接
#<<FTPIT 和最後的 FTPIT:術語叫:當前文檔here documents. here document 就是一段特殊目的的代碼塊,
#它使用I/O重定向的形式來將一個命令序列傳遞到一個交互程序或者命令中,比如ftp、cat,或者ex文本編輯器.
#本句可以理解從<<FTPIT開始以非對話模式的ftp連接,直到輸入FTPIT為止的所有命令.
#當然FTPIT這個名字是可以隨便取的,不一定必須是FTPIT,可以取其它的名字。
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
#連接到指定ftp伺服器上
open $IP
#連接到指定ftp伺服器上,並指定埠
#open $IP $PORT
#登陸ftp伺服器上的用戶名和密碼
#user username password
user Sunrier redhat
#bin表示以二進制方式傳輸
#bin等價於bi,binary等
#另一種方式傳輸是ascii,默認情況下,將文件傳輸類型設置為ASCII
bin
#主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的FTP是指伺服器被動地等待客戶端連接自己的數據埠
#被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTP伺服器的情況.
#因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的連接請求通過.
#因此在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作.
#passive表示設置為被動模式的FTP
passive
#cd表示更改ftp伺服器上(即遠程計算機)的工作目錄
cd /home/remote/log/ftpfile
#lcd表示更改本地計算機的工作目錄
#lcd /home/Sunrier/Proj/log/
#put local_file [ remote_file ]
#其中local_file是指定要復制的本地文件,remote_file是指定要復制的遠程計算機上的文件名,
#remote_file為可選項,如果不指定的話是和本地計算機上的文件名同名.
#put表示把本地路徑下的文件復制到FTP伺服器(遠程計算機)上設置的路徑下的文件
put $FULLNAME $DESTFILE
#quit表示結束與遠程計算機的FTP會話,並退出FTP.
#還有個等價的命令為bye(或by)結束與遠程計算機的FTP會話並退出FTP
quit
#here document塊結束
FTPIT
#正式寫這個Shell腳本時,here document中的#和空行都會執行,
#所以為了消除警告最好去掉here document塊中#開頭的語句以及空行,
#暫時我還沒有找到here document中有效的注釋語句的方法.
exit 0
//ftpget.sh
[cpp] view plain
#!/bin/sh
#FileName:ftpget.sh
#Function:從ftp伺服器上下載一個文件到本地計算機上
#Version:V0.1
#Author:Sunrier
#Date:2012-07-20
#$#表示傳遞給此Shell腳本的參數個數
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <remote_dir/filename> <local_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
IP=127.0.0.1
#IP=192.168.6.1
#FULLNAME獲取從ftp伺服器上下載的文件全路徑名
FULLNAME=$1
#DESTDIR獲取從ftp伺服器上下載的文件所存放的本地計算機的目錄路徑
DESTDIR=$2
#remote_filename獲取從ftp伺服器上下載的文件名
remote_filename=`basename $FULLNAME`
#DESTFILE表示下載文件所存放的本地路徑,以及本地保存後的文件名
DESTFILE=$DESTDIR/$remote_filename
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
cd /home/remote/log/ftpfile
get $FULLNAME $DESTFILE
quit
FTPIT
exit 0
#get remote_file [ local_file ]
#remote_file是指定要復制的文件,local_file是指定本地計算機上的文件名,
#local_file為可選項,沒有指定的話則跟remote_file同名。
//20120726改進版本
[cpp] view plain
#!/bin/sh
#FileName:ftpput.sh
#Function:從本地客戶端向ftp伺服器上傳一個文件(添加遠程目錄是否存在判斷功能)
#Version:V0.2
#Author:Sunrier
#Date:2012-07-26
#$#表示傳遞給此Shell腳本的參數個數
#-ne表示不等於
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi
#IP表示ftp的伺服器ip地址
IP=127.0.0.1
#IP=192.168.6.1
#FULLNAME獲取本地文件全路徑名
FULLNAME=$1
#DESTDIR獲取需要上傳的ftp遠程目錄路徑
DESTDIR=$2
#dirname返迴路徑中的目錄部分
#DESTDIR="/home/Sunrier/Proj/log/test.log";
#當PREDESTDIR=`dirname $DESTDIR`
#最終PREDESTDIR="/home/Sunrier/Proj/log"
PREDESTDIR=`dirname $DESTDIR`
SUFFIXDESTDIR=`basename $DESTDIR`
LOCALDIR=`dirname $FULLNAME`
#basename返回一個路徑中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/test.log";
#當local_filename=`basename $FULLNAME`
#最終local_filename="test.log"
local_filename=`basename $FULLNAME`
#DESTFILE表示ftp伺服器的路徑,以及保存後的文件名
DESTFILE=$DESTDIR/$local_filename
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
dir $PREDESTDIR $LOCALDIR/tmp.txt
quit
FTPIT
#find $LOCALDIR -name "tmp.txt" -type f | xargs grep "^d.*$SUFFIXDESTDIR$"
#find . -name "tmp.txt" -type f | xargs grep "^d.*$SUFFIXDESTDIR$"
#find . ! -name "." -type d -prune -o -type f -iname "*tmp.txt" -print | xargs grep "^d.*$SUFFIXDESTDIR$"
#grep "^d.*$SUFFIXDESTDIR$" \$LOCALDIR/tmp.txt
#grep後面查找字元兩邊加不加引號效果相同
grep ^d.*$SUFFIXDESTDIR$ $LOCALDIR/tmp.txt >/dev/null 2>&1
#$?表示上一個命令的運行結果,0表示成功,其它值表示失敗
#if [ $? != 0 ]
if [ $? -ne 0 ]
then
rm $LOCALDIR/tmp.txt
exit 1
fi
#mkdir創建遠程目錄
#mkdir $DESTDIR
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
passive
cd /home/remote/log/ftpfile
put $FULLNAME $DESTFILE
quit
FTPIT
rm $LOCALDIR/tmp.txt
exit 0
[cpp] view plain
注:
FTP伺服器的啟動:
[root@localhost ~]# service vsftpd start
為 vsftpd 啟動 vsftpd: [確定]
FTP伺服器的埠一般默認為21:
[root@localhost ~]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:523 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:50000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:601 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
[root@localhost ~]#
在使用system執行Shell腳本時,如system("ftpput.sh"),system返回值低8位為system執行腳本所接收到的信號值,9~16位為Shell腳本所設置的exit退出值
E. linux中調用ftp下載文件,如何將緩存實時刷到磁碟上,文件太大,佔用太多cached
這緩存是操作系統控制的,跟大文件沒什麼關系,如果要刷新,執行sync命令
F. linux下ftp伺服器的上傳下載的過程
LinuxftpFTP是ARPANet的標准文件傳輸協議,該網路就是現今Internet的前身。通常我們使用ftp命令,主要是上傳和下載文件,ftp登陸的用戶一般都是一些虛擬用戶,因為這是出於安全考慮。
語法:ftp[-dignv][主機名稱或IP地址]
參數:
-v顯示指令執行過程。
-n不使用自動登陸。
-g關閉本地主機文件名稱支持特殊字元的擴充特性。
-i關閉互動模式,不詢問任何問題。
-d詳細顯示指令執行過程,便於排錯或分析程序執行的情形。
例子:登錄124.16.144.120,命令
[root@localhostlane6]$ftp124.16.144.120
Connectedto124.16.144.120.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_
Name(124.16.144.120:root):anonymous#用戶名
331Pleasespecifythepassword.#用戶密碼
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
.
下載文件通常用get和mget這兩條命令
a)get
格式:get[remote-file][local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取伺服器上c:\a\1.jpg,則
ftp>get/a/1.jpg1.jpg(回車)
b)mget
格式:mget[remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取伺服器上E:\a\下的所有文件,則
ftp>cd/a
ftp>mget*.*(回車)
ftp下輸入prompt命令,批量獲取則不在一一提示。
注意:文件都下載到了linux主機的當前目錄下。比如,在/root/web下運行的ftp命令,則文件都下載到了/root/web下。
3.上傳文件
a)put
格式:putlocal-file[remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.jpg傳送到遠端主機c:\a,並改名為2.gif
ftp>put1.jpg/a/2.gif(回車)
b)mput
格式:mputlocal-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到伺服器c:\a下
ftp>cd/a(回車)
ftp>mput*.jpg(回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在/root/web下運行的ftp命令,則只有在/root/web下的文件linux才會上傳到伺服器c:\a下。
linux教程:Linuxshell中使用ftp自動下載上傳文件
FTP自動登錄批量下載文件
從ftp伺服器192.168.1.171上的/home/data到本地的/home/databackup
!/bin/bash
ftp-v-n192.168.1.171
userguest123456
binary
cd/home/data
lcd/home/databackup
prompt
mget*
close
bye
FTP自動登錄批量上傳文件
從ftp伺服器192.168.1.171上的/home/data到本地的/home/databackup
#!/bin/bash
ftp-v-n192.168.1.171<<END
userguest123456
binary
hash
cd/home/data
lcd/home/databackup
prompt
mput*
bye
END
G. linux下如何用FTP下載含有特定文件名的文件
mget record201407*
H. linux中,如何將ftp中的文件下載到指定位置
在指定的目錄下登錄FTP,然後get 文件就行了。下載下來的文件就在當前目錄,也就是你指定的目錄。