Як `cp -R` відрізняється від CTRL-C / CTRL-V?


2

Моя система - OS X El Capitan 10.11.5. Я скопіював з моєї файлової системи OS X Extended FAT32 близько 30 Гб файлів Ctrl + C / Ctrl + V .

Тепер я отримав пропозицію зробити це cp -R.

Я дивуюся як різний це з Ctrl + C і Ctrl + V .


Як cp -R відрізняється від Ctrl + C і Ctrl + V ?


Я не думаю, що вони є різними, за винятком одного більш зручного для користувача, ніж інші, якщо не все, що знайоме з усіма речами командного рядка; Не багато людей знають, як зараз взаємодіяти з комп'ютерами через снаряди.
Kun

Мені потрібно трохи більше відповіді через велику кількість файлів, які я скопіював. Я хочу знати, як подібно обирають дві команди.
Léo Léopold Hertz 준영

Під час копіювання великої кількості даних, rsync -aP можливо, краще, оскільки його можна відновити, якщо перервати.
Siyuan Ren

Відповіді:


2

При копіюванні і вставці за допомогою Finder є певні мета-дані, які підтримуються при використанні
cp -R це не.

Наприклад, при копіюванні та вставці через Finder створений / змінений штамп дати / часу для окремих файлів зберігається на рівні існуючих метаданих у порівнянні з використанням cp -R де обидва створені / змінені мітки дати / часу встановлюються на дату / час операції копіювання.

На каталогах при копіюванні і вставці за допомогою Finder створений штамп дати / часу зберігається до значення його поточного значення, а змінений штамп дати / часу встановлюється на дату / час операції копіювання. проти використання cp -R де обидва створені / змінені мітки дати / часу встановлюються на дату / час операції копіювання.

Тепер, якщо ви використовуєте cp -aR створений штамп дати / часу встановлюється на дату / час операції копіювання, і змінена мітка дати / часу зберігається до її значення, яке вона мала під час операції копіювання.

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

FAT32 не підтримує всі атрибути файлів, які виконує HFS +, однак копіювання через Finder зберігає більше cp незалежно від опції реалізовано.


Є cp -aR еквівалентно CTRL-C / CTRL-V у Finder?
Léo Léopold Hertz 준영

Так що вам потрібно хоча б cp -paR де -p зберігає модифікацію Time / accessTime / fileFlags / fileMode / userID / groupID. Я не бачу іншого варіанту, який би міг щось зберегти.
Léo Léopold Hertz 준영

1
-a є таким же, як -pPR насправді. Також, cp не копіювати будь-які коментарі Finder, збережені в зверху папка вихідної ієрархії (що пов'язано з тим, що коментарі зберігаються в a .DS_Store файлу в одній батьківській папці), Ctrl-C / V буде. Обидва варіанти робити копіювати коментарі Finder на об'єкти, розташовані під верхньою папкою.
nohillside

@patrix Я хочу слідувати символічним посиланням. Є cp -paR правильний для цього? Думаю варіант -a не є придатним, тому що він включає -P.
Léo Léopold Hertz 준영

@masi Прочитайте сторінку man для cp :-) Але символічні посилання - це хитрий звір у будь-якому випадку, якщо ви копіюєте всі ієрархії каталогів, так що вам, можливо, доведеться виправити деякі з них вручну.
nohillside

1

cp і rsync мають багато варіантів, які змінюють, які атрибути (права власності, UNIX-дозволу, POSIX ACL, ресурсні вилки в деяких випадках!) будуть / не будуть передані / скинуті, і як будуть включені / виключені деякі типи файлів і як будуть оброблятися посилання на файли або каталоги (копіювання посилання на копіювання на те, що вона вказує). Малоймовірно, що тільки використання -R отримає таку ж поведінку, як і те, що ви робите з Finder.

Крім того: у Finder ви можете вибрати безпосередньо речі для копіювання що ви можете побачити АБО, які знаходяться всередині папки (або в будь-якому місці в ній дерева вкладених папок), які ви можете побачити і які ви явно вибрали. Залежно від налаштувань, які можуть виключити будь-який префікс "." і, можливо, деякі інші структури, які Finder трактує як особливі.


Ви говорите, що Finder ігнорує файли .dot, якщо вони не видимі, але cp -R ні.
Léo Léopold Hertz 준영

2
@Masi, In Finder, за замовчуванням не показувати приховані файли / папки , з набором за замовчуванням, якщо ви копіюєте папку, яка містить приховані об'єкти, всі приховані об'єкти в ній копіюються при вставці. Якщо вибрати окремі файли, скопійовані файли прихованих точок & amp; також вставлено, але не асоційовані файли точок та інші приховані об'єкти не копіюються & amp; вставлений через Finder у пізнішому сценарії. Щоб скопіювати & amp; вставляти неасоційовані приховані об'єкти на індивідуальному рівні, коли не вибирати папку, ці об'єкти повинні бути видимими для того, щоб бути вибраними і таким чином вставленими після операції копіювання.
user3439894

@Masi ls -a відображатимуться файли точок. Просто FYI.
tjt263
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.