Копіювання файлів та каталогів є однним з основних задач і користувачам Linux варто знати, як робити це у терміналі. Це знання дозволяє переміщувати файли незалежно від того, чи ви безпосередньо за своїм робочим ПК або підключені до нього віддалено через SSH.
Як скопіювати один файл в Linux
Давайте почнемо з простого копіювання одного файлу. Синтаксис команди структурований наступним чином.
cp <адреса та імп’я файлу для копіювання> <адреса та ім’я файлу після копіювання>
- Створіть новий файл з ім’ям test1.txt.
touch test1.txt
- Виведіть командою ls вміст каталогу, щоб перевірити, чи створений файл. Тепер ви повинні побачити файл test1.txt.
- Скопіюйте файл test1.txt і перейменуйте його в test2.txt. При цьому елемент буде скопійований в той же каталог, що і початковий, але в новий файл.
cp test1.txt test2.txt
- Виведіть командою ls вміст каталогу, щоб перевірити, чи був файл скопійований і перейменований. Ви повинні побачити, що вихідний файл test1.txt вказаний, а скопійований файл test2.txt вказаний.
Як скопіювати каталог в Linux
Давайте розглянемо аналогічний приклад, щоб показати, що команду cp можна використовувати для копіювання каталогу за допомогою аргументу -r . Хоча ми використовували порожній каталог, як приклад, вміст каталогу також буде скопійовано в новий каталог з використанням цього аргументу.
- Створіть порожній каталог у вашому домашньому каталозі.
mkdir test_directory
- Скопіюйте та перейменуйте новий каталог.
cp -r test_directory test_directory_2
- Виведіть командою ls вміст каталогу, щоб переконатися, що скопійований каталог створений. Ви повинні побачити у списку каталоги test_directory і test_directory_2.
Як скопіювати файли в інше місце в Linux
У наступному прикладі розглянемо копіювання файлу в інше місце.
- Створіть порожній каталог у вашому домашньому каталозі.
mkdir test_directory
- Створіть тестовий файл у своєму домашньому каталозі.
touch test1.txt
- Скопіюйте тестовий файл з домашньої директорії в тестову директорію. Це скопіює test1.txt з домашньої директорії в test_directory.
cp test1.txt test_directory
- Перевірте правильність копіювання файлу, змінивши каталог на test_directory і вивівши його вміст.
cd test_directory
ls
Як копіювати файли, каталоги і з перейменуванням
Якщо ви знаєте місце розташування файлу і цільове місце, в яке ви хочете скопіювати файл, вам не потрібно переходити безпосередньо в каталоги, і ви можете запустити команду cp з домашнього каталогу. Ось приклад того, як це можна було б зробити.
- Створіть 2 порожніх каталоги. У домашньому каталозі виконайте наступну команду, щоб створити два нових каталоги.
mkdir folder1 folder2
- Перемістіться всередину папки 1 і створіть тестовий файл з ім’ям test1.txt.
cd folder1
touch test1.txt
- Поверніться в домашній каталог.
cd
- Скопіюйте та перейменуйте тестовий файл з домашнього каталогу. Ми можемо надати команді cp ім’я і розташування цільового файлу для копіювання і куди копіювати файл, перейменувавши його в test2.txt по шляху.
cp folder1/test1.txt folder2/test2.txt
- Перевірте правильність копіювання файлу , змінивши каталог на folder2 і перерахувавши вміст. Використовуйте cd для зміни каталогу і ls для перевірки правильності копіювання файлу. Ви повинні побачити test2.txt список всередині папки 2 .
cd folder2
ls
Як скопіювати файл в батьківський каталог
При переміщенні по каталогах вам може знадобитися час від часу копіювати файл в батьківський каталог поточного місцезнаходження. Цього можна досягти без необхідності вводити довгі розташування каталогів в команду, використовуючи .. для націлювання на батьківський каталог. Ось як.
- Створіть тестовий каталог, використовуючи mkdir.
mkdir test_directory
- Переміститеся в test_directory.
cd test_directory
- Створіть тестовий файл всередині директорії test_directory.
touch test1.txt
- Скопіюйте test1.txt в батьківський каталог. Тут ми просто додаємо .. в команду cp, щоб створити копію test1.txt в батьківський каталог поточного місцезнаходження.
cp test1.txt ..
- Перейдіть в батьківський каталог і перевірте, чи був скопійований файл. Ви повинні побачити, що test1.txt тепер зазначений в цьому каталозі.
cd
ls