導航:首頁 > 文件類型 > linuxftp下載文件夾命令

linuxftp下載文件夾命令

發布時間:2023-08-15 19:04:11

❶ 用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退出值

❷ linux ftp下如何get多個目錄的文件

1、查看是否安裝vsftpd,如果沒有用yum安裝,本系統沒有安裝。專

❸ 請問linux下用從終端登錄ftp,將某文件下載到某文件夾的命令是什麼

get ./111.doc /usr/share/111.doc

暈,看提示就知道你輸入的存儲路徑有問題!

❹ linux下如何訪問windows下的ftp伺服器

linux下常用FTP命令
1. 連接ftp伺服器
格式:ftp [hostname| ip-address]
a)在linux命令行下輸入:
ftp 192.168.1.1
b)伺服器詢問你用戶名和密碼,分別輸入用戶名和相應密碼,待認證通過即可。

2. 下載文件

下載文件通常用get和mget這兩條命令。
a) get
格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中。
如要獲取遠程伺服器上/usr/your/1.htm,則
ftp> get /usr/your/1.htm 1.htm (回車)

b) mget
格式:mget [remote-files]
從遠端主機接收一批文件至本地主機。
如要獲取伺服器上/usr/your/下的所有文件,則

ftp> cd /usr/your/
ftp> mget *.* (回車)

此時每下載一個文件,都會有提示。如果要除掉提示,則在mget *.* 命令前先執行:prompt off

注意:文件都下載到了linux主機的當前目錄下。比如,在/usr/my下運行的ftp命令,則文件都下載到了/usr/my下

3.上傳文件

a) put
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中。
如要把本地的1.htm傳送到遠端主機/usr/your,並改名為2.htm
ftp> put 1.htm /usr/your/2.htm (回車)
b) mput
格式:mput local-files
將本地主機中一批文件傳送至遠端主機。
如要把本地當前目錄下所有html文件上傳到伺服器/usr/your/ 下

ftp> cd /usr/your (回車)
ftp> mput *.htm(回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在/usr/my下運行的ftp命令,則只有在/usr/my下的文件linux才會上傳到伺服器/usr/your 下。

4. 斷開連接
bye:中斷與伺服器的連接。

ftp> bye (回車)

❺ 怎麼從FTP上下載東西

其實我建議使用一個專門的ftp客戶端來使用ftp比較好,這樣你只需要在內客戶端上輸入ftp伺服器的容IP和埠,賬號,密碼,就能輕松的上傳和下載文件,非常實用。

這里我推薦使用IIS7伺服器管理工具,它可以作為FTP的客戶端,想要進行FTP的上傳下載操作,只需要下載安裝iis7伺服器管理工具就可以了!免費下載,很方便。

同時它還可以作為VNC的客戶端,進行VNC的相應操作!它能夠連接Windows和Linux系統下的伺服器和VPS,能滿足你不同系統的使用,感覺不錯的話可以試試

❻ Linux下幾種文件傳輸命令 sz rz sftp scp

Linux下幾種文件傳輸命令 sz rz sftp scp介紹
1.sftp

Secure Ftp
是一個基於SSH安全協議的文件傳輸管理工具。由於它是基於SSH的,會在傳輸過程中對用戶的密碼、數據等敏感信息進行加密,因此可以有效的防止用戶信息
在傳輸的過程中被竊取,比FTP有更高的安全性。在功能方面與FTP很類似,不僅可以傳輸文件數據,而且可以進行遠程的文件管理(如建立,刪除,查看文件
列表等操作)。Sftp與ftp雖然只有一字之差,但基於的傳輸協議卻是不同的。因此不能用sftp client去連接ftp server 也不能用
ftp client 去連接 sftp server。
建立連接:sftp user@host

從本地上傳文件:put localpath
下載文件:get remotepath
與遠程相對應的本地操作,只需要在命令前加上」l」 即可,方便好記。

例如:lcd lpwd lmkdir

2.scp

SCP :secure (remote file program) 也是一個基於SSH安全協議的文件傳輸命令。與sftp不同的是,它只提供主機間的文件傳輸功能,沒有文件管理的功能。
復制local_file 到遠程目錄remote_folder下

scp local_file remote_user@host:remote_folder

復制local_folder 到遠程remote_folder(需要加參數 -r 遞歸)

scp –r local_folder remote_user@host:remote_folder

以上命令反過來寫就是遠程復制到本地

3.sz/rz

sz/rz 是基於ZModem傳輸協議的命令。對傳輸的數據會進行核查,並且有很好的傳輸性能。使用起來更是非常方便,但前提是window端需要有能夠支持ZModem的telnet或者SSH客戶端,例如secureCRT。

首先需要在secureCRT中可以配置相關的本地下載和上傳目錄,然後用rz、sz命令即可方便的傳輸文件數據。

下載數據到本地下載目錄:sz filename1 filename2 …
上傳數據到遠程:執行rz –be 命令,客戶端會彈出上傳窗口,用戶自行選擇(可多選)要上傳的文件即可。

❼ linux創建ftp伺服器的基本命令

1.先掛裝光碟 mount /dev/cdrom /media
2.然後切換到media目錄下 cd /media/Server
3.安裝 vsftpd 軟體 rpm -ivh vsftpd*.rpm
4.安裝完以後通過配置 /etc/vsftpd/vsftpd.conf 文件來版決定ftp是匿名的權還是本地的

❽ linux下使用ftp怎麼使用命令上傳文件

在 Linux 系統提示符 $ 下,使用 ftp 命令,如下所示:
$ftp a.b.c.d <cr> (其中:a.b.c.d 為假設的一個對方的 FTP 伺服器的 IP 地址)版
如果是對方的 FTP 伺服器允許權別人進行匿名訪問的話,那麼用戶名就是:anonymous,密碼一般為空。否則的話,就需要輸入對方提前事先提供給你的用戶名和密碼才能夠進行文件傳輸。
使用約定好的用戶名和密碼登錄到對方的 FTP 伺服器之後,你就可以使用 put(傳輸單個文件)、或者 mput(傳輸多個文件)、get(從對方的FTP伺服器上獲取單個文件)、mget(從對方的FTP伺服器上獲取多個文件)了。當然了,一般 FTP 伺服器的系統管理員都會給你一個 /pub 子目錄,供所有用戶使用。所以一般來說,即使使用賬號登錄 FTP 伺服器之後,第一個命令就是: cd /pub ,轉入公共子目錄。

閱讀全文

與linuxftp下載文件夾命令相關的資料

熱點內容
梨子linux 瀏覽:30
office2013找不到文件 瀏覽:877
msp430獨立按鍵程序 瀏覽:592
如何固定表格數據的位數 瀏覽:544
編程貓項目分析的思路有哪些 瀏覽:927
編程能玩什麼游戲 瀏覽:13
怎麼用win10鏡像 瀏覽:552
10歲沒接觸編程學什麼程序好 瀏覽:375
jsselect必填 瀏覽:784
python學習編程需要什麼基礎 瀏覽:114
ug打開文件找不到 瀏覽:859
獲取登錄數據失敗怎麼解決 瀏覽:30
極迅加速沒網路 瀏覽:766
京東代升級 瀏覽:488
開源篩選工具 瀏覽:840
cad怎麼刪除保存的文件 瀏覽:185
哪個app歌聲可以下載 瀏覽:519
解壓過的文件怎麼打開 瀏覽:929
蘋果4s怎麼打開文件 瀏覽:710
別人拷了excel文件怎麼刪 瀏覽:736

友情鏈接