Файловые системы в Linux
XFS — начало разработки 1993 год, фирма Silicon Graphics, в мае 2000 года предстала в GNU GPL, для пользователей большинства Linux систем стала доступна в 2001-2002 гг. Отличительная черта системы — прекрасная поддержка больших файлов и файловых томов, 8 эксбибайт — 1 байт (8*2 60 -1 байт) для 64-х битных систем. Ко всему прочему обладает другими немаловажными особенностями — непрерывные области дискового пространства, задержка выделения пространства и онлайн дефрагментация. Является одной из старейших журналируемых файловых систем для *nix, и содержит в себе наиболее отлаженный, в этом контексте, исходный код.
ReiserFS (Reiser3) — одна из первых журналируемых файловых систем под Linux, разработана Namesys. Имеет некоторые врождённые головные боли, но в целом неплохая система, ведущая отсчёт дней своих с 2001 года. Оговорюсь, что смысл журналируемых систем заключается в дисковых транзакциях, которые последовательно пишутся в специальную зону диска (журнал, он же лог), перед тем как данные попадают в конечные точки файловой системы. Максимальный объём тома для этой системы равен 16 тебибайт (16*2 40 байт).
JFS (Journaled File System) — файловая система, детище IBM, явившееся миру в далёком 1990 году для ОС AIX (Advanced Interactive eXecutive). В виде первого стабильного релиза, для пользователей Linux, система стала доступна в 2001 году. Из плюсов системы — неплохая масштабируемость. Из минусов — не особо активная поддержка на протяжении всего жизненного цикла. Максимальный рамер тома 32 пэбибайта (32*2 50 байт).
ext (extended filesystem) — появилась в апреле 1992 года, это была первая файловая система, изготовленная специально под нужды Linux ОС. Разработана Remy Card с целью преодолеть ограничения файловой системы Minix.
ext2 (second extended file system) — была разработана Remy Card в 1993 году. Не журналируемая файловая система, это был основной её недостаток, который исправит ext3.
ext3 (third extended filesystem) — по сути расширение исконной для Linux ext2, способное к журналированию. Разработана Стивеном Твиди (Stephen Tweedie) в 1999 году, включена в основное ядро Linux в ноябре 2001 года. На фоне других своих сослуживцев обладает более скромным размером пространства, до 4 тебибайт (4*2 40 байт) для 32-х разрядных систем. На данный момент является наиболее стабильной и поддерживаемой файловой системой в среде Linux.
Reiser4 — первая попытка создать файловую систему нового поколения для Linux. Впервые представленная в 2004 году, система включает в себя такие передовые технологии как транзакции, задержка выделения пространства, а так же встроенная возможность кодирования и сжатия данных. Ханс Рейзер (Hans Reiser), главный разработчик системы, рекламировал использовать своё детище непосредственно как БД с улучшенными метаданными. После того, как Ханс Рейзер был осуждён за убийство в 2008 году, дальнейшая судьба системы стала сомнительной.
ext4 — попытка создать 64-х битную ext3 способную поддерживать больший размер файловой системы (1 эксбибайт). Позже добавились возможности — непрерывные области дискового пространства, задержка выделения пространства, онлайн дефрагментация и прочие. Обеспечивается прямая совместимость с системой ext3 и ограниченная обратная совместимость при недоступной способности к непрерывным областям дискового пространства.
UPD: Btrfs (B-tree FS или Butter FS) — проект изначально начатый компанией Oracle, впоследствии поддержанный большинством Linux систем. Многие считаеют систему эдаким ответом на ZFS. Ключевыми особенностями данной файловой системы являются технологии: copy-on-write, позволяющая сделать снимки областей диска (снапшоты), которые могут пригодится для последующего восстановления; контроль за целостностью данных и метаданных (с повышенной гарантией целостности); сжатие данных; оптимизированный режим для накопителей SSD (задаётся при монтировании) и прочие. Немаловажным фактором является возможность перехода с ext3 на Btrfs. С августа 2008 года данная система выпускается под GNU GPL.
Tux2 — известная, но так и не анонсированная публично файловая система. Создатель Дэниэл Филипс (Daniel Phillips), система базируется на алгоритме «Фазового Дерева», который как и журналирование защищает файловую систему от сбоев. Организована как надстройка на ext2.
Tux3 — наступая на пятки Btrfs, представлена новая файловая система. Система создана на основе FUSE (Filesystem in Userspace), специального модуля для создания файловых систем на *nix платформах. Данный проект ставит перед собой цель избавиться от привычного журналирования, взамен предлагая версионное восстановление (состояние в определённый промежуток времени). Преимуществом используемой в данном случае версионной системы, является способ описания изменений, где для каждого файла создаётся изменённая копия, а не переписывается текущая версия. Такой подход позволяет более гибко управлять версиями.
UPD: Xiafs — задумка и разработка данной файловой системы принадлежат Frank Xia, основана на файловой системе MINIX. В настоящее время считается устаревшей и практически не используется. Наряду с ext2 разрабатывалась, как замена системе ext. В декабре 1993 года система была добавлена в стандартное ядро Linux. И хотя система обладала большей стабильностью и занимала меньше дискового пространства под контрольные структуры — она оказалась слабее ext2, ведущую роль сыграли ограничения максимальных размеров файла и раздела, а так же способность к дальнейшему расширению.
UPD: ZFS (Zettabyte File System) — изначально созданная в Sun Microsystems файловая система, для небезызвестной операционной системы Solaris в 2005 году. Отличительные особенности — отсутствие фрагментации данных как таковой, возможности по управлению снапшотами (snapshots), пулами хранения (storage pools), варьируемый размер блоков, 64-х разрядный механизм контрольных сумм, а так же способность адресовать 128 бит информации! В Linux системах может использоваться посредствам FUSE.
38. Что такое файловая система на основе журнала? Чем она отличается от классической файловой системы, какие у нее есть преимущества и недостатки, основные проблемы и особенности реализации?
Более систематический подход к поддержанию целостности и отслеживанию состояний файлов предпринят в файловых системах с журналом транзакций (log structured filesystems). Файловые системы с журналом фиксируют любое изменение в файловой системе как транзакцию (по аналогии с системами управления базами данных и современными web-сервисами). Все транзакции записываются в журнал. Транзакция считается одобренной (committed), если она записана в журнал. Однако файловая система может быть в этот момент еще не обновлена. Транзакции из журнала асинхронно выполняются над файловой системой. Когда файловая система модифицируется, транзакция удаляется из журнала. Если имеет место сбой файловой системы, то все оставшиеся транзакции из журнала, тем не менее, должны быть выполнены. Выводы: Файловая система с журналом транзакций (log structured filesystem) — файловая система, фиксирующая любое изменение как транзакцию; все транзакции записываются в журнал. Файловые системы с журналом транзакций обеспечивают повышенную надежность обработки файлов. Журналируемая файловая система — файловая система (ФС), в которой осуществляется ведение журнала, хранящего список изменений и, в той или иной степени, помогающего сохранить целостность файловой системы при сбоях.Журналируемая файловая система сохраняет список изменений, которые она будет проводить с файловой системой, перед фактическим их осуществлением. Эти записи хранятся в отдельной части файловой системы, называемой журналом (англ. journal) или логом (англ. log). Как только изменения файловой системы внесены в журнал, она применяет эти изменения к файлам или метаданным, а затем удаляет эти записи из журнала. Записи журнала организованы в наборы связанных изменений файловой системы. При перезагрузке компьютера программа монтирования может гарантировать целостность журналируемой файловой системы простой проверкой лог-файла на наличие ожидаемых, но не произведённых изменений и последующей записью их в файловую систему. То есть, при наличии журнала в большинстве случаев системе не нужно проводить проверку целостности файловой системы. Соответственно, шансы потери данных в связи с проблемами в файловой системе значительно снижаются. По типу внесения в журнал журналируемые ФС подразделяются на: * в режиме обратной связи (журналируются только метаданные): XFS, ext3fs; * упорядоченные (журналируются только метаданные синхронно относительно данных): JFS2, ext3fs (по умолчанию), ReiserFS (основной); * в режиме данных (журналируются как метаданные, так и данные): ext3fs; Главное отличие в технике транзакций, применяемой в базах данных, от аналогичной техники, применяемой в журналируемых файловых системах, состоит в том, что в базах данных сохраняются в протоколе как сами изменяемые данные, так и вся управляющая информация, в то время как понятие транзакции в файловых системах подразумевает сохранение только мета-данных: индексных дескрипторов изменяемого файла, битовых карт распределения свободных блоков и свободных индексных дескрипторов. Дело в том, что если сохранять все изменяемые данные, то теряется смысл кэширования записи на диск и уменьшается скорость дисковых операций. Мета-данные же, во-первых, меньше по размеру, а, во-вторых, сохраняются в специально выделенной области диска, что позволяет избежать чрезмерных затрат времени на ведение протокола.
12.05.2015 6.85 Mб 8 Data_Mining_(Redko-Rudnytskyi).pdf
04.09.2019 7.33 Mб 18 default.doc
06.09.2019 212.99 Кб 4 default.doc
28.09.2019 248.83 Кб 13 default.doc
12.05.2015 1.6 Mб 25 Delfin_afalina.docx
17.04.2019 3.22 Mб 11 Demkin_otvety_New.doc
12.05.2015 2.28 Mб 14 denbnovetsky.pdf
17.03.2016 13.25 Mб 142 Design Patterns via C#.pdf
14.11.2018 78.26 Кб 3 Detali_mashin_Vitok_2_chastina_vrodi_vse.docx
23.11.2019 1.09 Mб 5 Diane Setterfield.doc
17.11.2019 926.21 Кб 2 difrak3-3.doc
Ограничение
Для продолжения скачивания необходимо пройти капчу:
Файловые системы
Какую файловую систему ставить на новые сервера? Ответ: ext4 (ext4fs) — журналируемая файловая система в дальнейшем возможна миграция на Btrfs.
Виртуальные ФС
ProcFS файловая система для процессов (/proc) — виртуальная файловая система.
/dev: файловая система для устройств — файловая система для устройств.
Файловые системы Linux/BSD
ext (extended filesystem) — появилась в апреле 1992 года, это была первая файловая система, изготовленная специально под нужды Linux ОС. Разработана Remy Card с целью преодолеть ограничения файловой системы Minix.
ext2 (second extended file system) — была разработана Remy Card в 1993 году. Не журналируемая файловая система, это был основной её недостаток, который исправит ext3.
ext3 (third extended filesystem) — по сути расширение исконной для Linux ext2. Журналируемая файловая система. Максимальный размер файловой системы Ext3 равен 16 терабайтам, а размер файла ограничен 2 терабайтами.
ext4 (ext4fs) — журналируемая файловая система (Fourth Extended File System четвёртая версия расширенной файловой системы), сокр. ext4, или ext4fs
ReiserFS (Reiser3) — одна из первых журналируемых файловых систем под Linux, разработана Namesys. Имеет некоторые врождённые головные боли, но в целом неплохая система, ведущая отсчёт дней своих с 2001 года. Оговорюсь, что смысл журналируемых систем заключается в дисковых транзакциях, которые последовательно пишутся в специальную зону диска (журнал, он же лог), перед тем как данные попадают в конечные точки файловой системы. Максимальный объём тома для этой системы равен 16 тебибайт (16*240 байт).
JFS (Journaled File System) — файловая система, детище IBM, явившееся миру в далёком 1990 году для ОС AIX (Advanced Interactive eXecutive). В виде первого стабильного релиза, для пользователей Linux, система стала доступна в 2001 году. Из плюсов системы — неплохая масштабируемость. Из минусов — не особо активная поддержка на протяжении всего жизненного цикла. Максимальный рамер тома 32 пэбибайта (32*250 байт).
Reiser4 — первая попытка создать файловую систему нового поколения для Linux. Впервые представленная в 2004 году, система включает в себя такие передовые технологии как транзакции, задержка выделения пространства, а так же встроенная возможность кодирования и сжатия данных. Ханс Рейзер (Hans Reiser), главный разработчик системы, рекламировал использовать своё детище непосредственно как БД с улучшенными метаданными. После того, как Ханс Рейзер был осуждён за убийство в 2008 году, дальнейшая судьба системы стала сомнительной.
Файловая система в РЕД ОС
Файл — это поименованная область памяти. Если память «долгосрочная» и информация в ней хранится на дисковых или подобных им носителях (например, USB-накопители), то поименованными областями являются имеющиеся на них файлы.
Упрощённо можно сказать, что совокупность файлов, структурированная в соответствии с унифицированными требованиями на физическом носителе, представляет собой файловую систему (ФС). Файловая система определяет порядок/способ хранения данных на носителях, допустимый размер имён файлов и каталогов, формат, количество и объём метаданных.
Метаданные — это дополнительная информация о файле, то, что в повседневном использовании называется «свойства файла».
На нашем Youtube-канале вы можете подробнее ознакомиться с поддерживаемыми файловыми системами в РЕД ОС, просмотрев видео Файловая система в РЕД ОС, а также найти много другой полезной информации.
Журналируемые и нежурналируемые файловые системы
Файловые системы можно классифицировать по различным признакам, далее будет рассмотрен вариант классификации на журналируемые и нежурналируемые файловые системы.
К журналируемым файловым системам относятся те, которые сохраняют список изменений, осуществляемых с файловой системой, перед фактическим их применением. Такие записи хранятся в отдельной части файловой системы, называемой журналом. Как только изменения файловой системы внесены в журнал, она применяет изменения к файлам или метаданным, а затем удаляет эти записи из журнала.
К нежурналируемым файловым системам относятся ext2 и FAT (FAT12, FAT16, FAT32). Ядро ОС их также поддерживает.
При перезагрузке компьютера программа монтирования может гарантировать целостность журналируемой файловой системы простой проверкой журнала на наличие ожидаемых, но не произведённых изменений и последующей записью их в файловую систему. Т.е. при наличии журнала в большинстве случаев системе не нужно проводить проверку целостности файловой системы. Соответственно, шансы потери данных в связи с проблемами в файловой системе значительно снижаются.
Для рабочих станций в РЕД ОС используется журналируемая файловая система ext4 — логическое продолжение ext3, которая является журналируемым вариантом системы ext2 — «материнской» файловой системы Linux.
В зависимости от указанных администратором настроек файловая система ext4 может работать в любом из трёх известных для журналируемых систем режиме:
- в режиме обратной связи — журналируются только метаданные;
- упорядочивание — журналируются только метаданные синхронно относительно данных;
- в режиме данных — журналируются как метаданные, так и данные.
Для серверного варианта РЕД ОС рекомендуется использовать файловую систему XFS, которая также является журналируемой.
Обе файловые системы — ext4 и XFS — являются не только журналируемыми, но и:
- поддерживают большие объёмы дисковых накопителей (до 2 60 байт);
- поддерживают файлы большого размера (до 2 44 байт);
- используют механизм пространственной записи файлов, уменьшающий фрагментацию и повышающий производительность. Суть механизма заключается в том, что новая информация добавляется в конец области диска, выделенной заранее рядом с областью, занятой содержимым файла.
Важными отличиями представленных файловых систем является то, что XFS:
- может производить дефргаментацию «на лету»;
- имеет API ввода-вывода реального времени (для приложений жёсткого или мягкого реального времени, например, для работы с потоковым видео);
- имеет малые «накладные расходы» — размер служебных структур данных.
Ext4 в отличие от XFS менее агрессивно использует оперативную память при работе с файлами на носителе, поэтому её оптимально применять на вычислительных системах с небольшим объёмом ОЗУ.
При выборе файловой системы при создании/форматировании раздела рекомендуется определить, для чего будет использоваться этот раздел. Также следует обратить внимание на параметры процессора и оперативной памяти компьютера, и на основании этого принимать решение о необходимости выбора той или иной ФС.
РЕД ОС поддерживает и другие файловые системы, такие как FAT, NTFS, а также ISO-9660 для оптических накопителей, сетевые файловые системы.
Файлы
У всех файловых систем в РЕД ОС есть одно принципиальное отличие от файловых систем Windows — имена файлов регистрозависимы, т.е «заявление.odt», «Заявление.odt» и «ЗАЯВЛЕНИЕ.odt» — это три разных файла. Необходимо обращать на это внимание, если вы только начинаете миграцию на РЕД ОС с других операционных систем. Особенно следует быть внимательными, когда такие файлы копируются на USB-накопитель — FAT и NTFS не разборчивы в символах, поэтому при выполнении данной операции возникнет ошибка.
Другим принципиальным отличием файловых систем Linux от файловых систем Windows является разделитель в именах каталогов — в РЕД ОС им служит «слэш» (или «прямой слэш») — «/», а в Windows применяется «обратный слэш» — «\». Например:
- /var/log/boot.log — путь к файлу в РЕД ОС;
- C:\Windows\System32\example.exe — путь к файлу в Windows.
В РЕД ОС (как и вообще в Linux) нет как такового понятия «расширение файла», поскольку точки интерпретируются как часть названия, а не как разделитель. Но прикладные программы и файловые менеджеры анализируют имя файла после последней точки и могут выполнять определённые действия над файлами с теми или иными «окончаниями» (например, двойной клик по файлу с окончанием .odt в файловом менеджере приведёт к запуску LibreOffice и открытию файла в нём).
Существует еще одно отличие в организации файловых систем — чтобы в РЕД ОС сделать файл скрытым — надо первым символом его имени указать символ точки «.». «Скрытость» файла в РЕД ОС — не метаданные, а непосредственное имя файла, т. е. для того чтобы сделать файл скрытым, его нужно переименовать, поставив первым символом имени «.»
Устройства
Следует особенно отметить, что в Unix-подобных операционных системах существует парадигма, относящаяся к идеологии UNIX, называемой UNIX-Way. Формулируется она как «Всё — есть файл». То есть всё, до чего «дотягивается» операционная система, можно представить в виде файла, будь то клавиатура, монитор, процессор, веб-камера и т. д.
То, что обычно считается файлом (текст или бинарный файл) называется простым (или регулярным) файлом, а файлы, связанные с каким-либо оборудованием (включая виртуальное) — файлом устройства. Например:
- /dev/sda — файл первого «жесткого» диска;
- /dev/sda1 — файл устройства раздела на первом «жестком» диске;
- /dev/dvd — файл привода DVD;
- /dev/lp0 — файл первого (по подключению) печатающего устройства (принтера).
В свою очередь, файлы устройств бывают двух типов — блочные и символьные. Обмен информации с блочными устройствами, например, с «жёстким» диском, осуществляется блоками информации, а с символьными — отдельными символами. Примеры символьных устройств: последовательный порт, клавиатура. С символьными файлами можно работать так же, как и с регулярными файлами, т.е. с помощью тех же утилит.
Также не стоит забывать и про каталоги — это специализированные файлы, которые содержат в себе список других файлов.
Файловая система РЕД ОС (как и у любого Linux), в отличие от операционных систем семейства Windows, не разделена по томам (дискам, устройствам), а имеет единую древовидную структуру. Корневой каталог — это уровень файловой системы, выше которого по дереву каталогов подняться невозможно. В РЕД ОС корневой каталог обозначается как «/».
Монтирование устройств
Для подключения любого устройства к файловой системе — монтирования — используется так называемая точка монтирования — каталог, все вложенные уровни которого являются файловой системой на устройстве-носителе. Например, если подключить флэш-носитель к USB-порту, РЕД ОС автоматически смонтирует устройство в каталог /var/run//media, и все папки и файлы, находящиеся после монтирования в данном каталоге, на самом деле будут располагаться на флэш-накопителе. Для монтирования файловых ресурсов и внешних устройств используется утилита mount. Общий синтаксис команды имеет следующий вид:
mount -t
Каталоги файловой системы РЕД ОС
У структуры файловой системы РЕД ОС есть ещё одна особенность: пользователям выделяется в ней домашний каталог — специальная папка, необходимая для хранения пользовательских данных. При входе пользователя в систему, он сразу оказывается в своём домашнем каталоге. Обычно права доступа к домашней папке устанавливаются таким образом, что доступ к ней имеют только пользователь и администратор (root). В других папках системы пользователю, как правило, разрешен только просмотр содержимого.
Файловая система РЕД ОС содержит следующие каталоги:
- / — корневой каталог;
- /bin — каталог основных исполняемых файлов, необходимых для функционирования системы;
- /boot — каталог загрузчика, содержит образы ядра и Initrd, может содержать конфигурационные и вспомогательные файлы загрузчика;
- /dev — содержит файлы устройств;
- /etc — конфигурационные файлы системы и основные файлы настроек системных приложений;
- /home — папка для домашних каталогов пользователей;
- /lib — содержит основные библиотеки и модули, необходимые для работы системы;
- /lib64 — то же, что и /lib, для 64-битных систем;
- /media — обычно используется для вручную смонтированных «внешних» носителей;
- /mnt — обычно содержит точки монтирования сетевых и файловых ресурсов (смонтированных ISO-файлов);
- /opt — альтернатива /usr для проприетарного ПО или ПО, не входящего в основной дистрибутив;
- /ргос — содержит виртуальную файловую систему proc, создаваемую «на лету», а также общую информацию о системе и о каждом процессе;
- /root — каталог администратора (суперпользователя) root;
- /run – каталог для хранения данных, которые были запущены приложениями, требующимися в процессе работы (к ним относятся службы, запускаемые самой системой, и программы, которые запускаются пользователем вручную). Каталог также представляет собой смонтированную виртуальную ФС, чтобы при выключении/перезагрузке ПК вся текущая информация в данном каталоге (информация является временной) удалялась и не занимала пространство на диске;
- /sbin — каталог системных утилит, выполнять которые имеет право пользователь root;
- /srv – содержит файлы серверов и сервисов. Например, могут содержаться файлы веб-сервера apache.
- /sys — содержит виртуальную файловую систему, а также подробную информацию о процессах;
- /tmp — каталог для временных файлов;
- /usr — программы, библиотеки, документация пользовательских приложений, также может содержать исходные коды программ и ядра;
- /var— постоянно изменяющиеся данные системы, например, очереди системы печати, протоколы и т. д.
Основные команды для работы с файлами и файловой системой
Навигация
Для навигации по содержимому файловой системы используются следующие команды:
- ls — вывод содержимого текущей или явно указанной папки;
- pwd — вывод полного имени текущего каталога;
- cd — изменение текущего каталога на указанный. Если аргумент не указан или указан как «~», то смена происходит на домашний каталог текущего пользователя. Аргумент «..» меняет каталог на вышестоящий в иерархии дерева каталогов;
- pushd , popd — команды работают в связке. Команда pushd изменяет каталог на указанный, история запоминается в стек и потом может быть использована для быстрой обратной навигации с помощью команды popd.
Операции с файлами
Для операций с файлами используются следующие команды:
- touch — создание пустого файла.
- cat — вывод текстового файла на экран.
- tac — вывод содержимого текстового файла в обратном порядке, т. е. сначала выводится последняя строка файла, потом предпоследняя и т. д.
- ср — копирование файла в . Если существует, программа спросит разрешение на перезапись.
- mv — перемещение файла в . Эту же команду можно использовать для переименования файла.
- rm — удаление файла (с ключом -i выводит запрос на разрешение удаления, ключ -f подавляет все запросы).
- locate — быстрый поиск файла.
- which — вывод каталога, в котором находится программа, если она установлена. Поиск производится в каталогах, указанных в переменной окружения path (путь поиска программ).
- less — удобный просмотр файла с возможностью постраничной прокрутки с использованием клавиш навигации.
Операции с каталогами
Для операций с каталогами используются следующие команды:
- mkdir — создание каталога;
- rmdir — удаление пустого каталога;
- rm -r — рекурсивное удаление каталога;
- cp -r — копирование в каталог с именем , причём должен быть пустым. Если каталог требуется скопировать со всем содержимым, то необходимо указать ключ -r;
- mv — переименование каталогов. Для переноса каталога с именем в каталог с именем необходимо указать ключ -r.
Мягкие и жесткие ссылки
В РЕД ОС имеются также дополнительные файлы и называются они ссылками. Ссылки бывают двух типов — «мягкие» ссылки (softlink) и «жёсткие» ссылки (hardlink). «Мягкие» ссылки являются указателями на имеющиеся файлы и каталоги. «Жёсткие» ссылки являются ещё одним именем файла.
Создаются ссылки с помощью утилиты ln. Для создания «мягких» ссылок необходимо передавать команде ключ -s.
Общий синтаксис команды имеет следующий вид:
ln [ -s ]
Примеры создания ссылок
Мягкие ссылки
cd ~ mkdir FirstDir ls FirstDir test-ca.conf Видео Документы Загрузки Изображения Музыка Общедоступные 'Рабочий стол' Шаблоны ln -s FirstDir SecondDir ls FirstDir SecondDir test-ca.conf Видео Документы Загрузки Изображения Музыка Общедоступные 'Рабочий стол' Шаблоны cd SecondDir touch file1.txt ls ~/FirstDir file1.txt
При создании пустого файла в каталоге SecondDir на самом деле действие производится в каталоге FirstDir, что подтверждает последний листинг.
Если удалить исходный файл или каталог, на который ссылается «мягкая» ссылка, то она становится недействительной, т.е. как файл она продолжит существовать, но уже ни на что указывать не будет, и операции с ней (просмотр и т.д.) будут завершаться с ошибкой.
cd ~ rm -rf ~/FirstDir ls SecondDir test-ca.conf Видео Документы Загрузки Изображения Музыка Общедоступные 'Рабочий стол' Шаблоны
Жёсткие ссылки
В примере будет создан текстовый файл путём пернаправления в него вывода строки и жёсткая ссылка на него:
cd ~ echo "One small test…" > File1.txt ls File1.txt test-ca.conf Видео Документы Загрузки Изображения Музыка Общедоступные 'Рабочий стол' Шаблоныln File1.txt File2.txt
Затем будут внесены изменения в файл File2.txt и просмотрено содержимое файла File1.txt:
echo "Second string…" >> File2.txt cat File1.txt One small test… Second string… cat File2.txt One small test… Second string…
Файлы содержат одну и ту же информацию, поскольку указывают на одну и ту же область памяти на диске. После удаления первого файла область информации на диске остаётся, поскольку остаётся «жёсткая» ссылка, которая становится единственным именем данного файла:
rm -f File1.txt ls File2.txt test-ca.conf Видео Документы Загрузки Изображения Музыка Общедоступные 'Рабочий стол' Шаблоны cat File2.txt One small test… Second string…
Дата последнего изменения: 13.10.2023
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.