- Проблема с копированием файла на флеш-карту
- Файловая система доступна только для чтения в Ubuntu
- Как копировать файлы и каталоги в Linux
- Копирование файлов с помощью команды cp
- Скопируйте файл в каталог
- Копировать несколько файлов
- Копирование каталогов с помощью команды cp
- Копирование файлов и каталогов с помощью команды rsync
- Выводы
- Как скопировать файлы в Astra Linux через терминал из системных папок?
- Как получить root права на файл для копирования если он не открывается?
- Как копировать файлы пользователя root c помощью Midnight Commahder и изменить владельца?
- Команда cp: правильное копирование папок с файлами в *nix
- Выводы
- Послесловие
Проблема с копированием файла на флеш-карту
Все просто, скачал образ с игрой для ps3, весит он 8 гигов. Копирую его на флешку, и линукс уже не может это осилить.
Легкие файлы он копирует на носитель без труда, а вот тяжелые для него неподъемная ноша. Проблемы были и каждый раз после того, как я фильмы размером 1 — 6 гигов копировал на флешку, но получал в ответ что-то непонятное.
В общем и сам вопрос. Почему я не могу совершить элементарную операцию по копированию файлов? Ошибка, что я получаю http://joxi.ru/L21Ko1YhgwOMNr
Если что, я ламер, который установил линукс пару лет назад, чтобы познать эту систему.
Так же проблема появлялась и ранее, когда файл гига на 4 копировался минут 10-15. Это реально боль какая-то. При старте копирования скорость максимально высокая, а с каждой секундой все меньше и меньше. Уже находил подобные темы на этом форуме, но как-то они мне не помогли
Файловая система на носителе не FAT случаем?
Какая ФС на флешке?
У FAT32 ограничение — более 4 гибибайт файлы в принципе не поддерживаются. В новых версиях Windows флешки потому по умолчанию форматируют или в NTFS, или в exFAT.
Если флешка только под Linux, можешь ext4 использовать на ней.
Я даже больше скажу: нтфс имеет смысл использовать ТОЛЬКО если предпологаеться использование ее для обмена файлами с компьютером под управлением винды.
Вероятно, да. Под macOS можно флешку в HFS+ отформатировать — Linux умеет и с этой ФС работать.
Источник
Файловая система доступна только для чтения в Ubuntu
Давно не писал про Ubuntu — не было повода, но недавно он появился. Мне не удалось скопировать на флешку файлы, о чем система радостно сообщала — «Файловая система доступна только для чтения».
Попытка выставить нужные права на файлы и каталоги не дала результатов и я пошел искать решение в интернете. Проблема оказалась распространенной и не раз обсуждалась. Несмотря на это, нужную команду я нашел не сразу.
Команду необходимо выполнить в терминале, вызвать который можно одновременным нажатием трёх клавиш — «Alt+Ctrl+T». Недоступность файловой системы была вызвана сбоем при копировании на флешку в прошлый раз. Возникли битые сектора, исправив которые, файловая система снова стала доступна для записи.
«sdb1» — идентификатор usb-накопителя в системе. Если у Вас два жестких диска, то он может отличаться от указанного. Выяснить его идентификатор можно командой:
Эта команда выведет список подключенных дисков.
Подскажите как решить проблему, файл текстовый копирую на флешку, но скопировать не удается, появляется окно:
«Операция над файлами была завершена с ошибками.
Копирование файлов report.txt
В: /media/usb0… „
Файл не копируется.
Права доступа к файлу проверил, можно читать и писать r/w
Проблема явно в том, как Ubuntu работает с флешками (флешь исправна, проверено, все флешки так себя ведут на этой машине).
п.с. При подключении флешки к компьютеру, не появляется окно с предложение примонтировать флешь или открыть в файловом менеджере.
На другом компьютере при подключении флешь появляется окно.
Подскажите как получить информацию о флешке, а именно о правах доступа.
Файл с флешки можно скопировать на диск Ubuntu
Предполагаю проблема с правами.
Что из команд проверено:
sudo fdisk -l
множество сайтов облазил, но так ничего не понял.
та же ошибка но с самим телефоном.
было дело копировал сериальчик на внутреннюю память телефона (samsung galaxy s 2 i9100 телефончик рутированый, рутировал примерно года 1,5 назад-работал нормально без сбоев) во время копирования случайно выдернул usb шнур.
при повторном подключении ничего не заметил, с телефона все спокойно скидывается на пк а на тел с пк ни в какую. файлы на внутренней памяти и на флешке не возможно удалить через пк и менеджер файлов в телефоне, даже скриншоты не сохраняются. телефон перешел в режим только чтение.
помогите решить проблемку.
ps. root explorer только смог перемонтировать файловую систему для чтения и записи но только на момент удаления любого файла.
pss. вот я и подумал раз root explorer смог перемонтировать файловую систему и для чтения и для записи (хоть и временно) вот у меня и загорелась надежна что не все потеряно.
НАДЕЮСЬ ЧТО МНЕ ТУТ ПОМОГУТ.
Источник
Как копировать файлы и каталоги в Linux
Копирование файлов и каталогов — одна из наиболее распространенных задач, которые вы будете выполнять при работе в командной строке. В Linux есть несколько команд для копирования файлов, наиболее широко используемые инструменты — cp и rsync .
Обычной практикой является использование команды cp для копирования файлов и rsync для копирования каталогов.
Чтобы иметь возможность копировать файлы и каталоги, у вас должны быть как минимум права на чтение исходного файла и права записи в целевой каталог.
Копирование файлов с помощью команды cp
В операционных системах Linux и Unix команда cp используется для копирования файлов и каталогов.
Самый простой вариант использования — скопировать файл в текущий рабочий каталог. Например, чтобы скопировать файл с именем file.txt в файл с именем file_backup.txt в текущем каталоге , вы должны выполнить следующую команду:
Если целевой файл существует, он будет перезаписан. Чтобы получить запрос на подтверждение перед перезаписью файлов, используйте параметр -i .
По умолчанию при использовании команды cp для копирования файла новый файл будет принадлежать пользователю, выполняющему команду. Используйте параметр -p чтобы сохранить режим файла, владельца и временные метки :
Другой вариант, который может быть полезен, — это -v . При использовании этой опции команда печатает, что делается:
Скопируйте файл в каталог
Чтобы скопировать файл в каталог, укажите абсолютный или относительный путь к каталогу. Если целевой каталог не указан, файл копируется в текущий каталог.
В следующем примере мы file.txt файл file.txt в file.txt /backup :
При указании в качестве места назначения только имени каталога скопированный файл будет иметь то же имя, что и исходный файл.
Если вы хотите скопировать файл под другим именем, вам необходимо указать желаемое имя файла:
Приведенная выше команда скопирует файл в указанный каталог как new_file.txt .
Копировать несколько файлов
Чтобы скопировать сразу несколько файлов и каталогов, укажите имена исходных файлов и каталогов, за которыми следует каталог назначения в качестве последнего аргумента:
При копировании нескольких файлов местом назначения должен быть каталог.
Команда cp также позволяет использовать сопоставление с образцом. Например, чтобы скопировать все файлы .png из текущего каталога в каталог /backup , вы должны использовать:
Копирование каталогов с помощью команды cp
Чтобы скопировать каталог, включая все его файлы и подкаталоги, используйте параметр -R или -r . В следующем примере мы копируем каталог Pictures в Pictures_backup :
Приведенная выше команда создаст каталог назначения и рекурсивно скопирует все файлы и подкаталоги из источника в каталог назначения.
Если целевой каталог уже существует, сам исходный каталог и его содержимое копируются в целевой каталог. Чтобы скопировать только файлы и подкаталоги, но не целевой каталог, используйте параметр -T :
Параметры, используемые при копировании файлов, также могут использоваться при копировании каталогов. Основное отличие состоит в том, что при копировании каталогов необходимо использовать параметр -R .
Копирование файлов и каталогов с помощью команды rsync
rsync — это быстрая и универсальная утилита командной строки, которая синхронизирует файлы и каталоги между двумя местоположениями. Его можно использовать для копирования файлов в локальные и удаленные места.
rsync включает множество параметров, которые контролируют каждый аспект его поведения.
Наиболее полезная опция -a которая рекурсивно копирует каталоги, передает специальные и блочные устройства и сохраняет символические ссылки, время модификации, группу, владение и разрешения.
Чтобы скопировать один файл из одного места в другое, вы должны выполнить следующую команду:
Если целевой файл существует, rsync перезапишет его.
Эту же команду можно использовать для копирования каталога:
rsync по-разному rsync исходным каталогам, заканчивающимся косой чертой / . Если вы добавите завершающую косую черту в исходный каталог, команда скопирует только содержимое исходного каталога в целевой каталог. Если косая черта в конце опущена, rsync скопирует исходный каталог в целевой каталог. Самый безопасный вариант — всегда включать косую черту / как в месте назначения, так и в источнике.
Чтобы узнать больше о rsync прочтите следующие статьи:
Выводы
Мы показали вам, как копировать файлы и каталоги в системах на базе Linux и Unix, используя утилиты cp и rsync .
Если у вас есть вопросы, оставьте комментарий ниже.
Источник
Как скопировать файлы в Astra Linux через терминал из системных папок?
Всем добра на fast-wolker.ru! Сегодняшний урок — типичная и затруднительная ситуация для новичков. В Linux разграничение прав доступа к папкам и файлам организовано таким образом, что документы относящиеся к группе Root нельзя никому просмотреть, (или скопировать) в другой каталог обычным способом.
В моем примере нужные фото попали в папку /var. Напомню друзья, что при установке Astra Linux мы заводим администратора системы, у которого есть неограниченные полномочия.
Но это еще не предел; в линукс есть встроенная учетная запись SU, она скрыта. И если SU владелец документа (или группа ROOT), то просмотреть или скопировать документ обычным способом не получиться.
Теоретически можно зайти в систему под пользователем SU, и скопировать файлы куда нужно, но делать этого крайне не рекомендуется, — риск поломать операционную систему очень велик!
Поэтому выйдем из положения используя терминал. Без него никуда. Можно использовать два способа работы — непосредственно через консоль вводим команды. Второй способ — запуск встроенного файлового менеджера Midnight Commander.
Первый способ подойдет если количество файлов небольшое. Второй удобен для выборочной, визуальной работы. Впрочем, все зависит насколько вы уже знакомы с MC.
Как получить root права на файл для копирования если он не открывается?
В терминале перехожу в папку, где лежат мои скриншоты:
Смотрю, что у меня в этой папке лежит:
Нужны все файлы с расширением PNG. Сейчас мы скопируем их в мою ДОМАШНЮЮ ПАПКУ/Документы одной командой. В терминале выберем команду CP (копирование).
Используем CP , дав ей неограниченные права SUDO. Вводим команду копирования ВСЕХ файлов с расширением PNG (папка назначения указывается через пробел):
SUDO CP *.png /home/superuser/Документы
Это еще не всё. Файлы скопированы, но прав доступа на открытие нет, так как владелец файлов по прежнему root.
С помощью команды CD переходим в папку home/superuser/Документы. Команду CHMOD мы уже изучили в материале «Как сделать файл исполняемым в Astra Linux«. Даем ВСЕМ пользователям права на открытие ВСЕХ файлов с расширением PNG, (через SUDO):
Как копировать файлы пользователя root c помощью Midnight Commahder и изменить владельца?
Для дальнейшей работы нужно изменить владельца файлов. Сделать это в папке /var невозможно, Но мы уже скопировали файлы куда надо, не так ли? В Astra Linux есть встроенный менеджер файлов старый добрый Midnight Commander.
Запускается он через консоль; для наших целей используем SUDO:
Подробности смотрим на видео. В MC работаем через фунциональные клавиши и стрелками на клавиатуре.
На видео показал как менять разрешения с помощью пункта «Права доступа». Но, в моем случае нужен пункт «Права расширенные» (чтобы поменять владельца root на мою учетку):
Внутри меняем хозяина файла и группу с root на другую учетную запись. Там же можно изменить и права доступа всех на наивысшие. Всем удачи!
Источник
Команда cp: правильное копирование папок с файлами в *nix
В этой статье будут раскрыты некоторые неочевидные вещи связанные с использованием wildcards при копировании, неоднозначное поведение команды cp при копировании, а также способы позволяющие корректно копировать огромное количество файлов без пропусков и вылетов.
Допустим нам нужно скопировать всё из папки /source в папку /target.
Первое, что приходит на ум это:
Сразу исправим эту команду на:
Ключ -a добавит копирование всех аттрибутов, прав и добавит рекурсию. Когда не требуется точное воспроизведение прав достаточно ключа -r .
После копирования мы обнаружим, что скопировались не все файлы — были проигнорированы файлы начинающиеся с точки типа:
.profile
.local
.mc
и тому подобные.
Почему же так произошло?
Потому что wildcards обрабатывает shell ( bash в типовом случае). По умолчанию bash проигнорирует все файлы начинающиеся с точек, так как трактует их как скрытые. Чтобы избежать такого поведения нам придётся изменить поведение bash с помощью команды:
Чтобы это изменение поведения сохранилось после перезагрузки, можно сделать файл wildcard.sh c этой командой в папке /etc/profile.d (возможно в вашем дистрибутиве иная папка).
А если в директории-источнике нет файлов, то shell не сможет ничего подставить вместо звёздочки, и также копирование завершится с ошибкой. Против подобной ситуации есть опции failglob и nullglob . Нам потребуется выставить failglob , которая не даст команде выполниться. nullglob не подойдёт, так как она строку с wildcards не нашедшими совпадения преобразует в пустую строку (нулевой длины), что для cp вызовет ошибку.
Однако, если в папке тысячи файлов и больше, то от подхода с использованием wildcards стоит отказаться вовсе. Дело в том, что bash разворачивает wildcards в очень длинную командную строку наподобие:
На длину командной строки есть ограничение, которое мы можем узнать используя команду:
Получим максимальную длину командной строки в байтах:
Получим что-то типа:
Итак, давайте будем обходиться вовсе без wildcards.
Давайте просто напишем
И тут мы столкнёмся с неоднозначностью поведения cp . Если папки /target не существует, то мы получим то, что нам нужно.
Однако, если папка target существует, то файлы будут скопированы в папку /target/source.
Не всегда мы можем удалить заранее папку /target, так как в ней могут быть нужные нам файлы и наша цель, допустим, дополнить файлы в /target файлами из /source.
Если бы папки источника и приёмника назывались одинаково, например, мы копировали бы из /source в /home/source, то можно было бы использовать команду:
И после копирования файлы в /home/source оказались бы дополненными файлами из /source.
Такая вот логическая задачка: мы можем дополнить файлы в директории-приёмнике, если папки называются одинаково, но если они отличаются, то папка-исходник будет помещена внутрь приёмника. Как скопировать файлы из /source в /target с помощью cp без wildcards?
Чтобы обойти это вредное ограничение мы используем неочевидное решение:
Те кто хорошо знаком с DOS и Linux уже всё поняли: внутри каждой папки есть 2 невидимые папки «.» и «..», являющиеся псевдопапками-ссылками на текущую и вышестоящие директории.
- При копировании cp проверяет существование и пытается создать /target/.
- Такая директория существует и это есть /target
- Файлы из /source скопированы в /target корректно.
Итак, вешаем в жирную рамочку в своей памяти или на стене:
Поведение этой команды однозначно. Всё отработает без ошибок вне зависимости от того миллион у вас файлов или их нет вовсе.
Выводы
Если нужно скопировать все файлы из одной папки в другую, не используем wildcards, вместо них лучше использовать cp в сочетании с точкой в конце папки-источника. Это скопирует все файлы, включая скрытые и не завалится при миллионах файлов или полном отсутствии файлов.
Послесловие
vmspike предложил аналогичный по результату вариант команды:
ВНИМАНИЕ: регистр буквы T имеет значение. Если перепутать, то получите полную белиберду: направление копирования поменяется.
Благодарности:
Источник