Копирование в ubuntu с ошибкой

Файловая система доступна только для чтения в Ubuntu

Давно не писал про Ubuntu — не было повода, но недавно он появился. Мне не удалось скопировать на флешку файлы, о чем система радостно сообщала — «Файловая система доступна только для чтения».

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

sudo fsck.vfat -a /dev/sdb1

Команду необходимо выполнить в терминале, вызвать который можно одновременным нажатием трёх клавиш — «Alt+Ctrl+T». Недоступность файловой системы была вызвана сбоем при копировании на флешку в прошлый раз. Возникли битые сектора, исправив которые, файловая система снова стала доступна для записи.

«sdb1» — идентификатор usb-накопителя в системе. Если у Вас два жестких диска, то он может отличаться от указанного. Выяснить его идентификатор можно командой:

fdisk -l | grep 'Disk /dev/sd'

Эта команда выведет список подключенных дисков.

  • Печать

Страницы: [1]   Вниз

Тема: Не могу скопировать файл // could not paste files  (Прочитано 1008 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
reversed

Из-под рута не копируются файлы в смежную с виндой файловую часть диска

ls -l из директории, в которую пытаюсь копировать.

twsomt@dev1:/media/twsomt/165C0B7E5C0B583F/Media/wallpapers$ ls -l
total 9144
-rwxrwxrwx 1 twsomt twsomt  503711 сен 29 19:20  1612268761_7-p-krasivii-fon-fioletovii-kosmos-10.jpg
-rwxrwxrwx 1 twsomt twsomt  448967 сен 29 00:23  20613.jpg
-rwxrwxrwx 1 twsomt twsomt  225334 июл 11 22:01  TFK.jpg
-rwxrwxrwx 1 twsomt twsomt  220375 июл 11 21:53  tfk_original.jpg
-rwxrwxrwx 1 twsomt twsomt 5776377 июл 11 22:01  TFK.psd
-rwxrwxrwx 1 twsomt twsomt  535949 мая 29 18:24 'весна 22.jpg'
-rwxrwxrwx 1 twsomt twsomt  598914 июн  5 19:48 'лето 22_1.jpg'
-rwxrwxrwx 1 twsomt twsomt  436648 июл 11 22:03 'лето 22_2.jpg'
-rwxrwxrwx 1 twsomt twsomt  558664 июн  5 14:52 'лето 22.jpg'
-rwxrwxrwx 1 twsomt twsomt   37451 июн  5 14:50 'лето 22.psd'
twsomt@dev1:/media/twsomt/165C0B7E5C0B583F/Media/wallpapers$


Пользователь добавил сообщение 02 Октября 2022, 14:18:17:


Также прикладываю pdf со скриншотами дисков, ошибки, проверкой доступа и разбивкой дисков. 157гб и 250гб это диски винды. Медийный раздел это тот котоырй на 250гб. Ubuntu расположена на том разделе где 105гб.


Пользователь добавил сообщение 02 Октября 2022, 14:20:21:


Памагити  :'(

« Последнее редактирование: 21 Октября 2022, 01:16:21 от reversed »


Оффлайн
andytux

Ни в чем не разобравшись, своими действиями активно вредишь.

права доступа к этой папке через гуй, и увидел что я ее владелец

Этой… А выше?

chmod: changing permissions of ‘/media/twsomt/165C0B7E5C0B583F/Media/wallpapers’: Read-only file system

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

Перезашел в винду, выключил из-под нее комп…

…вот как-раз в этом случае она «не выключается», а уходит в гибернацию.
А проблема весьма похоже в этом. Поищи на форуме «выключить виндовс» — одна из самых популярных проблем.
Для одного раза, выходи из виндовс через «перезагрузить». В этом случае она «выключается».


Оффлайн
reversed

Ваш совет помог, спасибо. Занятно, в гуе было написано что гибернация отключена, но проблема сохранялась. После выполнения

powercfg /h off — заработало


Оффлайн
AnrDaemon

Надо-то было всего лишь ПЕРЕЗАГРУЗИТЬ компьютер из винды.

Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…


Оффлайн
reversed

Надо-то было всего лишь ПЕРЕЗАГРУЗИТЬ компьютер из винды.

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


  • Печать

Страницы: [1]   Вверх

Время на прочтение
3 мин

Количество просмотров 165K

В этой статье будут раскрыты некоторые неочевидные вещи связанные с использованием 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. Замеченные ошибки направляйте в личку. Повышаю за это карму.


Ответ на:

комментарий
от Extraterrestrial 08.05.14 15:53:21 MSK

Ответ на:

комментарий
от Extraterrestrial 08.05.14 15:53:21 MSK

Ошибка при получении информации о файле «/home/alex/Рабочий стол/Создать файл
»: Нет такого файла или каталога

Kofler

(08.05.14 16:06:14 MSK)

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Kofler 08.05.14 16:06:14 MSK

Ответ на:

комментарий
от Kofler 08.05.14 15:53:58 MSK

Для тех кто в танке: система писала и о правах, что их не достаточно.

Kofler

(08.05.14 16:10:10 MSK)

  • Ссылка

Ответ на:

комментарий
от anonymous 08.05.14 16:11:44 MSK

Ответ на:

комментарий
от Kofler 08.05.14 16:22:14 MSK

Ответ на:

комментарий
от anonymous 08.05.14 16:26:06 MSK

Да, никого из «левых» :)
drwxr-xr-x 41 alex alex 4096 Май 8 17:03 alex

Kofler

(08.05.14 16:30:53 MSK)

  • Ссылка

Ответ на:

комментарий
от Kofler 08.05.14 16:06:14 MSK

Ответ на:

комментарий
от Kofler 08.05.14 16:06:14 MSK

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

w1nner ★★★★★

(08.05.14 20:04:07 MSK)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от w1nner 08.05.14 20:04:07 MSK

Ответ на:

комментарий
от Kofler 08.05.14 20:52:03 MSK

Не пробовал по нормальным невиндовским традициям сначалаоткрыть прогу, которая нужна, а оттуда сохранить? А по созданию на рабочем столе — нормальные люди на рабочем столе ничего никогда не держат.

DeadEye

★★★★★

(08.05.14 21:13:26 MSK)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от DeadEye 08.05.14 21:13:26 MSK

Нормальные ОСи работают в любом положении, хоть лежа хоть к верх ногами. Сохранять на рабочем столе файл концепция nix* запрещает?

Kofler

(08.05.14 21:41:51 MSK)

  • Ссылка

Ответ на:

комментарий
от TuxR 08.05.14 21:14:06 MSK

Да, место есть. Заметил одну особенность. Если сохранять файл через — Рабочий стол — Домашний каталог — то сохраняется. А если зайти через — Контроль свободного места на диске — то нет, пишет ошибку. Хотя всегда я сохранял (когда было нужно) через контроль* и все было ok а тут косяк получился. Что-то внезапно заглючило. Да, и еще, после последнего обновления системы, слете в грабе загрузчик винды.

Kofler

(08.05.14 21:45:44 MSK)

  • Ссылка

Юзай консоль.

zorg

★★

(08.05.14 23:13:48 MSK)

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

This is really weird. I can’t copy anything from the terminal. The Ctrl+Shift+C command and Edit->Copy does nothing, no matter how much or little text I have selected. What ever was on my clipboard before the command is still there after.

Why can’t I copy text from the Terminal?

Pasting into the terminal works just fine

asked Jun 15, 2012 at 12:57

Hubro's user avatar

HubroHubro

1,2736 gold badges18 silver badges34 bronze badges

5

you can, But you have to go into the settings.

Edit -> Keyboard shortcuts -> find copy and past commands -> Click to alter and enter new combo «ctrl+x, v, c, etc…»

answered Jun 15, 2012 at 13:02

TardisGuy's user avatar

TardisGuyTardisGuy

3596 silver badges22 bronze badges

1

In most Windows environments (not sure for others), you will have to highlight the text and then hit Enter to copy the text. You can then simply Ctrl + v (paste) it e everywhere. Maybe that works on your (specific?) Ubuntu terminal as well.

answered Nov 30, 2014 at 14:14

kaiser's user avatar

kaiserkaiser

1076 bronze badges

I do a >copy.txt to output my screen result.
Like aplay -l > text.txt give me a text.txt where I can open up in gedit by clicking on the file everything is formatted nicely. Here you can Ctrl-C then Ctrl-V just like Windows.

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC888 Analog [ALC888 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 1: ALC888 Digital [ALC888 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Stefano Palazzo's user avatar

answered Nov 11, 2015 at 17:04

Digital Life's user avatar

Возможно, вам также будет интересно:

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

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии