Вопрос о работе ФС.

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

Аватара пользователя
Samae1L
Сообщения: 301
ОС: Gentoo x86_64

Вопрос о работе ФС.

Сообщение Samae1L »

Когда я командую системе (неважно, как - через cp ли, через пункт меню в ФМ ли) скопировать файл из одного каталога в другой в пределах одного раздела, файл копируется по-настоящему или в целевом каталоге просто создаётся жёсткая ссылка? А при перемещении?

Извиняюсь, про копирование вопрос снят - файл, очевидно, копируется по-настоящему (хотя я не могу понять, зачем - достаточно ведь хардлинка). Но вопрос про перемещение остаётся в силе.
Всего лишь проекция ненужного маленького человечка, влачащая бессмысленное существование в Сети.
Спасибо сказали:
QWERTYASDF
Сообщения: 989
Статус: Чайник со свистком
ОС: GNU/Linux

Re: Вопрос о работе ФС.

Сообщение QWERTYASDF »

Я как бы совсем ламерша еще, но разве этот вопрос не решается банальными командами просмотра содержимого каталога, в которых указаны соответствующие свойства файлов?
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Вопрос о работе ФС.

Сообщение alv »

Samae1L писал(а):
28.06.2011 18:54
про копирование вопрос снят - файл, очевидно, копируется по-настоящему (хотя я не могу понять, зачем - достаточно ведь хардлинка)

Видите ли, система делает именно то, что Вы ей говорите. Она полагает, что если бы Вы хотели создать хардлинк, то дали бы команду :)
Samae1L писал(а):
28.06.2011 18:54
вопрос про перемещение остаётся в силе.

А при перемещении вообще ничего не копируется - просто файл приписывается к другому каталогу, и всё
Это описано во всех книжках про Юникс :)

QWERTYASDF писал(а):
28.06.2011 19:03
разве этот вопрос не решается банальными командами просмотра содержимого каталога

Этот вопрос решается банальным чтением любой книжки про UNIX :)
Спасибо сказали:
Аватара пользователя
Samae1L
Сообщения: 301
ОС: Gentoo x86_64

Re: Вопрос о работе ФС.

Сообщение Samae1L »

alv писал(а):
28.06.2011 19:06
Samae1L писал(а):
28.06.2011 18:54
про копирование вопрос снят - файл, очевидно, копируется по-настоящему (хотя я не могу понять, зачем - достаточно ведь хардлинка)

Видите ли, система делает именно то, что Вы ей говорите. Она полагает, что если бы Вы хотели создать хардлинк, то дали бы команду :)
Samae1L писал(а):
28.06.2011 18:54
вопрос про перемещение остаётся в силе.

А при перемещении вообще ничего не копируется - просто файл приписывается к другому каталогу, и всё
Это описано во всех книжках про Юникс :)


Чудненько, спасибо.
В качестве лирического отступления: в пределах одного тома копирование вполне можно было бы заменить созданием хардлинка. Экономия времени и ресурсов многократная.
Всего лишь проекция ненужного маленького человечка, влачащая бессмысленное существование в Сети.
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: Вопрос о работе ФС.

Сообщение shotdownsystem »

Samae1L писал(а):
28.06.2011 19:07
Чудненько, спасибо.
В качестве лирического отступления: в пределах одного тома копирование вполне можно было бы заменить созданием хардлинка. Экономия времени и ресурсов многократная.

ага, сплю и вижу: сделал я копию исходного кода и начал было менять оригинал... ))
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Вопрос о работе ФС.

Сообщение alv »

Samae1L писал(а):
28.06.2011 19:07
В качестве лирического отступления: в пределах одного тома копирование вполне можно было бы заменить созданием хардлинка. Экономия времени и ресурсов многократная.

Вы полагаете, что создатели первой файловой системы для Юникс были дураками?
Или они таки не зря придумали две разные команды?
Спасибо сказали:
Аватара пользователя
Samae1L
Сообщения: 301
ОС: Gentoo x86_64

Re: Вопрос о работе ФС.

Сообщение Samae1L »

shotdownsystem писал(а):
28.06.2011 19:14
Samae1L писал(а):
28.06.2011 19:07
Чудненько, спасибо.
В качестве лирического отступления: в пределах одного тома копирование вполне можно было бы заменить созданием хардлинка. Экономия времени и ресурсов многократная.

ага, сплю и вижу: сделал я копию исходного кода и начал было менять оригинал... ))


Дьявол! и чего это мне в голову сразу не пришло? придётся всё заново переделывать :laugh:
Всего лишь проекция ненужного маленького человечка, влачащая бессмысленное существование в Сети.
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Вопрос о работе ФС.

Сообщение alv »

shotdownsystem писал(а):
28.06.2011 19:14
сделал я копию исходного кода и начал было менять оригинал

Не обязательно быстро - можно даже медленно и печально :)
Спасибо сказали:
shotdownsystem
Сообщения: 423
ОС: Basic command interpreter

Re: Вопрос о работе ФС.

Сообщение shotdownsystem »

alv писал(а):
28.06.2011 19:17
shotdownsystem писал(а):
28.06.2011 19:14
сделал я копию исходного кода и начал было менять оригинал

Не обязательно быстро - можно даже медленно и печально :)

"начал было", а не "начал быстро". оборот такой ))
а вот что действительно необязательно, так это делать копию, для этого есть гит свн и прочее )
puts ("Working, please wait...");while(1);
Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Вопрос о работе ФС.

Сообщение alv »

shotdownsystem писал(а):
28.06.2011 19:43
а вот что действительно необязательно, так это делать копию, для этого есть гит свн и прочее )

не шутите с данными - эти шутки глупы и неприличны (с) Козьма Прутков-айтишник :)
Если, конечно, эти данные дороги хотя бы для Вас
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Вопрос о работе ФС.

Сообщение Portnov »

У команды cp есть опция -l, с которой оно вместо копирования делает хардлинки тогда, когда это возможно (при копировании обычных файлов в пределах одного раздела). Во всех остальных случаях оно копирует как обычно.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Вопрос о работе ФС.

Сообщение watashiwa_daredeska »

Portnov писал(а):
29.06.2011 07:27
Во всех остальных случаях оно копирует как обычно.
К сожалению, не во всех.

user@localhost

$ cp -l some-file /other/partition cp: cannot create link `some-file': Invalid cross-device link

Спасибо сказали:
Аватара пользователя
alv
Бывший модератор
Сообщения: 7275
Статус: Пенсионер в законе
ОС: Cintu

Re: Вопрос о работе ФС.

Сообщение alv »

watashiwa_darede... писал(а):
29.06.2011 11:27
К сожалению, не во всех.

ага, у меня тот же результат получился
2 Portnov
Тем не менее, за напоминание опции - спасибо, я о ней напрочь забыл.
Хотя ситуаций, когда действительно требовался хардлинк, тоже припоминаю - пальцев руки пересчитать хватит. А уж для копирования данных они не нужны точно. Разве что большим любителям удалять файлы неподумавши.
Спасибо сказали:
Аватара пользователя
enemysystems
Сообщения: 28
ОС: Arch Linux

Re: Вопрос о работе ФС.

Сообщение enemysystems »

Каталог - поименованная совокупность байтов на носителе информации, содержащая название подкаталогов и файлов.

Так вот, переименование и копирование не просто так выполняются одной и той же командой (mv) - это реально одно и тоже действие. Каталог - это, грубо говоря, таблица зависимости секторов и калстеров/блоков, по которым разложен файл, от человеческого адреса каждого файла. Переименование и перемещение - есть изменение адреса файла.

Ну а копирование - оно всегда копирование...
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Вопрос о работе ФС.

Сообщение drBatty »

enemysystems писал(а):
19.09.2011 21:41
Каталог - это, грубо говоря, таблица зависимости секторов и калстеров/блоков, по которым разложен файл, от человеческого адреса каждого файла. Переименование и перемещение - есть изменение адреса файла.

нет.
каталог - таблица соответствия имя -> номер инода. А адреса данных хранятся в самих инодах.
т.е. при доступе по имени приходится:
1. получить из каталога номер нужного инода
1а. или нужного подкаталога, и далее рекурсивно.
2. получить адрес инода по его номеру.
3. получить адреса данных, которые хранятся в иноде
3а. в иноде также могут хранится адреса блоков с адресами данных или адреса блоков с адресами блоков, с адресами данных. А иногда сами данные.

Переименование в пределах одной ФС == изменение полного имени.
Переименование в разных ФС == копирование+удаление.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
enemysystems
Сообщения: 28
ОС: Arch Linux

Re: Вопрос о работе ФС.

Сообщение enemysystems »

Про иноды не знал, thanx.
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Вопрос о работе ФС.

Сообщение MrClon »

В общем-то мысля топикстартера касательно копирования не лишена некоторого смысла, просто не всё так просто, copy on write (модная фича передовых ФС, например btrfs) делает нечто вроде того что описал автор (только более прозрачно и с разруливанием редактирования одной из копий).
Спасибо сказали: