檔案傳輸協議比我們大多數的閱讀器都舊,但它仍然很強大。FTP沒有現代協議的安全性,但是您可能需要使用它。下面是如何做到這一點。
讓我們從一開始就明確這一點:檔案傳輸協議(FTP)可以追溯到20世紀70年代初,它的編寫完全不考慮安全性。它不使用任何加密。登入憑據(如使用者名稱和密碼)以及下載或上載的資料都以明文形式傳輸。沿途任何人都可以看到你的祕密。然而,FTP仍然有它的用途。
如果您在網路中傳輸檔案,您應該是安全的-只要網路上沒有人在傳輸任何敏感文件時對其進行資料包嗅探和竊聽。如果你的檔案不是機密或敏感的任何方式,移動他們在你的內部網路與FTP應該是罰款。Linux有標準的ftp命令列程式來精確地處理這種情況。
但絕對不要使用ftp命令透過internet訪問外部資源。為此,請使用sftp命令列程式,該程式使用安全SSH檔案傳輸協議。我們將在本教程中介紹這兩個程式。
為了澄清為什麼你永遠不想在網際網路上使用FTP,請看下面的螢幕截圖。它以明文形式顯示FTP密碼。任何人在你的網路或你和FTP伺服器之間的網際網路上可以很容易地看到密碼是“MySecretPassword”
在沒有加密的情況下,惡意參與者也可以修改您正在下載或上傳的檔案。
假設您在FTP站點上有一個有效的帳戶,您可以使用以下命令連線到它。在本文中,將命令中的IP地址替換為要連線的FTP伺服器的IP地址。
ftp 192.168.4.25警告:只能使用ftp命令連線到受信任的本地網路上的伺服器。使用下面介紹的sftp命令透過internet傳輸檔案。
FTP伺服器以歡迎訊息響應。問候語的措辭因伺服器而異。然後它會詢問您正在登入的帳戶的使用者名稱。
請注意,將顯示您要連線的站點的IP地址,後跟您的Linux使用者名稱。如果FTP伺服器上的帳戶名與Linux使用者名稱相同,只需按Enter鍵。這將使用您的Linux使用者名稱作為FTP伺服器上的帳戶名。如果Linux使用者名稱和FTP帳戶名不同,請鍵入FTP帳戶使用者名稱,然後按Enter鍵。
系統將提示您輸入FTP站點的密碼。輸入密碼,然後按Enter。您的密碼不會顯示在螢幕上。如果FTP伺服器驗證了您的FTP使用者名稱和密碼組合,則您將登入到FTP伺服器。
您將看到ftp>;提示。
首先,您可能希望獲得FTP伺服器上的檔案列表。ls命令就是這樣做的。我們的使用者看到檔案gc.c在FTP伺服器上,他想把它下載到自己的計算機上。他的電腦是FTP術語中的“本地電腦”。
檢索(或“get”)檔案的命令是get。因此,我們的使用者發出命令getgc.c。他們鍵入get、一個空格,然後輸入想要檢索的檔名。
FTP伺服器透過將檔案傳輸到本地計算機並確認傳輸發生來做出響應。檔案的大小和傳輸所用的時間也會顯示出來。
ls get gc.c要一次檢索多個檔案,請使用mget(multiple get)命令。mget命令將要求您確認是否要依次下載每個檔案。按“y”表示是,按“n”表示否。
對於大量的檔案來說,這將是乏味的。因此,相關檔案的集合通常作為單個檔案儲存在ftp站點上焦油.gz或者焦油bz2資料夾。
相關:如何從檔案中提取檔案。焦油.gz或者。焦油bz2Linux上的檔案
mget *.c根據授予FTP帳戶的許可權,您可以將檔案上載(或“放入”)到伺服器。要上載檔案,請使用put命令。在我們的示例中,使用者正在上載一個名為歌曲.tar.gz到FTP伺服器。
put Songs.tar.gz如您所料,有一個命令可以同時將多個檔案放入FTP伺服器。它被稱為mput(multiple put)。就像mget命令所做的那樣,mput將要求對每個檔案的上載逐個進行“y”或“n”確認。
將檔案集放入tar存檔的引數與獲取檔案的引數相同。我們的使用者正在使用以下命令上載多個“.odt”檔案:
mput *.odt如果ftp伺服器上的使用者帳戶允許,您可以建立目錄。執行此操作的命令是mkdir。要清楚的是,使用mkdir命令建立的任何目錄都將在ftp伺服器上建立,而不是在本地計算機上建立。
要更改ftp伺服器上的目錄,請使用cd命令。使用cd命令時,ftp>;提示符不會更改以反映新的當前目錄。pwd(print working directory)命令將顯示當前目錄。
我們的ftp使用者建立一個名為music的目錄,將其更改為新目錄,使用pwd命令確認它們所在的位置,然後將檔案上載到該目錄。
mkdir music cd music pwd put songs.tar.gz要快速移動到當前目錄的父目錄,請使用cdup命令。
cdup要更改本地計算機上的目錄,可以在ftp>;提示符下使用lcd命令。但是,很容易忘記您在本地檔案系統中的位置。訪問本地檔案系統的一種更方便的方法是使用!命令。
這個!命令開啟本地計算機的shell視窗。您可以在這個shell中執行任何在標準終端視窗中可以執行的操作。鍵入exit時,返回ftp>;提示符。
我們的使用者已經使用了!命令並在本地計算機上輸入shell視窗。他們已經發出ls命令檢視該目錄中存在哪些檔案,然後鍵入exit返回ftp>;提示符。
! ls exit要重新命名FTP伺服器上的檔案,請使用rename命令。在這裡,我們的FTP使用者用rename重新命名一個檔案,然後使用ls命令列出目錄中的檔案。
rename songs.tar.gz rock_songs.tar.gz ls要刪除FTP伺服器上的檔案,請使用delete命令。要一次刪除多個檔案,請使用mdelete命令。您將被要求提供一個“y”或“n”確認刪除每個檔案。
在這裡,我們的FTP使用者列出了要檢視其名稱的檔案,然後選擇了要刪除的檔案。然後他們決定把它們全部刪除。
ls delete gc.o mdelete *.o熟悉IP定址系統的讀者會注意到,上面示例中使用的FTP伺服器的192.168地址是一個內部IP地址,也稱為私有IP地址。正如我們在本文開頭所警告的,ftp命令只能在內部網路上使用。
如果要連線到遠端或公共FTP伺服器,請使用sftp命令。我們的使用者將連線到一個名為demo的SFTP帳戶,該帳戶位於可公開訪問的FTP伺服器上測試.trebex.net.
當他們連線時,會被告知連線已經建立。他們還被告知,主機的真實性無法驗證。這對於新主機的第一次連線是正常的。他們按“y”接受連線。
因為使用者帳戶名(demo)是在命令列上傳遞的,所以不會提示他們輸入使用者帳戶名。只提示他們輸入密碼。這將被輸入、驗證和接受,並顯示sftp>;提示。
sftp [email protected]我們上面描述的FTP命令在SFTP會話中的工作方式相同,但有以下例外。
我們的使用者在SFTP會話中使用了一些命令。他們使用ls來列出檔案,使用cd來更改pub目錄。他們使用pwd列印工作目錄。
在Linux世界中,還有其他傳輸檔案的選項,特別是scp(secure copy),但這裡我們主要討論FTP和SFTP。在適用的場景中,這兩個命令將很好地滿足您和您的檔案儲存和檢索需求。
...一個放在第一位(不尋常,但不是不可能)。你需要知道如何在沒有瀏覽器的情況下下載Chrome(或你選擇的瀏覽應用程式)。 瀏覽器被阻止:您的瀏覽器也有可能被阻止聯機。您的計算機上是否正在執行家長設定...
...。然而,在此之前,值得考慮的是第六種選擇,以及它是如何絕對錯誤的方式。 ...
...許您在Android裝置上安裝誠實善良的Linux應用程式。下面是如何使用Termux應用程式。 ...
...可以選擇使用裝置RAM進行臨時讀/寫檔案儲存。當您決定如何使用非常小的web伺服器時,您可能需要更改這一點。 ...
...將檔案上傳到web主機的轉到方法。一個好的FTP體驗來自您使用的FTP客戶端應用程式,因此請確保您使用的是您喜歡的FTP客戶端。 ...
... 讓我們仔細看看如何在Ubuntu上安裝Python,並提供一個更新Python包的簡短指南。 ...
... 許多Linux伺服器執行Ubuntu。那麼,讓我們看看如何在Ubuntu伺服器上設定FTP伺服器。 ...