Úvod
FTP (File Transfer Protocol) je síťový protokol používaný pro přenos souborů z jednoho počítačového systému do druhého. I když bezpečnost FTP vyvolává mnoho diskuzí, stále jde o efektivní metodu přenosu souborů v zabezpečené síti.
V tomto tutoriálu vám ukážeme, jak používat ftp
příkaz pro připojení ke vzdálenému systému, přenos souborů a správu souborů a adresářů.
Předpoklady
- Přístup k místnímu systému a vzdálenému FTP serveru (přečtěte si, jak nainstalovat FTP server na Ubuntu, CentOS 7 nebo Raspberry Pi).
- Fungující připojení k internetu.
- Přístup do okna terminálu.
DŮLEŽITÉ: Provoz FTP není šifrován, a proto je považován za nebezpečný. Nedoporučuje se přenášet soubory přes internet pomocí FTP. Chcete-li se dozvědět více o bezpečných alternativách k FTP, podívejte se na naše články o SFTP a TSL vs. SSL.
Syntaxe příkazu Linux ftp
Linux ftp
používá následující základní syntaxi:
ftp [options] [IP]
IP
je IP adresa systému, ke kterému se připojujete.
Možnosti dostupné pro ftp
příkazy jsou:
Možnosti příkazu FTP | Popis |
---|---|
-4 | Používejte pouze IPv4. |
-6 | Používejte pouze IPv6. |
-e | Zakáže úpravy příkazů a podporu historie. |
-p | Používá pasivní režim pro přenosy dat, což vám umožňuje používat FTP i přes firewall, který tomu může bránit. |
-i | Vypne interaktivní výzvy během přenosu více souborů. |
-n | Zakáže pokusy o automatické přihlášení při prvním připojení. |
-g | Zakáže globování názvů souborů. |
-v | Povoluje podrobný výstup. |
-d | Povoluje ladění. |
ftp
příkaz vás připojí ke vzdálenému systému a spustí rozhraní FTP. Rozhraní FTP používá ke správě a přenosu souborů do vzdáleného systému následující příkazy:
Příkaz | Popis |
---|---|
! | Dočasně uniknout do místního shellu. |
$ | Spusťte makro. |
? | Zobrazit text nápovědy. |
account | Zadejte heslo pro vzdálený systém. |
append | Připojte místní soubor k souboru na vzdáleném systému. |
ascii | Nastavte typ přenosu souborů na síť ASCII (výchozí typ). |
bell | Povolit zvukové upozornění po dokončení každého přenosu. |
binary | Nastavte typ přenosu souborů na přenos binárních obrázků. |
bye | Opusťte rozhraní FTP. |
case | Přepnout citlivost na velká/malá písmena při mapování ID během mget příkaz. |
cd | Změňte aktuální pracovní adresář na vzdáleném systému. |
cdup | Změna na nadřazený adresář aktuálního pracovního adresáře na vzdáleném systému. |
chmod | Změňte oprávnění k souboru ve vzdáleném systému. |
close | Opusťte rozhraní FTP. |
cr | Přepnout odstranění konce řádku při přenosech souborů ASCII. |
debug | Přepnout režim ladění. |
delete | Smažte soubor ze vzdáleného systému. |
dir | Vypsat obsah adresáře na vzdáleném systému. |
disconnect | Ukončete relaci FTP. |
exit | Ukončete relaci FTP a ukončete rozhraní FTP. |
form | Nastavte formát přenosu souborů. |
get | Přeneste soubor ze vzdáleného systému na místní počítač. |
glob | Přepnout metaznakové rozšíření názvů místních souborů. |
hash | Přepnout zobrazení znaku hash („# ") pro každý přenesený datový blok. |
help | Zobrazit text nápovědy. |
idle | Nastavte časovač nečinnosti pro vzdálený systém. |
image | Nastavte typ přenosu souborů na přenos binárních obrázků. |
ipany | Povolit jakýkoli typ adresy IP. |
ipv4 | Povolit pouze adresy IPv4. |
ipv6 | Povolit pouze adresy IPv6. |
lcd | Změňte aktuální pracovní adresář na místním počítači. |
ls | Vypsat obsah adresáře na vzdáleném systému. |
macdef | Definujte makro. |
mdelete | Smažte více souborů ve vzdáleném systému. |
mdir | Vypsat obsah více adresářů na vzdáleném systému. |
mget | Přeneste více souborů ze vzdáleného systému do místního počítače. |
mkdir | Vytvořte adresář na vzdáleném systému. |
mls | Vypsat obsah více adresářů na vzdáleném systému. |
mode | Nastavte režim přenosu souborů. |
modtime | Ukázat poslední změnu souboru ve vzdáleném systému. |
mput | Přeneste více souborů z místního počítače do vzdáleného systému. |
newer | Přeneste soubor ze vzdáleného systému na místní počítač pouze v případě, že čas úpravy vzdáleného souboru je novější než čas místního souboru (pokud neexistuje místní verze souboru, vzdálený soubor je automaticky považován za novější). |
nlist | Vypsat obsah adresáře na vzdáleném systému. |
<a href="https://phoenixnap.com/kb/nmap-scan-open-ports" target="_blank" rel="noreferrer noopener">nmap</a> | Nastavit šablony pro výchozí mapování názvů souborů. |
ntrans | Nastavit překladovou tabulku pro výchozí mapování názvů souborů. |
open | Navažte spojení se serverem FTP. |
passive | Povolit režim pasivního přenosu. |
prompt | Vynutit interaktivní výzvy při přenosu více souborů. |
proxy | Proveďte příkaz na alternativním (proxy) připojení. |
put | Přeneste soubor z místního počítače do vzdáleného systému. |
pwd | Zobrazí aktuální pracovní adresář na vzdáleném systému. |
qc | Přepnout zobrazení řídicího znaku („? ") ve výstupu příkazů typu ASCII. |
exit | Ukončete relaci FTP a ukončete rozhraní FTP. |
quote | Zadejte příkaz jako argument a odešlete jej na server FTP. |
recv | Přeneste soubor ze vzdáleného systému na místní počítač. |
reget | Přeneste soubor ze vzdáleného systému na místní počítač, pokud je místní soubor menší než vzdálený soubor. Přenos začíná na konci místního souboru. Pokud neexistuje žádná místní verze souboru, příkaz se neprovede. |
rename | Přejmenujte soubor ve vzdáleném systému. |
reset | Vymazat odpovědi na příkazy ve frontě. |
restart | Restartujte příkaz pro přenos souborů na nastavené značce. |
rhelp | Zobrazit text nápovědy pro vzdálený systém. |
rmdir | Odeberte adresář ze vzdáleného systému. |
rstatus | Zobrazit stav vzdáleného systému. |
runique | Přepnout ukládání souborů na místním počítači s jedinečnými názvy souborů. |
send | Přeneste soubor z místního počítače do vzdáleného systému. |
send | Přepnout použití příkazů PORT. |
site | Zadejte příkaz jako argument a odešlete jej na server FTP jako příkaz SITE. |
size | Zobrazí velikost souboru na vzdáleném systému. |
status | Zobrazit stav rozhraní FTP. |
struct | Nastavte strukturu přenosu souborů. |
sunique | Přepnout ukládání souborů na vzdáleném systému s jedinečnými názvy souborů. |
system | Zobrazit operační systém na vzdáleném systému. |
tenex | Nastavte typ přenosu souborů, abyste umožnili připojení k počítačům TENEX. |
tick | Přepnout počítadlo tiskových bytů během přenosů. |
trace | Přepnout trasování paketů. |
type | Nastavte typ přenosu souborů. |
umask | Nastavit výchozí masku oprávnění pro místní počítač. |
user | Zadejte uživatelské jméno a heslo pro vzdálený server FTP. |
verbose | Přepnout podrobný výstup. |
Jak používat příkaz ftp v Linuxu
ftp
připojí počítačový systém ke vzdálenému serveru pomocí protokolu FTP. Po připojení také uživatelům umožňuje přenášet soubory mezi místním počítačem a vzdáleným systémem a spravovat soubory a adresáře na vzdáleném systému.
Nastavte připojení FTP
Chcete-li navázat připojení FTP ke vzdálenému systému, použijte ftp
příkaz s IP adresou vzdáleného systému:
ftp [IP]
Například připojení ke vzdálenému serveru s IP adresou 192.168.100.9 :
ftp 192.168.100.9
Přihlaste se k serveru FTP
Jakmile zahájíte připojení ke vzdálenému systému pomocí ftp
příkaz FTP rozhraní vyžaduje, abyste se přihlásili zadáním uživatelského jména a hesla:
Zadáním požadovaných přihlašovacích údajů se přihlásíte a spustíte FTP rozhraní. V tomto příkladu se přihlašujeme jako phoenixnap uživatel:
Rozhraní FTP je nyní aktivní a připravené k provádění příkazů:
Práce s adresáři na vzdáleném systému
Pomocí FTP můžete provádět základní správu adresářů na vzdáleném systému, jako je vytváření adresářů, přesun z jednoho pracovního adresáře do druhého a výpis obsahu adresáře.
Seznam adresářů
Rozhraní FTP vám umožňuje vypsat obsah adresáře na vzdáleném systému pomocí ls
příkaz:
ls
Použití příkazu bez jakýchkoli voleb zobrazí obsah aktuálního pracovního adresáře vzdáleného systému. V tomto příkladu je to Domů adresář:
Zadání cesty k adresáři jako argument pro ls
zobrazí obsah tohoto adresáře:
ls [path to directory]
Například uvedení obsahu Příkladu adresář:
ls Example
Přidání názvu textového souboru na konec ls
příkaz uloží obsah adresáře do tohoto souboru:
ls [path to directory] [file name]
Například:
ls Example listing.txt
Tato syntaxe příkazu vyžaduje zadání Y
a stiskněte Enter pro potvrzení uložení textového souboru:
Otevřením textového souboru se zobrazí obsah adresáře:
dir
a nlist
příkazy jsou alternativy k ls
příkaz a pracovat stejným způsobem. Rozhraní FTP také umožňuje vypsat obsah více adresářů pomocí mls
příkaz:
mls [directory 1] [directory 2] .. [directory n]
Například níže uvedený příklad uvádí obsah Příklad a Příklad2 :
mls Example Example2 -
Stejně jako ls
příkaz mls
umožňuje uživatelům uložit obsah do textového souboru. Tento příkaz považuje poslední argument za název textového souboru. Pokud chcete vypsat obsah adresáře bez jeho uložení do textového souboru, nahraďte název souboru pomlčkou (-
).
mdir
příkaz funguje stejně jako mls
příkaz, ale nabízí podrobnější výstup:
mdir Example Example2 -
Změnit adresáře
Použijte cd
příkaz ke změně aktuálního pracovního adresáře na vzdáleném systému:
cd [path to directory]
Například přechod na Příklad adresář:
cd Example
Použijte cdup
příkaz k přesunutí do nadřízeného aktuálního pracovního adresáře. V tomto příkladu přecházíme z Příkladu do adresáře Domů adresář:
cdup
Vytváření adresářů
Pomocí mkdir
umožňuje vytvořit adresář na vzdáleném systému:
mkdir [directory name]
V níže uvedeném příkladu vytvoříme adresář s názvem Příklad3 :
mkdir Example3
Stahování souborů přes FTP
Chcete-li přenést soubor ze vzdáleného systému do místního počítače, použijte get
nebo recv
příkaz.
get [remote file name]
NEBO
recv [remote file name]
V níže uvedeném příkladu přeneseme example_file.txt na místní počítač.
get example_file.txt
Chcete-li přenést soubor example_file.txt a uložte jej jako example.txt na místním počítači použijte:
get example_file.txt example.txt
Přenos souboru z určitého adresáře vyžaduje, abyste se přesunuli do tohoto adresáře:
cd Example
get test01.txt
mget
umožňuje přenášet více souborů současně. Například přenos souboru test01.txt , test02.txt a test03.txt z Příkladu adresář:
mget test01.txt test02.txt test03.txt
Nahrávání souborů přes FTP
Použijte put
nebo send
příkaz k přenosu souboru z místního počítače do vzdáleného systému. Oba příkazy používají stejnou základní syntaxi:
put [local file name]
send [local file name]
Chcete-li přenést example01.txt ke vzdálenému systému, použijte:
put example01.txt
Chcete-li nahrát soubor example01.txt do vzdáleného systému jako sample01.txt , použijte:
put example01.txt sample01.txt
Přesunutí do konkrétního adresáře vám umožní přenášet soubory z tohoto adresáře:
cd Directory
put example.txt
Použijte mput
příkaz k přenosu více souborů do vzdáleného systému. Přeneste například test04.txt , test05.txt a test06.txt s:
mput test04.txt test05.txt test06.txt
Přejmenovat soubory
Použijte rename
příkaz k přejmenování souborů na vzdáleném serveru. rename
používá následující syntaxi:
rename [old file name] [new file name]
Například přejmenování sample01.txt na ukázkový_soubor01.txt :
rename sample01.txt sample_file01.txt
Úspěšné provedení příkazu vytvoří následující výstup:
Použijte rename
příkaz také změnit názvy adresářů.
V níže uvedeném příkladu Příklad3 adresář je přejmenován na Example03 :
rename Example3 Example03
Smazat soubory
delete
umožňuje smazat soubor na vzdáleném systému. Používá následující syntaxi:
delete [file name]
Například smazáním souboru ukázkový_soubor01.txt :
delete sample_file01.txt
Pomocí mdelete
umožňuje odstranit více souborů současně přidáním názvů souborů za příkaz:
mdelete test04.txt test05.txt test06.txt
Další metodou je použití mdelete
příkaz se zástupným znakem. Chcete-li například smazat všechny soubory .txt soubory, použijte:
mdelete *.txt
Zavřete připojení FTP
Použijte bye
, exit
nebo exit
příkaz k ukončení FTP připojení a opuštění rozhraní.
Pomocí disconnect
příkaz ukončí připojení, aniž by opustil rozhraní.