Права доступа к файлам являются неотъемлемой частью спецификации Unix. Однако есть некоторые вещи, о которых начинающие пользователи часто не знают, например, как сохранить права доступа к файлам в Linux при их копировании.
кнопка Home на моем iphone не работает
Поскольку скопированные файлы по сути являются новыми файлами, их разрешение зависит от umask текущего пользователя. Это может привести к ситуациям, когда у скопированных файлов или папок совершенно другие разрешения, чем у источника.
К счастью для вас, в Linux легко сохранить права доступа к файлам с помощью стандартных инструментов командной строки, таких как cp а также rsync . Ознакомьтесь с приведенными ниже примерами, чтобы узнать, как копировать и сохранять разрешения в Linux.
Сохранить права доступа к файлам с помощью cp
В стандартная команда cp имеет все необходимое для сохранения прав доступа к файлам при копировании. Вы можете использовать -п параметр cp, чтобы сохранить режим, владельца и временные метки файла.
cp -p source-file dest-file
Однако вам нужно будет добавить -р параметр этой команды при работе с каталогами. Он скопирует все подкаталоги и отдельные файлы с сохранением исходных разрешений.
cp -rp source-dir/ dest-dir/
Вы также можете использовать -к опция cp для сохранения прав доступа к файлам. Это позволяет Архив режим, сохраняя все, от прав доступа к файлам до контекстов SELinux.
cp -a source-dir/ dest-dir/
Сохранение разрешений в Linux с помощью rsync
Вы также можете использовать утилиту rsync для сохранения разрешений на копирование в Linux. Многие администраторы предпочитают rsync над cp из-за его более высокой скорости копирования. Поскольку rsync копирует только обновленную часть файла, они больше подходят для таких задач, как клонирование жесткого диска Linux .
rsync -a source-dir/ dest-dir
В -к опция rsync включает Архив режим, который сохраняет атрибуты файла, такие как разрешения и права собственности. Вы можете использовать -v опция для подробного вывода и -час для просмотра чисел в удобочитаемом формате.
rsync -avh source-dir/ dest-dir
Также обратите внимание на исключение концовки слэш ( / ) из целевого каталога. Добавление конечной косой черты к месту назначения заставит rsync скопировать файлы на другой уровень подкаталога.
Проверить права доступа к файлам в Linux
Вы можете легко проверить права доступа к файлам в Linux, используя getfacl (получить списки контроля доступа к файлам) команда. Он проверит, были ли сохранены разрешения должным образом.
getfacl source-file
getfacl dest-file
Копирование файлов с сохранением разрешений в Linux
И cp, и rsync предоставляют стандартные параметры для сохранения прав доступа к файлам в Linux. Вы можете использовать cp для повседневных задач, тогда как rsync лучше подходит для крупномасштабных данных. Не забудьте проверить разрешения с помощью getfacl после завершения копирования.
Хотя rsync может копировать файлы между удаленными машинами, scp Команда (безопасная копия) - еще один реальный вариант для этой задачи. Вы можете безопасно создавать резервные копии файлов в и из сетевых систем с помощью scp.
Делиться Делиться Твитнуть Эл. адрес Безопасное копирование файлов в Linux с помощью команды ScpУдаленное перемещение файлов и папок проще, чем вы думаете. С помощью команды scp также шифруются удаленно перемещаемые файлы.
как открыть внешний жесткий диск на ПКЧитать далее Похожие темы
- Linux
- Управление файлами
- Linux
- Команды Linux
Рубайат - выпускник компьютерных наук с сильной страстью к открытому исходному коду. Помимо того, что он ветеран Unix, он также занимается сетевой безопасностью, криптографией и функциональным программированием. Он заядлый коллекционер подержанных книг и безгранично восхищается классическим роком.
Ещё от Rubaiat HossainПодписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Нажмите здесь, чтобы подписаться