Перемещение каталогов

Если я воспользуюсь командой cp, чтобы скопировать каталог A внутрь каталога B, увеличит ли он удвоенный объем занимаемого пространства (каталог A + скопированная версия каталога A)? Я не могу себе представить, что это так, но не помешает ли это времени поиска на диске файлов в этом каталоге?

Я новичок, поэтому извините, если этот вопрос не совсем имеет смысл.

4
задан 5 August 2013 в 23:50

3 ответа

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

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

mv </oldlocation/target> </newlocation/destination/>

Где целью является файл или каталог, а местом назначения является каталог.

ПРИМЕЧАНИЕ. Если вы используете mv </location/filenameA> <location/filenameB>, файл будет переименован. Например,

mv /etc/x11/xorg.conf /etc/x11/xorg.conf.backup

переименует текстовый файл xorg.conf в xorg.conf.backup. Попробуйте выполнить поиск в Google полезных инструментов командной строки Linux.

Еще один хитрый трюк в командной строке - использование опции man. Например,

mv man

или

sudo man

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

0
ответ дан 5 August 2013 в 23:50

Команда перемещения в linux - mv, для получения дополнительной информации см. mv --help

, это перемещает каталог и все подчиненные каталоги

mv -f dir1 /destinationDir

Это перемещает файлы из каталога dir1 в каталог dir2.

mv -f dir1/* dir2
0
ответ дан 5 August 2013 в 23:50

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

ср. - копии. По умолчанию он создает идентичную копию, занимая идентичное пространство, хотя вы можете указать cp делать жесткие ссылки (указатели на каждый файл), используя опцию -l.

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

cp -a source dest

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

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

cp -l source dest

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

Если вы хотите создать одну ссылку на папку, просто сделайте это:

ln -s source dest

ПРИМЕЧАНИЕ: -s означает «символическую» ссылку. Потому что ln может создавать жесткие или мягкие (большинство людей называют это «символическими») ссылки. Жесткие ссылки могут указывать только на файлы и иметь другие ограничения, в то время как символические ссылки могут указывать на что угодно, включая папки. Для полной статьи о различиях между жесткими и мягкими ссылками см. Эту замечательную статью здесь .

mv - перемещает файлы или папки.

Чтобы переместить папки (или файлы), просто сделайте это:

mv source dest
0
ответ дан 5 August 2013 в 23:50

Другие вопросы по тегам:

Похожие вопросы: