> For the complete documentation index, see [llms.txt](https://evgenii-afanasev.gitbook.io/ruby-course/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://evgenii-afanasev.gitbook.io/ruby-course/6_file_system.md).

# Работа с файловой системой

До этого момента вся наша программа работала в основном без какого-либо взаимодействия с внешним миром. Мы создавали объекты, меняли их, что-то высчитывали. Но на практике большинство современных программ состоят из целого ряда IO операций.

## Что такое IO ?

IO дословно расшифровывается как `Input Output`, что переводится как `Ввод выход` и в реальности это самая точная формулировка. IO называют любое поведение программы, которое затрагивает внешний мир. Что можешь включать в себя IO:

* Ввод пользовательского ввода в консоль и вывод информации в нее
* Чтение, изменение, удаление, создание файлов в файловой системе
* Сетевое взаимодествие

Для того, чтобы отличить IO операциб от не IO достаточно подумать затрагиваете ли вы компоненты, которые находятся за пределами вашей программы.

В этом модуле мы подробнее остановимся на IO операциях связанных с файловой системой.
