Как да прехвърляте файлове в 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 user@10.110.110.80:/отдалеченa/директория/
За да копирате цяла директория, използвайте -r
опцията:
scp -r /local/directory/ user@10.110.110.80:/отдалеченa/директория/
4. Използване rsync
за ефективни прехвърляния на файлове
Командата rsync
е мощен инструмент за синхронизиране на файлове и директории между две местоположения. Той само копира разликите между източника и дестинацията, което го прави по-бърз и по-ефективен.
Основен синтаксис:
rsync [options] source destination
rsync [options] source destination
Пример:
За да синхронизирате локална директория с отдалечена директория:
rsync -avz /local/directory/ user@10.110.110.80:/отдалеченa/директория/
-a
: Архивиран режим (запазва символни връзки, разрешения и др.).-v
: Многословно (показва напредъка).-z
: Компресира данните по време на прехвърлянето.
За да изтриете файлове в дестинацията, които не съществуват в източника:
rsync -avz --delete /local/directory/ user@10.110.110.80:/отдалеченa/директория/
5. Прехвърляне на файлове чрез sftp
Командата sftp
(SSH File Transfer Protocol) предоставя интерактивен интерфейс за прехвърляне на файлове през SSH.
Основен синтаксис:
sftp user@host
Пример:
За да започнете sftp
сесия с отдалечен сървър:
sftp user@10.110.110.80
След като се свържете, използвайте 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/ user@192.168.1.10:/remote/directory/
Пример:
rsync -avz -e ssh /local/file.txt user@192.168.1.10:/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