Как да прехвърляте файлове в Linux

Прехвърлянето на файлове е една от най-честите задачи, които ще изпълнявате в Linux. Независимо дали премествате файлове между директории на една и съща машина, споделяте файлове с други потребители в мрежата или качвате файлове на отдалечен сървър, Linux предлага широк набор от инструменти и команди, за да свършите работата. Това ръководство ще ви преведе през различни методи за прехвърляне на файлове в Linux, като обхваща както основни, така и разширени техники.
1. Локално копиране на файлове чрез cp командата
Командата cpе най-основната и често използвана команда за копиране на файлове и директории във вашата локална файлова система.
Основен синтаксис:
cp [options] source destination
source: Файлът или директорията, които искате да копирате.destination: Мястото, където искате да копирате файла или директорията.
Пример:
За да копирате файл с име example.txtот текущата ви директория в друга директория, използвайте:
cp example.txt /path/to/destination/
За да копирате цяла директория, използвайте -r(рекурсивна) опция:
cp -r /path/to/source_directory /path/to/destination_directory/
2. Локално преместване на файлове чрез mv команда
Командата mvсе използва за преместване на файлове или директории от едно място на друго. Може да се използва и за преименуване на файлове.
Основен синтаксис:
mv [options] source destination
Пример:
За да преместите файл с име example.txtв друга директория:
mv example.txt /path/to/destination/
За да преименувате example.txtна new_example.txt, използвайте:
mv example.txt new_example.txt
3. Прехвърляне на файлове през мрежа чрез scp команда
Командата scp(сигурно копие) се използва за сигурно прехвърляне на файлове през мрежа чрез SSH.
Основен синтаксис:
scp [options] source user@host:destination
user: Потребителското име на отдалечената система.host: IP адресът или името на домейна на отдалечената система.destination: Пътят на отдалечената система, където искате да прехвърлите файла.
Пример:
За да копирате файл с име example.txt на отдалечен сървър:
scp example.txt [email protected]:/отдалеченa/директория/
За да копирате цяла директория, използвайте -rопцията:
scp -r /local/directory/ [email protected]:/отдалеченa/директория/
4. Използване rsync за ефективни прехвърляния на файлове
Командата rsyncе мощен инструмент за синхронизиране на файлове и директории между две местоположения. Той само копира разликите между източника и дестинацията, което го прави по-бърз и по-ефективен.
Основен синтаксис:
rsync [options] source destination
rsync [options] source destination
Пример:
За да синхронизирате локална директория с отдалечена директория:
rsync -avz /local/directory/ [email protected]:/отдалеченa/директория/
-a: Архивиран режим (запазва символни връзки, разрешения и др.).-v: Многословно (показва напредъка).-z: Компресира данните по време на прехвърлянето.
За да изтриете файлове в дестинацията, които не съществуват в източника:
rsync -avz --delete /local/directory/ [email protected]:/отдалеченa/директория/
5. Прехвърляне на файлове чрез sftp
Командата sftp(SSH File Transfer Protocol) предоставя интерактивен интерфейс за прехвърляне на файлове през SSH.
Основен синтаксис:
sftp user@host
Пример:
За да започнете sftp сесия с отдалечен сървър:
sftp [email protected]
След като се свържете, използвайте put за качване на файлове или get за изтегляне на файлове:
put /local/file.txt /remote/directory/
get /remote/file.txt /local/directory/
Можете да излезете от сесията, като използвате:
bye
6. Прехвърляне на файлове rsync чрез SSH
rsyncможе също да се комбинира с SSH за сигурни прехвърляния на файлове. Това често е по-ефективно, отколкото scpпри големи или чести трансфери.
Основен синтаксис:
rsync -avz -e ssh /local/directory/ [email protected]:/remote/directory/
Пример:
rsync -avz -e ssh /local/file.txt [email protected]:/remote/directory/
7. Използване curl и wget за изтегляне на файлове
curlи wgetса инструменти на командния ред, използвани за изтегляне на файлове от интернет.
Използвайки curl:
curl -O http://example.com/file.txt
-O: Записва файла с оригиналното му име.
Използвайки wget:
wget http://example.com/file.txt
И двата инструмента могат да изтеглят множество файлове чрез посочване на множество URL адреси:
wget http://example.com/file1.txt http://example.com/file2.txt
8. Прехвърляне на файлове чрез tar и gzip
За прехвърляне на множество файлове или директории често е удобно да ги компресирате в един архив с помощта на tar и gzip.
Създаване на архив:
tar -cvzf archive_name.tar.gz /path/to/directory/
-c: Създава нов архив.-v: Подробен (изброява файловете, както са архивирани).-z: Компресира архива с gzip.-f: Указва името на архива.
Извличане на архив:
tar -xvzf archive_name.tar.gz
-x: Извлича архива.
Заключение
Прехвърлянето на файлове в Linux предлага разнообразие от инструменти, всеки от които е подходящ за различни сценарии. За местни трансфери cp и mv са вашите команди. За мрежови трансфери, scp и rsync.
Като овладеете тези инструменти, вие ще бъдете добре подготвени да се справите с всяка задача за прехвърляне на файлове в Linux, от най-простата операция за копиране до най-сложния мрежов трансфер. Всеки инструмент има своите силни страни, така че изберете този, който най-добре отговаря на вашите нужди.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut










