Как скопировать папку в другую папку: Копирование файлов и папок компьютера. Как переместить файлы (Windows)

Копирование файлов и папок компьютера. Как переместить файлы (Windows)

Есть несколько способов перемещения файлов и папок в компьютере. Но мы рассмотрим универсальный — тот, которым можно перенести информацию с CD или DVD диска, записать данные на флешку и с флешки. Также при помощи него можно переписать фото или видео с фотоаппарата (видеокамеры), с мобильного телефона и с других подключаемых к компьютеру устройств.

Перемещение объектов из одного компьютерного места в другое называется копирование. Это такой процесс, при котором мы создаем точную копию данных и отправляем ее в другое место.

Пошаговая инструкция

  1. Щелкните правой кнопкой мышки по объекту, который хотите перенести. В открывшемся списке нажмите на пункт «Копировать».
  2. После этого нужно открыть на компьютере тот отдел, куда Вы хотите отправить данные. Это может быть Локальный диск D, Документы или любая другая папка, Рабочий стол и даже флешка.
  3. Затем щелкните правой кнопкой мышки по пустой части (не по какому-то значку, а рядом) и из списка выберите пункт «Вставить».

Вот и всё! Теперь этот объект есть в двух местах: и в том , откуда мы его взяли, и в новом (там, куда перенесли).

Получается следующее:

  • Вы открыли место, из которого хотите взять файл (например, флешку).
  • Кликнули по нему ПКМ (правой кнопкой мышки), выбрали из списка «Копировать».
  • Затем перешли в раздел, куда хотите перенести этот объект (например, Документы).
  • Нажали по пустой области ПКМ и выбрали «Вставить»

Копирование нескольких файлов/папок

Для того чтобы сделать копию нескольких файлов (папок), нужно сначала их выделить. Для этого поместите стрелку (курсор) на пустое поле рядом с данными, которые хотите скопировать.

Нажмите левую кнопку мыши и, не отпуская ее, обведите прямоугольником необходимые объекты. Когда они закрасятся цветом, это будет означать, что все они выделены. Отпустите мышку.

А теперь скопируем их. Щелкните ПКМ по любому выделенному значку. Откроется список, из которого нужно выбрать пункт «Копировать».

Затем откройте на компьютере то место, в которое хотите поместить эти данные. Это может быть Локальный диск D, Документы, флешка или какая-то папка.

И, наконец, нажмите ПКМ по пустому полю, и из появившегося списка выберите пункт «Вставить».

Всё! Файлы и папки перенеслись в новое место. То есть они теперь в двух местах: и там, где были изначально, и в новом – там, куда Вы их скопировали.

Не пугайтесь, все не так сложно, как кажется на первый взгляд. Нужно только чуть-чуть потренироваться. Удачи!

Автор: Илья Кривошеев

Копирование файлов и папок

 
Очень часто появляется необходимость перенести какой-либо файл в другую папку, например пришел к вам знакомый, скинул вам на рабочий стол фотографии или фильм и ушел.
 
А вам теперь нужно его перенести в папку где у вас хранятся фотографии ну или фильмы.


Для начала нам понадобиться вспомнить принцип работы мышки, правая кнопка «спрашивает что сделать», а левая выполняет вашу команду.

Рассмотрим случай когда файл, который нужно перенести расположен на рабочем столе.

У меня это будет песня «о боже какой мужчина» ,находим ее и нажимаем правой кнопкой мышки, то есть спрашиваем у системы, что можно сделать с этой песней.

В выпадающем меню нас интересует только две строчки, вырезать и копировать. Именно с помощью этих функций мы будем переносить файлы, но для начала нужно разобраться чем они отличаются, чтобы в будущем правильно их использовать.

Функция копировать создает в любом нужном вам месте полную копию файла или папки, при этом нужно понимать, что на компьютере теперь два полностью одинаковых объекта. Чаще всего эту возможность используют, чтобы сбросить информацию на флешку для друзей, родственников или знакомых, потому что файл остается и у вас и копируется еще для кого-то.

Функция вырезать в основном применяется когда нужно не скопировать файл, а перенести его в другое место, система по этой команде как будто вырезает нужный вам файл и помещает куда нужно без создания копии.


Разбираем сначала функцию копировать

Итак, мы нажали на песню правой кнопкой, в выпадающем меню выбрали функцию копировать и нажали левой кнопкой мышки для того чтобы система поняла, что мы сейчас будем копировать песню.

Но после того как вы нажали функцию копировать меню пропало и ничего не происходит, не пугайтесь, все правильно, так и должно быть. Когда вы нажали копировать, система перенесла песню на временную память, которую мы не видим. Для лучшего понимания смотрим на картинку ниже:

Думаю мы разобрались, что копия песни находится в виртуальном хранилище,памяти. Теперь нам необходимо ее перенести, но как объяснить компьютеру куда нам нужно отправить этот файл уже из хранилища. Все как и раньше довольно просто, для того чтобы файл был скопирован, нужно зайти в ту папку или место на жестком диске куда нам хотелось бы поместить этот файл.

Снова покажу на своем примере, я буду копировать песню в папку с музыкой, которая расположена на «локальном диске D». Внимательно наблюдаем за картинками и повторяем.

Нажимаю на значок «мой компьютер» (двойным щелчком левой кнопки мыши)

Попадаю на окно выбора жесткого диска, тут может быть несколько директорий, я выбираю диск «D», вы можете выбрать нужный вам диск, но настоятельно рекомендую не использовать для хранения файлов директорию «С»

Теперь ищу папку музыка и захожу в нее.

Зайдя в папку музыка нам осталось сообщить системе, что мы хотим переместить песню именно в эту папку.

Для этого выбираем пустое место, нажимаем правой кнопкой мыши и видим такое меню:

В нем нам осталось нажать левой кнопкой мыши на строчку вставить и система поймет, что вы хотите положить песню именно сюда ну и соответственно скопирует ее в эту папку.

Как видите песня появилась в нужной нам папке, вы сделали все правильно, если не появилась, то вы что-то пропустили.


Кратко напоминаю алгоритм:

Выбираем файл – копируем его – заходим в нужную папку – вставляем файл.


Думаю проблем у вас с этим не возникло, но теперь немного задумаемся, мы копировали файл, то есть сделали его полную копию, а это значит что теперь их два и исходная версия лежит у вас на рабочем столе, а зачем два абсолютно одинаковых файла?

Думаю вам как и мне это не к чему совсем, поэтому исходный файл мы можем удалить чтобы не коллекционировать клонов на своем ПК. Как правильно удалять файлы мы разберем чуть позже, а сейчас перейдем к функции вырезать.


Итак, функция вырезать по своему действию напоминает копирование, но имеет одну отличительную черту, если мы нажимаем вырезать файл, то система именно так и сделает и когда мы выберем куда перенести этот файл обнаружим, что исходный файл пропал – это удобно если нам нужно не скопировать файл, а просто переместить его в другую папку.

Смотрим на том же примере с песней, но теперь мы ее будем не копировать, а вырезать.

Нахожу песню, нажимаю правой кнопкой мышки и выбираю строчку вырезать левой кнопкой.

Снова все пропало, но в этот раз если присмотреться к файлу можно заметить, он приобрел немного другой оттенок, он стал немного сероватого цвета,как бы потерял свою яркость, впрочем этот оттенок может быть разным, но все же всегда присутствует, поэтому внимательно смотрим, если файл после нажатия функции вырезать поменял цвет вы на верном пути.

Теперь мы идем в папку куда хотим перенести эту песню:

Мой компьютер – локальный диск D — музыка

После того как зашли в папку музыка, нажимаем правой кнопкой мышки на пустое место и в появившемся меню выбираем строчку вставить.

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

Надеюсь вы усвоили материал и теперь можете свободно перемещать файлы и папки на своем компьютере.

В следующем уроке мы разберем не менее важный вопрос, как удалить ненужные файлы и папки с ПК.

Предыдущий урок

Задать вопрос

Содержание

Следующий урок

⚙КАК КОПИРОВАТЬ И ПЕРЕМЕЩАТЬ ПАПКИ, КАТАЛОГИ ИЛИ ФАЙЛЫ В LINUX

Если вам когда-либо приходилось использовать терминал Linux для копирования или перемещения файла или каталога в этом руководстве, мы увидим, как копировать и перемещать папки или каталоги и файлы в Linux с помощью терминала. Это очень просто и быстро сделать.

Управление файлами из терминала облегчает нам отсутствие необходимости графически искать местоположение каждого файла и папки. Используя команды, мы можем контролировать наши файлы и папки из самого терминала Linux, что сэкономит нам время и усилия. С этого терминала мы можем копировать файлы для быстрого перемещения или удаления. В каждой команде вы также можете найти дополнительные опции для добавления в файл и более полного его запуска.

Мы рекомендуем вам обратить внимание на предупреждения, потому что, например, если вы перезаписаете или удалите файл, возврата назад не будет. Хорошо проверьте, какими элементами вы хотите управлять, чтобы не повредить вашу информацию.

1. Как копировать файлы с терминала в Linux

Скопировать файл в другую папку

Копировать файл из одной папки в другую очень просто, инструкция для выполнения следующая.

 cp file_a_copy destination_folder 

Скопировать папку или каталог

Если мы хотим рекурсивно скопировать папку или каталог в Linux, мы будем использовать параметр -r, инструкция выглядит следующим образом. -R указывает на рекурсивное копирование каталога, в этом случае вы также можете использовать -R.

 cp -r copy_to папка назначения 

Примеры команды cp

В примерах мы предполагаем, что мы находимся в пути к файлу или каталогу, который мы собираемся скопировать, если нам не нужно указывать его путь.

  • Если мы хотим скопировать файл test.txt в папку / home / solvetic, мы используем следующее:
 cp test.txt / home / solvetic 
  • Если мы хотим скопировать папку с именем webSolvetic в каталог var:
 sudo cp -r web / var 

Обратите внимание, что каталог var в Linux не имеет разрешений для пользователя, поэтому мы должны запустить его как root, поэтому это был sudo, а -r, потому что web — это папка.

Параметры команды Cp

Мы можем добавить дополнения к команде cp, например:

  • Чтобы сделать копию файлов, старающихся сохранить большинство данных, настроек и метаданных:
 -a -архив 
  • Если мы хотим сделать принудительное удаление файла
 -f 
  • Если мы хотим спросить перед перезаписью:
 -i-интерактивный 
  • Если мы хотим связать файлы вместо копирования
 -l 
  • Если мы хотим скопировать без перезаписи
 -n 

2. Как переместить файлы с терминала в Linux

Для перемещения файла или каталога мы будем использовать команду mv, инструкция выглядит следующим образом. В отличие от копирования, нам не нужны никакие дополнительные параметры для перемещения папки.

 mv destination_file_file 

Примеры команд Mv

В примерах мы предполагаем, что мы находимся в пути к файлу или каталогу, который мы собираемся переместить, если нам не нужно указывать его путь.

  • Если мы хотим переместить файл test.txt в папку / home / solvetic / Desktop, мы используем следующее:
 mv test.txt / home / solvetic / рабочий стол 
  • И если мы переместим папку с именем webSolvetic в каталог var. Как и при копировании, мы используем sudo.
 sudo mv webSolvetic / var 

3. Как удалить файлы с терминала в Linux

Чтобы иметь возможность удалять файлы из терминала, мы будем использовать команду rm. Хотя по умолчанию он не удаляет каталоги, комбинируя его с -r, мы можем удалить содержимое. Общий синтаксис:

 rm [-options] [-d | s] файл 

примечание

Если каталог пуст, вы можете использовать опцию:

 rm -d / -dir 

Удалить файл

Для удаления файла напишем следующую команду. Имейте в виду, что он будет удален навсегда.

 rm delete_file 

Удалить несколько файлов одновременно

У нас есть разные дополнительные опции для добавления в команду rm. Мы также можем удалить разные файлы одновременно с помощью этой команды:

 Rm file1.txt файл 2.txt 
 rm file1_directory file2_directory 

Удалить содержимое всех каталогов

Мы также можем удалить все содержимое рабочего каталога. Например, мы будем удалять файлы навсегда, если они содержат каталог удаления.

 Rm * каталог 

примечание

Если мы используем дополнение -i, у нас будет возможность покаяться при удалении, поскольку он спросит нас, хотим ли мы это сделать.

Удалить каталог и контент

Для удаления каталога и его содержимого мы будем использовать:

 Rm -r каталог 

Удалить каталог, не спрашивая

Если мы хотим удалить каталог со всем его содержимым и спросить нас о чем-либо, мы будем использовать следующее:

 Rm -rf каталог 

примечание

С помощью этих команд вы должны принимать во внимание права доступа к папке или файлу, иногда вам нужно быть пользователем root, чтобы запустить его.

С помощью этих команд мы можем управлять файлами и папками с самого терминала Linux. У нас будет возможность копировать, перемещать и удалять папки или файлы с помощью команд.

Перемещение и копирование файлов и папок. Компьютер на 100. Начинаем с Windows Vista

Перемещение и копирование файлов и папок

В результате копирования файла будет создан еще один его экземпляр, но в другом месте или с другим именем. При перемещении файл будет скопирован в новое место, а затем удален со старого.

Для перемещения или копирования файлов и папок обычно их перетаскивают в нужное место указателем мыши. Вы можете перетаскивать объекты из окна папки на Рабочий стол и наоборот, а также из одного окна в другое. Можно также перетаскивать объекты в пределах одного окна, например из рабочей области на панель папок или избранных ссылок.

С помощью перетаскивания объектов из одной папки в другую можно выполнить их перемещение, копирование или создание ярлыка, причем система сама выбирает одно из этих действий по определенным правилам. Это может привести в замешательство неопытного пользователя, и чтобы точно определить действие, выполняемое системой при перетаскивании, обратите внимание на вид указателя мыши и надпись возле него:

– выполняется перемещение;

– выполняется копирование;


– создается ярлык;

– выполнить перетаскивание нельзя.

ВНИМАНИЕ

В некоторых случаях при перетаскивании будет отображаться только символ операции без надписи, например «плюс» при копировании или стрелка при перемещении.

Основные правила выбора действия при перетаскивании следующие.

? Перемещение выполняется при перетаскивании в пределах одного раздела (например, диска С:).

? Копирование выполняется при перетаскивании с одного раздела на другой, а также с жесткого диска на сменный носитель или наоборот.

? Создание ярлыка выполняется при перетаскивании папок в область избранного, а также при перетаскивании файлов приложений на Рабочий стол или в меню Пуск.

Чтобы изменить выполняемое по умолчанию действие, удерживайте при перетаскивании одну из управляющих клавиш:

? Shift – для перемещения;

? Ctrl – для копирования;

? Ctrl+Shift – для создания ярлыка.

Другой способ указания необходимого действия при перетаскивании – выполнить эту операцию правой кнопкой мыши и, отпустив ее, выбрать в появившемся меню нужное действие.

Для перемещения или копирования файлов или папок также можно использовать буфер обмена и команды контекстного меню Вырезать, Копировать и Вставить. Для копирования или перемещения файлов этим способом нужно выполнить следующие действия.

1. Щелкните правой кнопкой мыши на нужном файле или папке, затем выполните в контекстном меню команду Копировать (для копирования) или Вырезать (для перемещения).

2. Откройте в окне Проводника содержимое той папки, в которую нужно выполнить копирование или перемещение.

3. Щелкните правой кнопкой мыши на свободном участке окна папки и выполните в контекстном меню команду Вставить.

При перемещении или копировании возможна ситуация, когда файл с данным именем уже существует в конечной папке. В таком случае перед выполнением операции появится окно с предупреждением, в котором вы можете выбрать один из трех вариантов действий: заменить существующий файл, отменить операцию или присвоить файлу другое имя (рис. 2.48).

ВНИМАНИЕ

Если при выполнении любой операции с файлами вы получаете сообщение «Отказано в доступе» или другое подобное, значит, у вас отсутствуют права для выполнения данной операции (см. урок. 8.1). Подобное сообщение также может появляться, если перемещаемый файл уже открыт в какой-либо программе.

Рис. 2.48. Предупреждение при совпадении имен файлов







Данный текст является ознакомительным фрагментом.




Продолжение на ЛитРес








правильное копирование папок с файлами в *nix / Блог компании RUVDS.com / Хабр

В этой статье будут раскрыты некоторые неочевидные вещи связанные с использованием wildcards при копировании, неоднозначное поведение команды cp при копировании, а также способы позволяющие корректно копировать огромное количество файлов без пропусков и вылетов.

Допустим нам нужно скопировать всё из папки /source в папку /target.


Первое, что приходит на ум это:

cp /source/* /target

Сразу исправим эту команду на:

cp -a /source/* /target

Ключ -a добавит копирование всех аттрибутов, прав и добавит рекурсию. Когда не требуется точное воспроизведение прав достаточно ключа -r.

После копирования мы обнаружим, что скопировались не все файлы — были проигнорированы файлы начинающиеся с точки типа:

.profile

.local

.mc


и тому подобные.

Почему же так произошло?

Потому что wildcards обрабатывает shell (bash в типовом случае). По умолчанию bash проигнорирует все файлы начинающиеся с точек, так как трактует их как скрытые. Чтобы избежать такого поведения нам придётся изменить поведение bash с помощью команды:

shopt -s dotglob

Чтобы это изменение поведения сохранилось после перезагрузки, можно сделать файл wildcard.sh c этой командой в папке /etc/profile.d (возможно в вашем дистрибутиве иная папка).

А если в директории-источнике нет файлов, то shell не сможет ничего подставить вместо звёздочки, и также копирование завершится с ошибкой. Против подобной ситуации есть опции failglob и nullglob. Нам потребуется выставить failglob, которая не даст команде выполниться. nullglob не подойдёт, так как она строку с wildcards не нашедшими совпадения преобразует в пустую строку (нулевой длины), что для cp вызовет ошибку.

Однако, если в папке тысячи файлов и больше, то от подхода с использованием wildcards стоит отказаться вовсе. Дело в том, что bash разворачивает wildcards в очень длинную командную строку наподобие:

cp -a /souce/a /source/b /source/c …… /target

На длину командной строки есть ограничение, которое мы можем узнать используя команду:

getconf ARG_MAX

Получим максимальную длину командной строки в байтах:

2097152

Или:

xargs --show-limits

Получим что-то типа:

….
Maximum length of command we could actually use: 2089314
….

Итак, давайте будем обходиться вовсе без wildcards.

Давайте просто напишем

cp -a /source /target

И тут мы столкнёмся с неоднозначностью поведения cp. Если папки /target не существует, то мы получим то, что нам нужно.

Однако, если папка target существует, то файлы будут скопированы в папку /target/source.

Не всегда мы можем удалить заранее папку /target, так как в ней могут быть нужные нам файлы и наша цель, допустим, дополнить файлы в /target файлами из /source.

Если бы папки источника и приёмника назывались одинаково, например, мы копировали бы из /source в /home/source, то можно было бы использовать команду:

cp -a /source /home

И после копирования файлы в /home/source оказались бы дополненными файлами из /source.

Такая вот логическая задачка: мы можем дополнить файлы в директории-приёмнике, если папки называются одинаково, но если они отличаются, то папка-исходник будет помещена внутрь приёмника. Как скопировать файлы из /source в /target с помощью cp без wildcards?

Чтобы обойти это вредное ограничение мы используем неочевидное решение:

cp -a /source/. /target

Те кто хорошо знаком с DOS и Linux уже всё поняли: внутри каждой папки есть 2 невидимые папки «.» и «..», являющиеся псевдопапками-ссылками на текущую и вышестоящие директории.

  • При копировании cp проверяет существование и пытается создать /target/.
  • Такая директория существует и это есть /target
  • Файлы из /source скопированы в /target корректно.

Итак, вешаем в жирную рамочку в своей памяти или на стене:

cp -a /source/. /target

Поведение этой команды однозначно. Всё отработает без ошибок вне зависимости от того миллион у вас файлов или их нет вовсе.

Выводы

Если нужно скопировать все файлы из одной папки в другую, не используем wildcards, вместо них лучше использовать cp в сочетании с точкой в конце папки-источника. Это скопирует все файлы, включая скрытые и не завалится при миллионах файлов или полном отсутствии файлов.

Послесловие

vmspike предложил аналогичный по результату вариант команды:

cp -a -T /source /target

Oz_Alex

cp -aT /source /target

ВНИМАНИЕ: регистр буквы T имеет значение. Если перепутать, то получите полную белиберду: направление копирования поменяется.


Благодарности:

  • Компании RUVDS.COM за поддержку и возможность публикации в своем блоге на Хабре.
  • За изображение TripletConcept. Картинка очень большая и детальная, можно открыть в отдельном окне.

P.S. Замеченные ошибки направляйте в личку. Повышаю за это карму.


Как скопировать каталог в командной строке Linux [Совет для начинающего]

Если вы новичок в командной строке Linux, у вас, вероятно, есть этот вопрос: как мне скопировать каталог и файлы в нем в другой каталог в командной строке Linux?

Резюме

Вот как скопировать каталог в Linux:

cp -r source_directory destination_directory

Вы, наверное, уже знаете, что вы можете использовать команду cp для копирования файлов в Linux. Знаете ли вы, что вы можете использовать ту же команду cp для копирования папки в командной строке Linux?

Хах! Вы уже попробовали это и, возможно, получили эту ошибку:

cp: -r not specified; omitting directory 'test_dir'

Позвольте нам показать вам кое-что о копировании каталога в Linux.

Копировать каталог в командной строке Linux

Определенно вы можете использовать ту же команду cp, но с рекурсивной опцией -r, чтобы скопировать папку с ее содержимым в другую папку. Вышеупомянутая ошибка также указывает на то, что вы пропустили опцию -r.

Все, что вам нужно сделать, это использовать команду следующим образом:

cp -r source_directory destination_directory

И теперь, если вы используете команду ls в целевом каталоге, в нем должен быть весь исходный каталог.

Опция -r позволяет рекурсивную опцию. Это означает, что все содержимое каталога, включая его собственные подкаталоги, все содержимое каталога будет скопировано в место назначения.

Несколько замечаний по поводу копирования каталога в Linux

Вот несколько вещей, чтобы отметить и советы о копировании папок.

1. Если каталог назначения не существует, он будет создан до одного уровня (объяснение в следующем разделе). Однако теперь он будет копировать содержимое исходного каталога, а не самого исходного каталога.

Например, если вы делаете это:

cp -r source_directory non_existing_directory

Non_existing_directory будет создан с содержимым source_directory, но внутри него не будет source_directory. Просто файлы source_directory будут скопированы. Это было бы, как non_existing_directory будет точной копией source_directory.

[email protected]:~ $ ls 
test_dir 
[email protected]:~ $ cp -r test_dir new_dir 
[email protected]:~ $ tree 
. 
├── new_dir 
│ ├── c.xyz 
│ ├── myzip1.zip 
│ └── myzip2.zip 
└── test_dir 
     ├── c.xyz 
     ├── myzip1.zip 
     └── myzip2.zip 
2 директории, 6 файлов

2. Вы не можете использовать вышеупомянутую команду для создания вложенной структуры каталогов.

Например, если вы попытаетесь использовать cp -r source_dir dir1/dir2/dir3, но dir2 и dir3 не существуют, это не создаст структуру вложенных каталогов, и команда не будет выполнена.

3. Последний совет, чтобы быть кратким. Если вы используете опцию -a вместе с опцией -r, он сохранит первоначальную информацию о файле, такие как права доступа к файлу, файл временных меток и т.д. Он будет архивировать каталог на новое место, а не создавать его заново.

Итог

Этой информации должно быть достаточно, чтобы вы знали, как скопировать каталог в Linux. Если у вас есть вопросы или предложения, пожалуйста, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Copy-Item копирование файлов и папок из PowerShell

PowerShell командлет Copy-Item используется для копирования файлов между локальными, сетевыми каталогами или между компьютерами по сети через WinRM. Командлет Copy-Item предоставляет большое количество опций, которые можно использовать в разных сценариях копирования файлов и каталогов (по своим возможностям этот командлет почти не уступает утилите robocopy). Например:

  • перезапись файлов (override)
  • фильтрация по имени/шаблону
  • исключение по имени/шаблону
  • Verbose режим
  • Копирование файлов с/на удаленные компьютеры

Начнем с простых примеров использования Copy-Item и будем переходить к более сложным.

Копирование файлов и каталогов

Чтобы скопировать один файл 1.txt из каталога C:\SourceFolder\ в F:\DestFolder\, выполните:

Copy-Item -Path "C:\SourceFolder\1.txt" -Destination "F:\DestFolder\1.txt"

Можно использовать сокращенный синтаксис командлета, пропустив указание параметров Path и Destination:

cpi "C:\SourceFolder\1.txt" "F:\DestFolder\1.txt"

Теперь скопируем каталог C:\SourceFolder\folder в F:\DestFolder\folder. В папке folder находится файл 1.txt. Обратите внимание что без ключа –Recurse, папка folder копируется без содержимого:

Copy-Item -Path "C:\SourceFolder\folder" -Destination "F:\DestFolder\folder" -Recurse

С помощью Copy-Item также можно просто объединить файлы из несколько директорий в одну (слияние директории), для этого нужно перечислить директории в ключе –Path:

Copy-Item -Path "C:\SourceFolder\*", "C:\SourceFolder2\*", "C:\SourceFolder3\*" -Destination "F:\DestFolder\"

Копирование с заменой и копирование с заменой read-only файлов

Copy-Item по умолчанию при копировании заменяет файлы в целевом каталоге. Никаких дополнительных параметров указывать не нужно. При копировании каталога, если нужно заменить каталог в целевой папке, нужно использовать ключ –Force, иначе будет ошибка “Элемент folder с указанным именем уже существует — DirectoryExists”.

Для перезаписи файла с атрибутом read-only, нужно использовать ключ -Force. Если его не использовать, вы получите ошибку “отказано в доступе по пути… CopyFileInfoItemUnauthorizedAccessError”.

Чтобы скопировать файл с перезаписью файла с read-only атрибутом используйте параметр Force.

Copy-Item -Path "C:\SourceFolder\1.txt" -Destination "F:\DestFolder\1.txt" -Force

Совет. Чтобы не путаться, ключ –Force можно рассматривать как ключ для копирования с заменой.

Чтобы Copy-Item скопировал файлы из одной папки в другую без замены существующих файлов, можно использовать этот простой скрипт

Copy-Item (Join-Path "C:\SourceFolder\" "*") "F:\DestFolder\" -Exclude (Get-ChildItem "F:\DestFolder\") -Recurse

Этот скрипт скопирует все файлы и папки из C:\SourceFolder в F:\DestFolder без замены файлов уже существующих в F:\DestFolder

Копирование с фильтрацией по шаблону

С помощью Copy-Item можно скопировать файлы/директории выбранные с помощью wildcard символа * или с помощью символа ?. Также поддерживаются некоторые регулярные выражения

  • * — обозначает любое количество любых символов
  • ? – обозначает 1 любой символ
  • [a-z], [0-9] – символы между a-z и цифры между 0 и 9

Для примера возьмём такую структуру файлов:

Выполним копирование командой:

Copy-Item -Path "C:\SourceFolder\fol*" -Destination "F:\DestFolder\"

Результат в F:\DestFolder\

Теперь чистим папку назначения и выполняем:

Copy-Item -Path "C:\SourceFolder\folder[0-3]" -Destination "F:\DestFolder\"

Результат:

Папка без цифры в окончании не скопировалась, потому что folder[0-3] подразумевает что после folder будет как минимум еще 1 символ между 0 и 3

Исключение файлов при копировании

С помощью ключа –Exclude можно исключить файлы при копировании. Например, следующай команда скопирует все файлы кроме файлов с расширением txt.

Copy-Item -Path "C:\SourceFolder\*" -Destination "F:\DestFolder\" -Recurse -Force -Exclude "*.txt"

Аналогичным же образом можно применить ключ –Include, например

Copy-Item -Path "C:\SourceFolder\*" -Destination "F:\DestFolder\" -Recurse -Force -Include "*.txt"

Скопирует только txt файлы. Хотя для простоты гораздо удобнее использовать при копировании вид -Path "C:\SourceFolder\*.txt".

Копирование файлов на удаленный компьютер по сети

Copy-File может копировать не только по SMB протоколу, но и через WinRM (WSMan).

Создайте новую сессию с компьютером testnode1 и выполните копирование в её контексте:

$session = New-PSSession -ComputerName testnode1
Copy-Item -Path "C:\SourceFolder\*" -ToSession $session -Destination "C:\SourceFolder\" -Recurse -Force

Эта команда скопирует файлы с локального компьютера из директории C:\SourceFolder на компьютер testnode1 в C:\SourceFolder\.

Примечание. Доступность WSMan на удаленном компьютере можно проверить с помощью командлета Test-WSMan.

Test-WSMan -ComputerName testnode1

Если WSMan не настроен, вы можете выполнить его быструю конфигурацию. Для этого откройте командную строку с правами администратора и выполните winrm quickconfig

Также можно копировать и через обычные сетевые SMB шары, для этого просто используйте UNC формат сетевого пути.

Copy-Item -Path "C:\SourceFolder\*" -Destination "\\testnode1\C$\copy_tutorial\"

Можно скопировать файл с удаленного компьютера. Принцип такой же, как и при копировании файлов на удаленный компьютер, за исключением параметра –ToSession, вместо него нужно использовать –FromSession:

$session = New-PSSession -ComputerName testnode1
Copy-Item -FromSession $session -Path "C:\SourceFolder\*" -Destination "F:\DestFolder\" -Recurse -Force

Эта команда скопирует содержимое папки C:\SourceFolder\ с компьютера testnode1 на локальный компьютер в директорию F:\DestFolder

Ключ PassThru

Командлет Copy-Item (как и многие другие командлеты PowerShell) не возвращает результатов в консоль. Параметр PassThru применяется скриптах, или для лог-файлов, когда нужно получить список скопированных файлов и работать с ним дальше. Рассмотрим пример

$items = Copy-Item -Path "C:\SourceFolder\*" –Destination "\\testnode1\C$\copy_tutorial\" -PassThru

Переменная $items будет содержать список скопированных файлов, с которым вы можете работать дальше.Это значит что вы можете напрямую работать с этими файлами. Например выполнив команду Remove-Item $items[0], вы удалите директорию folder.

Ключ Verbose

При использовании ключа -Verbose вы получите подробный лог операций копирования. Например, вывод команды

Copy-Item -Path "C:\SourceFolder\*.txt" -Destination "F:\DestFolder\" -Recurse -Force -Verbose

Несколько полезных скриптов с Copy-Item

Скопировать только файлы:

Get-ChildItem "C:\SourceFolder" -File -Recurse | Copy-Item -Destination "F:\DestFolder"

Скопировать структуру папок, без файлов:

$path = Get-ChildItem "C:\SourceFolder" -Recurse | ?{$_.PsIsContainer -eq $true}
$dest = "F:\DestFolder\"
$parent = $path[0].Parent.Name
$path | foreach {
$_.FullName -match "$parent.+"
New-Item -ItemType directory ($dest + $Matches[0])
}

Copy-Item очень простой и удобный в использовании командлет PowerShell для выполнения операций копирования и перемещения файлов. В сочетании с другими инструментами PowerShell, Copy-Item также является мощным инструментом для написания скриптов.

Как скопировать каталог или папку

Обновлено: 31.12.2020, Computer Hope

В зависимости от операционной системы вашего компьютера и места, где вы хотите выполнить копию, существует несколько способов скопировать каталог или папку. Выберите ссылку ниже для вашей операционной системы или того места, где вы хотите выполнить копирование.

Microsoft Windows

Чтобы скопировать папку в Microsoft Windows, выполните следующие действия. При копировании папки в Windows копируется все, что находится в папке, включая все файлы и подкаталоги.

  1. Найдите и выделите папку, которую вы хотите скопировать.
  1. Щелкните папку правой кнопкой мыши и выберите Копировать или щелкните Изменить , а затем Копировать .
  2. Переместитесь в то место, куда вы хотите поместить папку и все ее содержимое, щелкните правой кнопкой мыши и выберите Вставить или щелкните Изменить , а затем Вставить .

Кончик

Вы также можете использовать сочетания клавиш для копирования и вставки файлов на компьютер.Например, вы можете выделить любой файл и нажать Ctrl + C , чтобы скопировать файл. После копирования вы можете перейти туда, куда вы хотите вставить файл, а затем нажмите Ctrl + V , чтобы вставить файл.

MS-DOS и командная строка Windows

Чтобы скопировать каталог в MS-DOS, используйте команду xcopy. Ниже приведен базовый пример каждого шага, чтобы сделать это в MS-DOS. Если вам нужна дополнительная информация о команде xcopy или дополнительные примеры, см. Указанную выше страницу команды xcopy.

Примечание

По умолчанию основная команда xcopy копирует файлы только в каталог, который вы указали в качестве исходного каталога. Вы также должны использовать опцию / E для копирования подкаталогов в исходном каталоге.

Скопируйте каталог и его содержимое

 xcopy c: \ example c: \ example2 

В приведенном выше примере каталог «example» копируется в новый каталог с именем «example2».

Копировать содержимое каталога в другой каталог

  1. Перейдите в каталог, в который вы хотите скопировать каталоги и подкаталоги.В приведенном ниже примере мы переходим в каталог temp2 с помощью команды cd.
 компакт-диск \ temp2 
  1. Оказавшись в каталоге, используйте команду xcopy, чтобы скопировать подкаталоги и содержимое другого каталога. В приведенном ниже примере мы копируем содержимое «temp3» в каталог «temp2». Имейте в виду, что это не копирует реальный каталог «temp3». Копируются только файлы и подкаталоги в каталоге temp3.
 xcopy c: \ temp3 / e 

После выполнения вышеуказанных шагов все должно быть скопировано в папку temp2.

Скопируйте каталог с пробелом в имени

Кончик

Имея дело с пробелом в файле или каталоге, вы всегда заключаете его в кавычки.

 xcopy c: \ test "c: \ space test" 

В приведенном выше примере каталог «test» копируется в новый каталог с именем «space test».

Как скопировать каталог на другой диск

 xcopy c: \ test d: \ test 

В приведенном выше примере каталог «test» на диске C: будет скопирован в каталог «test» на диске D :.

Linux и Unix

Чтобы скопировать каталог со всеми подкаталогами и файлами, используйте команду cp. Ниже приведен пример команды использования команды cp для копирования файлов. Дополнительная информация об этой команде и других примерах доступна по указанной выше ссылке cp.

 cp -r / home / надежда / файлы / * / home / надежда / резервное копирование 

В приведенном выше примере команда cp скопирует все файлы, каталоги и подкаталоги из каталога / home / hope / files в каталог / home / hope / backup.

Linux — Как скопировать папку [параметр командной строки]

Я новый пользователь системы Linux. Как скопировать каталог или папку в операционной системе Linux с помощью параметров командной строки и оболочки bash?

Введение. Файл — это набор элементов данных, хранящихся на диске. Кроме того, это устройство, которое может хранить информацию, данные, музыку (файлы mp3 / mp4), изображения, фильмы, звук, книги и многое другое. Каталог — это группа файлов. Каталог, разделенный на два типа: корневой и подкаталог.Вы можете использовать различные команды для копирования папки в операционных системах Linux. На этой странице показано, как скопировать содержимое папки в другую папку с помощью терминала Linux.

Как скопировать папку с помощью команды cp

Команда cp — это команда Linux для копирования файлов и каталогов. Синтаксис следующий:

 cp источник назначения
cp dir1 dir2
cp -option источник назначения
cp -option1 -option2 источник назначения 

Примеры команды cp в Linux

В этом примере скопируйте папку / home / vivek / letter / и все ее файлы в / usb / backup / directory:
cp -avr / home / vivek / letter / usb / backup
Где,

  • -a : Сохранить указанные атрибуты, такие как каталог и режим файла, владение, временные метки, если возможно, дополнительные атрибуты: контекст, ссылки, xattr, все.
  • -v : подробный вывод.
  • -r : Рекурсивное копирование каталогов.

Дополнительные примеры команды cp для копирования папок в Linux

Скопируйте папку с именем / tmp / conf / в / tmp / backup /:
$ cp -avr / tmp / conf / / tmp / backup /
Примеры выходных данных:

Рис.01: команда cp в действии

Все файлы и подкаталоги / папки в каталоге можно скопировать в другую папку с помощью подстановочного знака звездочки. Например, следующее скопирует все файлы из папки с именем / home / vivek / Documents / в другую существующую папку с именем / data /:
cp -v / home / vivek / Documents / * / data /

Используйте команду Linux rsync для копирования папки

Вы также можете использовать команду rsync, которая является быстрым и чрезвычайно универсальным инструментом для копирования файлов.Он может делать копии по сети. Синтаксис команды rsync следующий.

 rsync -av / путь / к / источнику / / путь / к / месту назначения /
rsync -av / путь / к / источнику / / путь / к / месту назначения / источнику / 

Чтобы сделать резервную копию моего домашнего каталога, состоящего из больших файлов и почтовых папок, в / media / backup, введите:
$ rsync -avz / home / vivek / media / backup
Я могу скопировать папку на удаленную машину с именем server1. cyberciti.biz следующим образом:
$ rsync -avz / home / vivek / server1.cyberciti.biz:/home/backups/vivek/
Где,

  • -a : Режим архивирования, т.е. копирование папки со всеми ее разрешениями и другой информацией, включая рекурсивную копию.
  • -v : подробный режим.
  • -z : с этой опцией rsync сжимает данные файла при их отправке на конечный компьютер, что уменьшает объем передаваемых данных, что полезно при медленном соединении.

Вы можете показать прогресс во время передачи, используя параметр –progress или -P:
$ rsync -av --progress / path / to / source / / path / to / dest
Примеры выходных данных:

Рис.02: команда rsync в действии

Заключение

Вы только что узнали, как скопировать папку в операционной системе типа Linux с помощью команд cp и rsync. В заключение, используйте rsync для передачи сетевой папки и cp для передачи на локальный диск.

Перемещение и копирование файлов и папок — Box Support

Есть несколько способов переместить или скопировать файл или папку.

Перетаскивание:

Вы можете переместить файл или папку из одной папки в другую, перетащив их из текущего местоположения в целевую папку, как если бы вы это делали с файлом на рабочем столе.

Дерево папок:

  1. Щелкните правой кнопкой мыши нужный файл или папку и в появившемся меню выберите «Переместить» или «Копировать». Откроется окно «Переместить или скопировать».
  2. При необходимости прокрутите вниз, чтобы найти нужную папку назначения.
    • При необходимости щелкните любую папку, которую вы видите, чтобы получить доступ к ее подпапкам.
  3. Щелкните в любом месте строки нужной папки. Соответствующий кружок заполняется, указывая на ваш выбор.

  1. Щелкните «Переместить» или «Копировать».

Окно «Переместить или скопировать» можно также открыть, щелкнув многоточие (…) справа от элемента, который нужно переместить или скопировать. Или вы можете щелкнуть в любом месте рядом с нужным элементом и в правой верхней части экрана щелкнуть многоточие (…).

Для одновременного перемещения или копирования нескольких элементов:

  1. Выполните те же действия, что и при выборе нескольких элементов на рабочем столе:
  • На компьютерах с Windows, чтобы выбрать несколько элементов в группе, нажмите и удерживайте SHIFT и щелкните в любом месте рядом с нужными элементами.Чтобы выбрать несколько разбросанных элементов, нажмите и удерживайте CTRL в любом месте рядом с каждым из элементов, которые вы хотите.
  • На компьютерах Mac, чтобы выбрать несколько элементов в группе, нажмите и удерживайте SHIFT и щелкните в любом месте рядом с нужными элементами. Чтобы выбрать несколько разбросанных элементов, нажмите и удерживайте CMD и щелкните в любом месте рядом с каждым из элементов, которые вы хотите.
  1. В правом верхнем углу экрана щелкните многоточие (…), чтобы открыть окно «Перемещение или копирование».

Когда папки имеют разные ограничения доступа к содержимому

В определенных сценариях, когда вы перемещаете или копируете содержимое из одной папки в другую, а в целевой папке есть менее строгие настройки, Box отображает предупреждение.

Когда вы копируете или перемещаете контент в новую папку, разрешения на доступ в целевой папке имеют приоритет над разрешениями на доступ в исходном файле или папке (то есть перемещаемом элементе). Возможно, ваша целевая папка имеет менее строгий уровень разрешений, чем исходный контент. Это в первую очередь может повлиять на ваше решение о переносе вашего контента. Но заранее знать об этом нельзя. So Box предупреждает вас о любых возможных изменениях уровня доступа к перемещаемому контенту.

Конкретно Box определяет:

  • Содержит ли папка назначения какие-либо файлы, которые включают внешнего сотрудника
  • Содержит ли целевая папка ИЛИ какая-либо из ее родительских папок какие-либо файлы с открытой общей ссылкой.

Если одно из вышеперечисленных истинно, Box отображает предупреждение, чтобы вы могли решить, следует ли выполнить действие копирования или перемещения.

Вот пример:

  1. У вас есть папка с названием «Project Sherlock», и только другие люди в вашей компании могут получить доступ к содержимому этой папки.
  2. Вы решили переместить папку «Project Sherlock» в другую папку с надписью «Project Watson».
    • Но папка «Project Watson» допускает внешних сотрудников. Это может быть правдой, если только один человек за пределами вашей организации сотрудничал только с одним файлом в папке «Project Watson» (поскольку разрешения должны применяться ко всему содержимому папки, а не только к его части). Это распространяется на содержимое, передаваемое в папку.
  3. Вы перемещаете папку «Project Sherlock» в «Project Watson», не подозревая, что тем самым вы разрешаете доступ к файлам Project Sherlock другим лицам за пределами вашей организации.
  4. Перед завершением перемещения Box отображает предупреждение о несоответствии уровней доступа к содержимому между исходной и целевой папками.
  5. Вы можете решить, продолжить ли перемещение папки или отменить ее, и найти альтернативу (например, переместить «Project Sherlock» в другую папку).

Вот предупреждение, когда для целевой папки или любого ее содержимого включена общедоступная общая ссылка:

Вот предупреждение, когда целевая папка или любое ее содержимое включает внешних соавторов:

А вот предупреждение, когда целевая папка или любое ее содержимое принадлежит или совладельцем внешнего соавтора:

Подробнее об индикаторах безопасности Box.

Cp Команда в Linux (копирование файлов)

При работе в системах Linux и Unix копирование файлов и каталогов — одна из самых распространенных задач, которые вы выполняете ежедневно.

cp — это утилита командной строки для копирования файлов и каталогов в системах Unix и Linux.

В этой статье мы объясним, как использовать команду cp .

Как использовать команду

cp #

Общий синтаксис команды cp следующий:

  cp [ОПЦИИ] ИСТОЧНИК... ПУНКТ НАЗНАЧЕНИЯ
  

ИСТОЧНИК может содержать один или несколько файлов или каталогов в качестве аргументов, а аргумент НАЗНАЧЕНИЕ может быть одним файлом или каталогом.

  • Когда аргументы SOURCE и DESTINATION являются файлами, команда cp копирует первый файл во второй. Если файл не существует, команда создает его.
  • Когда SOURCE имеет несколько файлов или каталогов в качестве аргументов, аргумент DESTINATION должен быть каталогом.В этой ситуации файлы и каталоги SOURCE перемещаются в каталог DESTINATION .
  • Когда аргументы SOURCE и DESTINATION оба являются каталогами, команда cp копирует первый каталог во второй.

Для копирования файлов и каталогов у вас должны быть как минимум права на чтение исходного файла и права записи в целевой каталог. В противном случае отображается ошибка отказа в разрешении.

Копирование файлов с помощью команды cp #

Самый простой сценарий использования cp — это копирование файла в текущий рабочий каталог
. Например, чтобы скопировать файл с именем file.txt в file_backup.txt , вы запустили следующую команду:

  cp file file_backup  

или:

  cp file {, _ backup}  

Чтобы скопировать файл в другой каталог, укажите абсолютный или относительный путь к целевому каталогу.

Если в качестве места назначения указано только имя каталога, скопированный файл будет иметь то же имя, что и исходный файл.

В следующем примере мы копируем файл file.txt в каталог / backup :

  cp file.txt / backup  

Если вы хотите скопировать файл под другим именем, вы необходимо указать желаемое имя файла. Приведенная ниже команда скопирует файл в указанный каталог как new_file.txt .

  cp file.txt /backup/new_file.txt  

По умолчанию, если целевой файл существует, он перезаписывается. Параметр -n указывает cp не перезаписывать существующий файл.

Чтобы заставить cp запрашивать подтверждение, используйте опцию -i .

  cp -i file.txt file_backup.txt  

Если вы хотите скопировать файл, только если он новее, чем место назначения, вызовите команду с опцией -u :

  cp -u file.txt file_backup.txt  

При копировании файла новый файл принадлежит пользователю, выполняющему команду. Используйте опцию -p , чтобы сохранить файловый режим, владение
, и отметки времени
:

  cp -p file.txt file_backup.txt  

Другой полезный параметр — -v , который сообщает cp о выводе подробного вывода:

  cp -v file.txt file_backup.txt  
  'file.txt' -> 'file_backup.txt'
  

Копирование каталогов с помощью команды cp #

Чтобы скопировать каталог, включая все его файлы и подкаталоги, используйте параметр -R или -r .

В следующем примере мы копируем каталог Pictures в Pictures_backup :

  cp -R Pictures Pictures_backup  

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

Если целевой каталог уже существует, сам исходный каталог и его содержимое копируются в целевой каталог.

Чтобы скопировать только файлы и подкаталоги, но не исходный каталог, используйте параметр -T :

  cp -RT Pictures Pictures_backup  

Другой способ скопировать только содержимое каталога, но не сам каталог, — использовать подстановочный знак ( * ).Недостатком следующей команды является то, что она не копирует скрытые файлы и каталоги (те, которые начинаются с точки . ):

  cp -RT Pictures / * Pictures_backup /  

Все параметры, которые мы использовали в предыдущий раздел при копировании файлов может также использоваться при копировании каталогов. Основное отличие состоит в том, что при копировании каталогов всегда нужно использовать параметр -R .

Копирование нескольких файлов и каталогов #

Чтобы скопировать несколько файлов и каталогов одновременно, укажите их имена и используйте каталог назначения в качестве последнего аргумента:

  cp file.txt dir file1.txt dir1  

При копировании нескольких файлов местом назначения должен быть каталог.

Заключение #

Копирование файлов и каталогов с помощью команды cp — простая задача. Для получения дополнительной информации о доступных опциях cp введите в терминале man cp .

Для копирования файлов по сети используйте rsync
и scp
коммунальные услуги.

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.

Как я могу скопировать файлы из папки в другую папку в терминале Linux — подсказка Linux

Когда вам нужно скопировать содержимое одного каталога в другой, в случае Linux, в вашем распоряжении множество инструментов. Какой использовать? Это зависит от ситуации и личных предпочтений. В этой статье мы рассмотрим способы копирования содержимого файлов из одной папки в другую в терминале. В нем будут представлены некоторые популярные варианты для различных ситуаций.

Копирование файлов в терминал

Копирование содержимого одного каталога в другой — очень простая задача.Однако у вас есть множество вариантов сделать это. Linux наделен многочисленными инструментами для управления файлами и каталогами с помощью различных действий.

Все шаги продемонстрированы на Ubuntu 18.04.1. Сначала давайте создадим несколько фиктивных файлов для работы.

Теперь давайте создадим фиктивные файлы с помощью сенсорного ввода.

Давайте создадим еще одну папку в dir_A с несколькими фиктивными файлами.

$ mkdir -v dir_B
$ touch dummy {1..10}

Теперь вся структура каталога dir_A выглядит так.

Команда Cp

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

Это основная структура команды cp.

$ cp <параметры> <источник> <назначение>

Например, давайте сделаем копию файла dummy1 с именем dummy1_copy.

А теперь попробуем скопировать несколько файлов одновременно. Для такой операции cp требует, чтобы местом назначения был каталог. Здесь я буду использовать выражение с подстановочными знаками, чтобы захватить все фиктивные файлы и поместить их в каталог ~ / Downloads.

Как насчет копирования каталога?

$ cp -vr dir_A dir_A_copy

Здесь мы использовали два разных флага. Давайте быстро их разберем.

  • -r: обозначает рекурсивную копию (включая любые скрытые файлы).Обязательно наличие флага, если копирование затрагивает весь каталог или более.
  • -v: означает подробный. Инструмент cp будет выводить каждое выполняемое действие.

Хотите перейти по символическим ссылкам? Добавьте флаг «-L».

$ cp -Lvr <источник> <назначение>

Допустим, в целевом каталоге уже есть файл с таким именем. Если вы хотите избежать перезаписи, используйте флаг «-n». Это гарантирует, что в случае конфликта cp не перезапишет файл.

$ cp -nv <источник> <назначение>

Если вы выполняете деликатное копирование / вставку, лучше иметь точный контроль над тем, что происходит, верно? В таком случае используйте флаг «-i». Это означает интерактивный режим, в котором cp будет запрашивать подтверждение каждый раз, когда возникает конфликт.

$ cp -i <источник> <назначение>

Если вам интересно, справочная страница всегда является одной из лучших. Узнать больше о cp.

мв команда

Инструмент mv похож на инструмент cp. Однако вместо копирования mv перемещает файлы и каталоги. По сравнению с cp это проще.

Командная структура mv аналогична cp.

$ mv <опция> <источник> <назначение>

Чтобы переместить содержимое dir_A в dir_A_copy, выполните следующую команду.

$ mv -v dir_A / dir_A_copy

Здесь флаг «-v» предназначен для подробного режима.Если вы хотите переместить только содержимое dir_A, используйте вместо этого следующий. В этом случае целевой каталог должен существовать заранее.

$ mv -v dir_A / * dir_A_copy

У инструмента mv особо не с чем работать. Чтобы узнать обо всех доступных параметрах, посетите страницу руководства.

Команда Rsync

Это один из самых популярных и мощных инструментов для копирования файлов, используемый в основном для резервного копирования. Он позволяет копировать файлы через удаленное соединение.В отличие от cp и mv, он также поставляется с множеством расширенных параметров копирования файлов, которые предлагают максимальную настройку его поведения.

Rsync в основном известен своим алгоритмом дельта-передачи, который значительно сокращает объем данных, которыми необходимо обмениваться. В случае удаленной синхронизации это значительно экономит пропускную способность.

Rsync обычно не входит в предустановленный дистрибутив Linux. Однако из-за своей популярности теперь он доступен во всех основных дистрибутивах Linux.Используйте Pkgs.org, чтобы найти пакет rsync для вашего дистрибутива. Предполагая, что у вас установлен rsync, приступим.

Во-первых, основная структура команд rsync. Это очень похоже на cp.

$ rsync <параметры> <источник> <назначение>

Перед тем, как начать, вот несколько популярных аргументов rsync.

  • -v: подробный режим, выводит все действия, выполняемые на экране консоли.
  • -vv: подробный режим с более подробной информацией
  • -r: рекурсивный режим, должен присутствовать при копировании каталогов
  • -z: сжатие данных
  • -a: Архивные данные
  • -n: Пробный запуск, должен выполняться в сочетании с подробным режимом.Просто выводит действия, если команда должна была выполняться для реального
  • –delete: удалить файл (ы) и каталог (ы) в целевом каталоге, если исходный каталог больше не содержит их.
  • -no-all-file: Заставляет rsync использовать свой алгоритм дельта-передачи, несмотря ни на что. Полезно в сценариях, где необходимо обеспечить минимальный объем записи данных.
  • –remove-source-file: удалить исходный файл (ы) после копирования.

Давайте проверим их в действии.Сначала копия каталога. Выполните следующую команду.

$ rsync -vr dir_A / dir_A_copy

Для более подробного вывода воспользуемся флагом «-vv».

$ rsync -vv -r dir_A / dir_A_copy

А теперь давайте посмотрим на интересную часть rsync. Мы обсудили, как rsync интеллектуально копирует только измененные файлы, экономя полосу пропускания и запись на диск. Пришло время проверить это в действии. В этом примере действие будет выполняться в каталоге dir_A.

$ rsync -vv — no-all-file dummy * dir_B /

Несмотря на то, что дельта-передача включена, rsync может не применять ее, когда вы выполняете локальную передачу данных.

Теперь давайте посмотрим на функцию пробного прогона. Прежде чем запускать любую команду rsync по-настоящему, всегда важно ее предварительно протестировать. Вот тут-то и начинается пробный прогон. Rsync выведет, что произойдет, если команда действительно будет запущена.

$ rsync -anvr dir_A / dir_A_copy

Rsync также может работать с удаленными каталогами, без проблем.Все, что ему нужно, — это правильное соединение SSH с настроенными ключами SSH.

$ rsync <опция>
@ :

Хотите выполнить операцию перемещения? Чтобы представить это с точки зрения rsync, rsync скопирует содержимое исходного каталога, а затем удалит исходное содержимое.

$ rsync -v —remove-source-files <источник> <назначение>

Проверить результат операции.

Заключительные мысли

cp и rsync — наиболее распространенные инструменты, которые вы можете использовать для копирования файлов в папку на терминале Linux. Оба они также хороши для написания сценариев. Просто не забудьте протестировать функции перед реализацией.

Наслаждайтесь!

Как скопировать каталог / папку в Linux через командную строку!

В операционных системах Linux есть различные команды для копирования папки. В этом вам поможет команда cp.Чтобы организовать файлы на вашем сервере, вам нужно будет их копировать. С помощью команды cp вы можете скопировать каталог и весь подкаталог с его содержимым и всем, что находится под ним. cp и rsync — одни из самых популярных команд для копирования файлов и каталогов.

В этом руководстве мы объясним, как скопировать папку в операционной системе Linux.

Базовый синтаксис команды cp

Команда

cp используется для копирования файлов или каталогов в Linux. Создает точную копию файла на диске с другим именем.

Базовый синтаксис

команды cp показан ниже:

cp [OPTION] Source Destination
cp [OPTION] Source-1 Source-2 Source-3 Destination

Вы должны увидеть все параметры, доступные с помощью команды cp, выполнив следующую команду:

cp --help

Вы должны увидеть следующий экран:

Копирование каталогов с помощью команды cp

Если вы хотите скопировать каталог, включая все его файлы и подкаталоги, используйте параметр -R или -r с командой cp.

Например, скопируйте каталог / etc в каталог / opt с помощью следующей команды:

cp -R / etc / opt /

Приведенная выше команда создаст целевой каталог и рекурсивно скопирует все файлы и подкаталоги в каталог / opt.

Если целевой каталог уже существует и вы хотите скопировать только файлы и подкаталоги, но не целевые каталоги, запустите команду cp с параметром -T, как показано ниже:

CP-RT / etc / opt /

Если вы хотите сохранить указанные атрибуты, такие как право собственности, временные метки, контекст и ссылки, запустите команду cp с параметром -a, как показано ниже:

cp -aR / etc / opt /

Если вы хотите отображать вывод во время процесса копирования, используйте параметр -v с командой cp:

cp -avR / etc / opt /

Вы должны увидеть результат, как показано ниже:

Если вы хотите скопировать только содержимое каталога / etc в / opt, вам нужно будет указать подстановочный знак звездочки, как показано ниже:

cp -avR / etc / * / opt /

Если вы хотите скопировать несколько каталогов, например, / etc и / var, в каталог / opt, выполните следующую команду:

cp -avR / etc / var / opt /

Примечание. Для копирования каталогов у вас должны быть разрешения на чтение в исходном каталоге и права на запись в целевом каталоге.

Копирование каталогов с помощью команды rsync

rsync — это расширенный инструмент для копирования файлов, который позволяет копировать каталог из локального удаленного местоположения.

Базовый синтаксис команды rsync показан ниже:

rsync [ОПЦИЯ] НАЗНАЧЕНИЕ ИСТОЧНИКА

Вы можете увидеть все параметры, доступные с помощью команды rsync, как показано ниже:

rsync --help

Вы должны увидеть следующий экран:

Чтобы скопировать каталог / etc в / opt, выполните следующую команду:

rsync -a / etc / opt

В приведенной выше команде параметр -a скопирует каталог со всеми его разрешениями и другой информацией, включая рекурсивную копию.Если целевой каталог существует, rsync перезапишет его.

Если вы хотите скопировать только содержимое каталога / etc, поставьте завершающую косую черту / в конце / etc:

rsync -a / etc / / opt

Вы можете использовать rsync с параметром -v, чтобы отобразить подробный вывод, как показано ниже:

rsync -av / etc / opt

Вы должны увидеть следующий экран:

Если вы хотите отображать прогресс во время процесса копирования, запустите rsync с параметром -P, как показано ниже:

rsync -avP / etc / opt

Вы также можете использовать параметр -z с командой rsync для сжатия файловых данных во время передачи:

rsync -avz / etc / opt

Если вы хотите исключить определенный каталог из источника, выполните следующую команду:

rsync -a --exclude 'имя_директора' / opt /

Чтобы исключить несколько каталогов, выполните следующую команду:

rsync -a --exclude {'каталог1', 'каталог2', 'каталог3'} / opt /

Если вы хотите скопировать несколько каталогов в / opt, выполните следующую команду:

rsync -a / etc / usr / opt /

Заключение

В приведенном выше руководстве мы узнали, как скопировать каталог с помощью команд cp и rsync.Для получения дополнительной информации вы можете посетить официальную документацию Rsync по адресу Rsync Doc.

Перемещение и копирование элементов в вашей системе — изучите командную строку в терминале

https://vimeo.com/237081756

На этом этапе курса вы можете:

  • узнать, где вы находитесь в своей системе ( pwd )

  • перечислить содержимое каталога ( ls )

  • изменить каталоги ( cd )

  • каталоги make ( mkdir )

  • файлы make ( touch file-name.extension )

  • используйте сочетания клавиш, чтобы избежать проблем с вводом в командной строке

Теперь вы можете перемещать или копировать контент, который вы создали. Есть ряд команд, которые позволят вам это сделать.

Перемещение содержимого

Допустим, вы случайно создали файл не в том месте, например, поместили электронную таблицу биологических исследований в папку истории искусств. 😖

Если вы используете визуальный интерфейс, такой как Finder (или другой визуальный интерфейс), вам придется щелкнуть и перетащить этот файл в его правильное место.В Терминале у вас нет визуального интерфейса, поэтому для этого вам нужно знать команду mv !

мв , конечно расставляет по ходу. Для команды mv требуется несколько частей информации.

Таким образом, моя первая информация — это research-results.csv , а вторая часть информации — это путь к файлу в папке «Биология».

Абсолютные и относительные пути к файлам

Я мог ввести это двумя разными способами.Давайте исследуем разницу между абсолютными и относительными путями к файлам.

Вариант 1 (абсолютный путь):

  mv research-results.csv ~ / Desktop / Second \ Semester / Biology  

Вариант 2 (относительный путь):

  mv research-results.csv ../Biology  

Вариант 1 содержит абсолютный путь к папке «Биология». Каждая папка указана в порядке сверху вниз.

Вариант 2 — относительный путь. Это путь относительно того, где мы сейчас находимся. .. означает «перейти на один уровень вверх» (до «второго семестра»), а оттуда перейти в папку «Биология».

Переименование содержимого с помощью mv

Файлы и папки также можно переименовывать с помощью команды mv. Чтобы переименовать research-results.csv в biology-final-report.csv , вы можете запустить:

  mv research-results.csv biology-final-report.csv  

Технически вы «переезжаете» «один файл в другой и переименовал его в процессе.👍

Вы также можете использовать mv с папками для их перемещения! Это не только для файлов.

Команда перемещения

Копирование файлов

Копирование содержимого работает аналогично перемещению содержимого. Начнем с копирования файла, потому что это проще.

Те же аргументы верны для cp (копия), что и для mv (move):

Давайте рассмотрим упражнение, чтобы собрать воедино несколько разных вещей, над которыми мы работали.

Посмотрите видео главы, чтобы получить более понятную демонстрацию! Эти концепции сложно осознать, и просмотр видео очень поможет.

Сценарий: вы хотите скопировать итоговую курсовую работу из папки второго семестра в новую папку под названием «Заключительные работы». Вы не хотите перемещать файлы; просто скопируйте их в другую папку, чтобы у вас были копии ваших заключительных документов в одном централизованном месте.

В папке «Второй семестр» создайте каталог, в котором будут храниться работы по окончании семестра.

  mkdir Final \ paper  

Теперь вы можете либо изменить каталоги ( cd ) в папку Art history и скопировать оттуда окончательный документ, либо просто скопировать его, не меняя каталоги.

  cd Art \ history  
  cp term-paper.text ../ Final \ paper  

or

  cp Art \ history / term-paper.txt Final \ paper  

Теперь смените каталоги ( cd ) в папку Final paper и перечислите его содержимое ( ls ), чтобы убедиться, что файл теперь скопирован сюда:

  cd Final \ paper  
  ls  

Великолепно!

Команда копирования

Дополнительное исследование: копирование папок

Копирование папок сложнее.Вам нужно будет использовать что-то, что называется опцией. Параметры существуют для многих команд терминала. Это способ сообщить компьютеру, что команда должна выполняться определенным способом, отличным от стандартного.

Для копирования папок вы воспользуетесь рекурсивной опцией. Рекурсивный метод похож на итерацию в том смысле, что команда будет выполняться с небольшими приращениями для достижения своей конечной цели. Об этом сейчас не стоит беспокоиться, хотя вы можете узнать больше о рекурсивности здесь.

В этом примере мы вернемся к нашему проекту кода.Я хочу продублировать папку с кодом, чтобы использовать написанный мной код в качестве основы для другого проекта. Исходный каталог называется code-project, поэтому я назову свою копию code-project-2 .

Чтобы скопировать эту папку из одного места в другое, запустите:

  cp -R ~ / Desktop / code-project ~ / Desktop / code-project-2  

Это скопировало мою папку проекта кода ( включая его содержимое) в новую папку с именем code-project-2 . -R — это параметр, который указывает, что вы хотите, чтобы команда выполнялась с рекурсией.

Теперь вы можете перемещать и копировать файлы и папки. Отлично! В следующей главе вы узнаете, как искать контент среди всех папок и файлов, которые вы создали в этом курсе.

.