Давайте рассмотрим, как копировать файлы и папки в Kali Linux. Это достаточно важная тема, поэтому приступим.
Я открою графический интерфейс, чтобы Вам было хорошо и наглядно видно то, что происходит и что я делаю:
Теперь давайте скопируем файл, который мы уже создавали в предыдущем уроке из директории /tmp в директорию /Documents.
Файл, который я хочу скопировать, будет называться «test», но я буду использовать Tab для автозаполнения. Так как у меня несколько файлов, то я нажимаю дважды клавишу «Tab», после ввода команды в терминале: cp / tmp /test:
Примечательно то, что при нажатии клавиши «Tab» один раз, система просто не поймет, какой файл мне нужен. В нашем случае система сообщает мне, что есть аж три файла, которые похожи по названию. Я, для примера, возьму файл «test3».
Структура команды «cp» выглядит так: сначала указывается сама команда, затем файл, который я хочу скопировать, и после этого путь, куда я хочу скопировать этот файл.
Давайте скопируем файл test3 из директории /tmp в директорию /Documents. Сделаю я это не просто так, а заведомо укажу неправильный регистр в записи к пути в директорию /Documents. Это выглядит вот так:
Обратите внимание на изображение выше, в частности направо в графический интерфейс. Для наглядности я выделил этот файл. Иными словами мы не добились того, чего изначально хотели. Можно проверить это в терминале и еще раз убедиться:
Получилось то, что я неправильно написал путь, куда нужно было скопировать файл «test3», так как в директории нужно было указать первую заглавную букву «D» - / Documents. Я написал прописную букву, и команда «cp» поняла, что нужно скопировать содержимое файла «test3», в новый файл «documents». Теперь файл «test3», и «documents» содержит одну и ту же информацию. Кстати, в Windows можно делать такие же манипуляции с файлами.
Давайте теперь все сделаем правильно. Пропишем в терминале: cp / tmp / test3 Documents/:
Как видите, в итоге мы добились того, чего хотели и команда выполнена правильно.
Предположим, что я хочу скопировать файл из одной директории в другую, но назвать конечный файл я хочу по-другому. Это достаточно просто реализовать, к примеру записав такую команду: cp / tmp/ test3 Documents/test4:
Просмотрим содержимое директории / tmp. Как Вы помните, в ней находится директория «test1», в которой находится директория «test2»:
Задача у нас будет следующая: необходимо скопировать данные директории «test1» и «test2» в директорию «Documents». Это делается с помощью одной команды «cp» и опции «-r», которая означает рекурсивное копирование. Вводим в терминале команду: cp -r / tmp / test1 Documents/:
Предположим, что я хочу скопировать директорию «test1» под другим названием. Это довольно легко сделать, указав любое название. Запишем в терминале команду: cp -r / tmp/test1 Documents/ test5:
Напимер, в Windows, когда мы копируем одинаковые файлы, я имею ввиду одинаковое название, то система либо переименовывает данные файлы, либо спрашивает, хотим ли мы перезаписать их.
В Linux по-умолчанию файл перезаписывается. Для примера, скопируем файл, который уже находится в директории /Documents. Например, файл «test3». Система даже не уведомит меня о том, что будет осуществляться перезапись. Введем команду в терминале: cp / tmp/test3 Documents/:
Чтобы действие перезаписи изменить, нужно использовать опцию «-i» - interactive. Если я выполню ту же команду, что и в прошлом примере, но с опцией «-i», то система спросит меня, хочу ли я перезаписать данный файл. Давайте посмотрим наглядно (вводим ту же команду в терминале, но с опцией «-i», после команды «cp»:
На этом все, встретимся в следующих уроках.