linux系统的ftp命令大全,linux系统ftp命令(示例代码)
先來一段簡單的ftp 下載腳本
ftp -i -n<
open 14.2.33.211
user etl etl
cd /etlfile/ftpfile
lcd /etlfile/getfile
binary
prompt
mget *
prompt
close
bye
EOF
ftp安裝部分,操作步驟如下:
可以使用yum命令直接安裝ftp
#?yum?install?vsftpd
ftp服務的開啟與關閉命令:
開啟:#?service?vsftpd?start
關閉:#?service?vsftpd?stop
安裝成功后,可以在本地使用ftp軟件連接,默認賬號是虛擬機的賬號和密碼。
第一次安裝,開啟后請重啟下ftp服務service vsftpd restart(若防火墻沒關閉,請關閉防火墻)
有關FTP(客戶端,服務器搭建這里不講)有很多,大體分為命令行和GUI圖形界面的軟件。
1,圖形界面的有
gftp
gnome下ftp客戶端
crossftp
基于Java的穩定ftp客戶端和同步工具。優良的中文/Unicode支持。
Kftpgrabber
KDE下ftp客戶端,支持編碼選擇。對中文支持較好
filezilla
對中文支持好
krusader
也可以通過瀏覽器輸入ftp://ip使用
如果有喜歡的可以通過apt-get?或者?aptitude?安裝。
2,CLI(命令行)主要有ftp?和?lftp
(1)ftp
1.?連接ftp服務器
格式:ftp?[hostname|?ip-address]
a)在linux命令行下輸入:ftp?10.18.34.115
b)服務器詢問你用戶名和口令,分別輸入yint和相應密碼,待認證通過即可。
或者用下面的格式
ftp - -i ?-n ?IP_ADDRESS
user USERNAME PASSWORD
比如:
ftp -i -n 172.17.17.17
user ?PUB ? ?123456
也可以自己寫個腳本自動登錄。
[email?protected]:~/桌面/shell$ cat ftp.sh
#!/bin/sh
ftp -i -n ?172.17.17.17
<< !
user ?PUB ? ?123456
!
這樣就可以自動登錄了。
2.?下載文件
下載文件通常用get和mget這兩條命令。
a)?get
格式:get?[remote-file]?[local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取服務器上E:/rose/1.bmp,則
ftp>?get?/rose/1.bmp?1.bmp?(回車)
b)?mget
格式:mget?[remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取服務器上E:/rose/下的所有文件,則
ftp>?cd?/rose
ftp>?mget?*.*?(回車)
注意:文件都下載到了linux主機的當前目錄下。比如,在 /root/yint下運行的ftp命令,則文件都下載到了/root/yint下。
3.上傳文件
a)?put
格式:put?local-file?[remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.bmp傳送到遠端主機E:/rose,并改名為333.bmp
ftp>?put?1.bmp?/rose/333.bmp?(回車)
b)?mput
格式:mput?local-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到服務器E:/rose?下
ftp>?cd?/rose?(回車)
ftp>?mput?*.bmp (回車)
注意:上傳文件都來自于主機的當前目錄下。比如,在 /root/yint下運行的ftp命令,則只有在/root/yint下的文件linux才會上傳到服務器E:/rose?下。
4.?斷開連接
bye:中斷與服務器的連接。
ftp>?bye?(回車)
(2)lftp
在用lftp訪問國內一些ftp服務器時,往往看到的中文是亂碼,這是由于服務器和本地編碼不一致造成的。
解決辦法:
在主目錄下新建一個文件~/.lftprc或者~/.lftp/rc
比如我在終端中輸入:
gedit?~/.lftprc??#在當前目錄下建立.lftprc文件
然后在彈出的對話框中輸入以下內容:
debug?3
set?ftp:charset?GBK
set?file:charset?UTF-8
#set?ftp:passtive-mode?no
#alias?utf8?"?set?ftp:charset?UTF-8"
#alias?gbk?"?set?ftp:charset?GBK"
上面的這幾行的意思是
設置本地和ftp服務器的編碼方式
alias?是使用別名命令
如果對于經常使用不同編碼的?ftp?server?的朋友,或經常使用不同的選項的,可以設置一些別名,這樣會方便很多。
比如:
我經常訪問?gbk?編碼的?ftp,?還有?utf8?編碼的,那么我在?~/.lftp?中這樣寫
代碼:
alias???gbk??set?ftp:charset?gbk;?set?file:charset?UTF-8
alias???utf8?set?ftp:charset?UTF-8;?set?file:charset?UTF-8
那么當我訪問一個?utf8?站點的時候,如果發現亂碼,只要在?lftp?的命令提示符號下面輸入?utf8?就可以將編碼調整正常。同理,如果訪問?gbk?的發現亂碼就輸入?gbk,?馬上正常。
下面講解使用lftp
1、登錄ftp
代碼:
lftp?用戶名:密碼@ftp地址:傳送端口(默認21)
也可以先不帶用戶名登錄,然后在接口界面下用login命令來用指定賬號登錄,密碼不顯示。
口令:
然后就進入了。(這里輸入的口令是密碼,linux下密碼不顯示)
2、查看文件與改變目錄
代碼:
ls
cd?對應ftp目錄
在lftp終端中,前面帶一個l的命令例如lcd,指的是local,就是在本機的操作,而對應的沒有這個l的,都是對ftp?site的操作。還有就是要執行本地終端命令,也可以用前面帶一個!的方式。這樣,配合起來,終端,本地的操作都很放遍。
例如,查看ftp上所有的以mp3為擴展名的文件:
代碼:
find?.?-name?"*.mp3"
代碼:
lcd?成功,?本地目錄=/home/cyq
3、下載
get當然是可以的,還可以
代碼:
mget?-c?*.pdf
把所有的pdf文件以允許斷點續傳的方式下載。m代表multi
代碼:
mirror?aaa/
將aaa目錄整個的下載下來,子目錄也會自動復制
代碼:
pget?-c?-n?10?file.dat
以最多10個線程以允許斷點續傳的方式下載file.dat
可以通過設置pget:default-n的值而使用默認值。
4、上傳
同樣的put,mput,都是對文件的操作,和下載類似。
代碼:
mirror?-R?本地目錄名
將本地目錄以迭代(包括子目錄)的方式反向上傳到ftp?site。
5、模式設置。
代碼:
set?ftp:charset?gbk
遠程ftp?site用gbk編碼,對應的要設置為utf8,只要替換gbk為utf8即可。
代碼:
set?file:charset?utf8
本地的charset設定為utf8,如果你是gbk,相應改掉。
代碼:
set?ftp:passive-mode?1
使用被動模式登錄,有些site要求必須用被動模式或者主動模式才可以登錄,這個開關就是設置這個的。0代表不用被動模式。
6、書簽
其實命令行也可以有書簽,在lftp終端提示符下:
代碼:
bookmark?add?ustc
就可以把當前正在瀏覽的ftp?site用ustc作為標簽儲存起來。以后在shell終端下,直接
代碼:
lftp?ustc
就可以自動填好用戶名,密碼,進入對應的目錄了。
代碼:
bookmark?edit
會調用編輯器手動修改書簽。當然,也可以看到,這個書簽其實就是個簡單的文本文件。密碼,用戶名都可以看到。
7、配置文件
/etc/lftp.conf
一般,我會添加這幾行:
引用:
set?ftp:charset?gbk
set?file:charset?utf8
set?pget:default-n?5
這樣,就不用每次進入都要打命令了。其他的set?可以自己tab然后help?來看。
下面是常用命令
ls
顯示遠端文件列表(ils?顯示本地文件列表)。#?l?的意思就是local?ils比較特殊
cd
切換遠端目錄(lcd?切換本地目錄)。
get
下載遠端文件。
mget
下載遠端文件(可以用通配符也就是?*)。
pget
使用多個線程來下載遠端文件,?預設為五個。
mirror
下載/上傳(mirror?-R)/同步?整個目錄。
put
上傳文件。
mput
上傳多個文件(支持通配符)。
mv
移動遠端文件(遠端文件改名)。
rm
刪除遠端文件。
參數-r,遞歸刪除文件夾
mrm
刪除多個遠端文件(支持通配符)。
mkdir
建立遠端目錄。
rmdir
刪除遠端目錄。
pwd
顯示目前遠端所在目錄(lpwd?顯示本地目錄)。
du
計算遠端目錄的大小
set?net:limit-rate?10000,10000
限制上傳下載各為10KB/s
set?ftp:charset?gbk
設置遠程ftp?site用gbk編碼
!
執行本地?shell的命令(由于lftp?沒有?lls,?故可用?!ls?來替代)
lcd
切換本地目錄
lpwd
顯示本地目錄
alias
定義別名
bookmark
設定書簽。
exit
退出ftp
總結
以上是生活随笔為你收集整理的linux系统的ftp命令大全,linux系统ftp命令(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 杀死脚本,linux – 如
- 下一篇: linux的tns 日志,Oracle