Команди Linux

Освоєння команди копіювання файлів Linux на прикладах

Освоєння команди копіювання файлів Linux на прикладах
У будь-якій операційній системі копіювання файлів і каталогів є однією з найпоширеніших дій, які робить користувач. У командному рядку Linux ви можете навчитися правильному використанню команди cp для налаштування та головного копіювання файлів відповідно до ваших потреб. У цій статті ми пояснимо використання команди cp Linux, представивши кілька корисних прикладів.

Ми запустили команди та приклади, згадані в цій статті, на системі Debian 10 Buster, але ви можете відтворити їх майже на всіх дистрибутивах Linux.

До командного рядка Linux, терміналу, можна легко отримати доступ за допомогою програми.  Пошук пускової установки таким чином:

Приклад 1: Копіювання одного файлу в цільовий каталог

Найпростішим використанням команди cp є копіювання одного вихідного файлу в цільовий каталог. Ось синтаксис, який ви можете використовувати для цього:

$ cp sourcefile / target / directory

Приклад:

У цьому прикладі я копіюю файл із назвою sample_file.txt до моєї папки Documents:

Пізніше я перевірив наявність файлу в цільовій папці за допомогою команди ls.

Приклад 2: Копіювання декількох файлів у цільовий каталог

За допомогою команди cp ви можете скопіювати кілька файлів у цільовий каталог, використовуючи такий синтаксис:

$ cp sourcefile1 sourcefile2 sourcefile3… / target / directory

Приклад:

У цьому прикладі я копіюю два зразки файлів у свою папку Документи за допомогою команди cp:

Пізніше я перевірив наявність цих файлів у цільовій папці за допомогою команди ls.

Приклад 3: Копіювання файлів інтерактивним способом

Якщо у вашій цільовій папці існує файл з таким самим іменем, ви можете використовувати команду cp, щоб запропонувати вам перед перезаписом цільового файлу. Ви можете використовувати перемикач -i таким чином:

$ cp -i sourcefile / target / directory

Приклад:

У цьому прикладі файл із назвою sample_file.txt вже існує в моїй папці Documents, тому команда cp із прапором -i підказує, чи хочу я його перезаписати. Файл буде перезаписаний, якщо я введу y у цьому запиті.

Приклад 4: Копіювання файлів разом із детальним виходом

Детальний вихід друкує те, що робить команда. Це можна включити в команду cp за допомогою перемикача -v наступним чином:

$ cp -v sourcefile / target / directory

Приклад:

У наступному прикладі ви можете побачити, як команда cp друкує детальний вивід під час копіювання команди:

Приклад 5: Рекурсивне копіювання каталогу

Використання параметра -r з командою cp рекурсивно копіює всі файли та папки в каталозі в інше місце. Ось як ви можете використовувати команду cp у цьому сценарії:

$ cp -r каталог1 каталог2

Приклад:

У наступному прикладі вся папка 1 із усіма файлами буде скопійована в папку2.

Пізніше я перевірив вміст folder2 за допомогою команди ls. Папка2 зараз містить копію вихідної папки.

Приклад 6: Рекурсивне копіювання каталогу, зберігаючи архів

Використовуючи перемикач -a з командою cp, ви можете зробити дві речі одночасно:

Ось як ви можете використовувати команду cp у цьому сценарії:

$ cp-каталог1 каталог2

Приклад:

У наступному прикладі вся папка 1 із усіма файлами буде скопійована в папку2. Крім того, файли будуть архівовані як перевірені пізніше за допомогою команди ls -l.

Приклад 7: Скопіюйте файл, якщо він новіший за цільовий файл

Іноді потрібно скопіювати файл у цільовий каталог, лише якщо він новіший за цільовий файл. Це можна зробити за допомогою перемикача -u з командою cp:

$ cp -u sourcefileORsourcedirectory / target / directory

Приклад:

У цьому прикладі я відредагував файл sample_file.txt з моєї вихідної папки. Ці файли вже були скопійовані в цільову папку, перш ніж я відредагував файл. Це видно з наступного виводу команди 'ls -l':

Тепер, коли я скопіював вихідну папку в цільову папку, детальний вихід підтвердив, що буде скопійовано лише той файл, який був відредагований мною.

Приклад 8: Скопіюйте файл, але не перезаписуйте, якщо цільовий файл уже існує

Ви можете сказати команді cp не перезаписувати файл, якщо він уже існує у цільовому розташуванні. Це можна зробити за допомогою перемикача -n наступним чином:

$ cp -n sourcefile / target / directory

Приклад:

У цьому прикладі я спершу спробував скопіювати файл у цільове місце, де він уже існував. Перемикач -i запропонував мені, якщо я хочу його перезаписати.

У другій команді я додав перемикач -n. Він ігнорував перемикач -i, але не перезаписав вже існуючий файл у цільовому каталозі.

Приклад 9: Створіть символічне посилання на файл у цільовому каталозі

За допомогою перемикача -s в команді cp ви можете створити символічне посилання на вихідний файл у цільовій папці замість копіювання вихідного файлу.

$ cp -s sourcefile / target / directory

Приклад:

У наступному прикладі я створив символічне посилання на файл sample_file.txt у цільовій папці.

Пізніше я перевірив наявність символічного посилання в цільовій папці за допомогою команди 'ls -l'.

Приклад 10: Створіть жорстке посилання на файл у цільовому каталозі

Коли ви створюєте жорстке посилання на файл в іншій папці, файл не копіюється в цільову папку; натомість створюється жорстке посилання на вихідний файл. Номер inode як вихідного файлу, так і скопійованого жорсткого посилання однаковий. Ось як створити жорстке посилання:

$ cp -l sourcefile / target / directory

Приклад:

У цьому прикладі я створив жорстке посилання на вихідний файл у папці Документи.

За допомогою команди 'ls -il' я перевірив, що і оригінальний файл, і жорстке посилання мають однакові номери inode.

Це було все, що вам потрібно було знати, щоб освоїти команду cp в Linux. Використовуючи комбінацію цих перемикачів, ви можете зробити копіювання файлів набагато більш настроюваним.

Як використовувати AutoKey для автоматизації ігор Linux
AutoKey - це утиліта автоматизації робочого столу для Linux та X11, запрограмована на Python 3, GTK та Qt. Використовуючи його сценарії та функціональ...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...