Если Вы хотите открыть целый файл (который требует), но покажите только часть его в окне редактора, используйте сужение. Выберите часть буфера, который Вы хотите продолжить работать и нажать C-x n n
(narrow-to-region
). Скажите “да”, если Вы получаете подсказку об отключенной команде.Пресса C-x n w
(widen
) видеть целый буфер снова. При сохранении буфера полный файл выбран: все данные все еще там, сужение только ограничивает то, что Вы видите.
Если Вы хотите просмотреть часть файла, можно вставить его в текущий буфер с shell-command
с аргументом префикса (M-1 M-!
); выполните соответствующую команду для извлечения желаемых строк, например.
Существует также функция Lisp insert-file-contents
который может взять диапазон байта. Можно вызвать его с M-:
(eval-expression
):
(insert-file-contents "huge.txt" nil 456789000 456791000)
Обратите внимание, что можно столкнуться с целочисленным пределом размера (версия - и зависимый платформы, проверьте значение most-positive-fixnum
).
В теории было бы возможно записать режим Emacs, который загружает и сохраняет части файлов прозрачно по мере необходимости (хотя предел на целочисленные размеры сделал бы использующие фактические файловые смещения невозможными на 32-разрядных машинах). Единственным усилием в том направлении, о котором я знаю, является VLF (ссылка GitHub здесь).
Владелец символьной ссылки и полномочия не важны. Это - полномочия конечного файла, которые имеют значение для Samba (и порождают полномочия папок).
Так как можно создать файлы на долях, полномочиях в /mnt/hdd0/shares
наверняка в порядке.
И когда Greyhole перемещают файлы в /mnt/hdd0/gh
, это воспроизведет владельца файла и полномочия исходного файла, таким образом, новый файл в /mnt/hdd0/gh/ShareName/*
будет иметь корректные полномочия.
Это оставляет папки, которые Greyhole не создал сам как возможный источник проблем. А именно, /mnt/hdd0/gh
сама папка, по крайней мере (плюс любая папка, которая уже была там для начала, если Вы не запустили с пустой папки.
Зафиксировать:
sudo find /mnt/hdd0/gh -type d -exec chmod 755 "{}" \;
sudo find /mnt/hdd0/gh -type f -exec chmod 644 "{}" \;
sudo chown -R your_user:sambashare /mnt/hdd0/gh
Если это не разрешает Вашу проблему, предоставьте больше информации об определенном файле, с которым у Вас есть проблема. Например, создайте новый файл в корне Вашей телевизионной доли и покажите вывод ls -la /mnt/hdd0/gh/TV
(по крайней мере, части о Вашем тестовом файле, и о .
и ..
).
И вынудить новые файлы и папки быть, находящимися в собственности группы sambashare
, используйте группу, липко-разрядную для папок:
sudo find /mnt/hdd0/gh -type d -exec chmod g+s "{}" \;
Это вынудит все новые файлы и папки использовать ту же группу в качестве существующих папок, и так как Вы изменили владельца группы на sambashare
выше, все новые файлы будут иметь владельца группы, которого Вы хотите.
Это очень напоминает проблему полномочий, Ваше содержание должно быть перезаписываемо пользователю самбы, не только владельцу файлов.
Я думаю, что необходимо попытаться создать ACL так, чтобы все новые файлы были бы автоматически добавлены к sambashare группе.
Этот ответ мог бы быть полезен для получения сделанного: https://stackoverflow.com/a/6550059