Каталоги Linux
Структура каталогов Linux отличается от той, которую привык видеть пользователь Windows. В Linux на самом верхнем уровне файловой иерархии находятся не физические и логические диски, а один единственный корневой каталог, обозначаемый косой чертой – / (слэшем).
Каждый последующий вложенный каталог отделяется от родительского также слэшем. Путь заканчивается либо каталогом, либо файлом. Например, /boot/grab или /home/pl/test.txt . Второй путь указывает, что в корневом каталоге есть папка home , в ней находится каталог pl , в котором имеется файл test.txt .
Файловая структура (перечень системных директорий) Linux стандартизирована. Стандартом является FHS, который соблюдается большинством Unix-подобных операционных систем. FHS – аббревиатура от Filesystem Hierarchy Standard – стандарт иерархии файловой системы.
Обычно дистрибутивы Linux следуют стандарту FHS, однако могут иметь незначительные отличия друг от друга. В общей сложности структура каталогов разных дистрибутивов схожа. Ниже будет дано описание назначения большинства системных каталогов, расположенных на верхнем уровне вложенности, т. е. непосредственно в корневом.
Если в файловом менеджере вашего дистрибутива нет закладки на корневой каталог (она может называться, например, Файловая структура или Компьютер ), нажмите Ctrl + L . Адресная строка превратиться в текстовое поле, в котором надо ввести косую черту / .

На скриншоте показана файловая структура верхнего уровня Ubuntu 22.04.
В /home находятся каталоги пользователей. Поскольку Linux многопользовательская операционная система, то количество вложенных сюда директорий соответствует количеству зарегистрированных в системе пользователей. Если в системе только один пользователь, то там будет только один подкаталог.
Например, в системе зарегистрированы пользователи pety и vasy . Тогда в /home будет два подкаталога: pety и vasy . В директории /home/pety будут все папки и файлы Пети, а в /home/vasy – все папки и файлы Васи. По умолчанию у Пети нет прав на посещение файловой структуры Васи. Как и наоборот.
Кроме обычных пользователей, в Linux есть системный администратор (root). Он обладает безграничными правами, поэтому под этим пользователем обычно не работают, а только выполняют команды, которые требуют наличия прав администратора. Однако для личных файлов root’а предусмотрена директория /root . Войти в нее может только сам администратор.
Если на компьютере есть логические и физические жесткие диски, которые не были задействованы под систему, а также подключаются флэшки, внешние диски, смартфоны, то в момент монтирования для каждого из них создается каталог, так называемая точка монтирования. Через этот каталог происходит доступ к файловой структуре устройства, а размещается он либо в /media , либо в /mnt .
В каталог /media монтируются сменные носители и автоматически подключаемые во время загрузки физические устройства. Каталог /mnt предназначен для временно монтируемых файловых систем. Например, вы сами с помощью команды подключаете тот или иной диск.
С другой стороны, работая в графическом режиме GNU/Linux, заходить в эти каталоги незачем, чтобы найти папку-точку монтирования устройства. В современных версиях дистрибутивов при подключении устройства в графическом интерфейсе появляется соответствующий значок-ссылка.
Каталог /boot содержит файл ядра Linux, загрузчик операционной системы и ряд конфигурационных файлов. В большинстве дистрибутивов загрузчиком является GRUB. При установке дистрибутива под /boot можно выделить отдельный раздел диска.

В каталоге /etc содержатся конфигурационные файлы системных программ.

Файлы, представляющие различные устройства, находятся в директории /dev . Причем здесь находятся файлы как реальных и виртуальных устройств, так и не существующих, но которые могли бы быть.
В папке /bin содержатся различные системные утилиты-программы, многие из которых выполняются через командную оболочку Bash. Некоторые запускаются при старте системы. Программы в /bin доступны всем пользователям.

В /sbin находятся системные программы, предназначенные для настройки и администрирования операционной системы. Эти программы может запускать только администратор системы.
Директория /lib содержит библиотеки, совместно используемые программами из /bin и /sbin . Также здесь находятся драйверы устройств (модули, подключаемые к ядру Linux).
Структура /usr во многом повторяет структуру корневого каталога. Сюда устанавливаются пользовательские (user) программы дистрибутива. Так в /usr/bin содержится большинство программ, в /usr/include – заголовочные файлы, в /usr/lib – библиотеки для программ, размещенных в usr.

Директория /opt предназначена для программ, которые устанавливает сам пользователь, то есть для приложений, не входящих в состав конкретного дистрибутива.
В /tmp хранятся временные файлы, которые могут появляться в процессе выполнения разных программ. При выключении компьютера файлы отсюда обычно автоматически удаляются.
Каталог /var содержит файлы с изменяемыми данными. Здесь сохраняются конфигурационные параметры ряда программ, также временные файлы, кэши, логи и др.
Каталоги /sys , /proc , /run можно назвать системными. Для понимания их назначения требуются знания принципов работы операционной системы.
Курс с ответами к заданиям и дополнительными уроками в PDF
X Скрыть Наверх
Введение в Linux и Bash. Курс
Какие каталоги существуют по умолчанию
Класс File, определенный в пакете java.io, не работает напрямую с потоками. Его задачей является управление информацией о файлах и каталогах. Хотя на уровне операционной системы файлы и каталоги отличаются, но в Java они описываются одним классом File.
В зависимости от того, что должен представлять объект File — файл или каталог, мы можем использовать один из конструкторов для создания объекта:
File(String путь_к_каталогу) File(String путь_к_каталогу, String имя_файла) File(File каталог, String имя_файла)
// создаем объект File для каталога File dir1 = new File("C://SomeDir"); // создаем объекты для файлов, которые находятся в каталоге File file1 = new File("C://SomeDir", "Hello.txt"); File file2 = new File(dir1, "Hello2.txt");
Класс File имеет ряд методов, которые позволяют управлять файлами и каталогами. Рассмотрим некоторые из них:
- boolean createNewFile() : создает новый файл по пути, который передан в конструктор. В случае удачного создания возвращает true, иначе false
- boolean delete() : удаляет каталог или файл по пути, который передан в конструктор. При удачном удалении возвращает true.
- boolean exists() : проверяет, существует ли по указанному в конструкторе пути файл или каталог. И если файл или каталог существует, то возвращает true, иначе возвращает false
- String getAbsolutePath() : возвращает абсолютный путь для пути, переданного в конструктор объекта
- String getName() : возвращает краткое имя файла или каталога
- String getParent() : возвращает имя родительского каталога
- boolean isDirectory() : возвращает значение true, если по указанному пути располагается каталог
- boolean isFile() : возвращает значение true, если по указанному пути находится файл
- boolean isHidden() : возвращает значение true, если каталог или файл являются скрытыми
- long length() : возвращает размер файла в байтах
- long lastModified() : возвращает время последнего изменения файла или каталога. Значение представляет количество миллисекунд, прошедших с начала эпохи Unix
- String[] list() : возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге
- File[] listFiles() : возвращает массив файлов и подкаталогов, которые находятся в определенном каталоге
- boolean mkdir() : создает новый каталог и при удачном создании возвращает значение true
- boolean renameTo(File dest) : переименовывает файл или каталог
Работа с каталогами
Если объект File представляет каталог, то его метод isDirectory() возвращает true . И поэтому мы можем получить его содержимое — вложенные подкаталоги и файлы с помощью методов list() и listFiles() . Получим все подкаталоги и файлы в определенном каталоге:
import java.io.File; public class Program < public static void main(String[] args) < // определяем объект для каталога File dir = new File("C://SomeDir"); // если объект представляет каталог if(dir.isDirectory()) < // получаем все вложенные объекты в каталоге for(File item : dir.listFiles())< if(item.isDirectory())< System.out.println(item.getName() + " \t folder"); >else < System.out.println(item.getName() + "\t file"); >> > > >
Теперь выполним еще ряд операций с каталогами, как удаление, переименование и создание:
import java.io.File; public class Program < public static void main(String[] args) < // определяем объект для каталога File dir = new File("C://SomeDir//NewDir"); boolean created = dir.mkdir(); if(created) System.out.println("Folder has been created"); // переименуем каталог File newDir = new File("C://SomeDir//NewDirRenamed"); dir.renameTo(newDir); // удалим каталог boolean deleted = newDir.delete(); if(deleted) System.out.println("Folder has been deleted"); >>
Работа с файлами
Работа с файлами аналогична работе с каталога. Например, получим данные по одному из файлов и создадим еще один файл:
import java.io.File; import java.io.IOException; public class Program < public static void main(String[] args) < // определяем объект для каталога File myFile = new File("C://SomeDir//notes.txt"); System.out.println("File name: " + myFile.getName()); System.out.println("Parent folder: " + myFile.getParent()); if(myFile.exists()) System.out.println("File exists"); else System.out.println("File not found"); System.out.println("File size: " + myFile.length()); if(myFile.canRead()) System.out.println("File can be read"); else System.out.println("File can not be read"); if(myFile.canWrite()) System.out.println("File can be written"); else System.out.println("File can not be written"); // создадим новый файл File newFile = new File("C://SomeDir//MyFile"); try < boolean created = newFile.createNewFile(); if(created) System.out.println("File has been created"); >catch(IOException ex) < System.out.println(ex.getMessage()); >> >
При создании нового файла метод createNewFile() в случае неудачи выбрасывает исключение IOException , поэтому нам надо его отлавливать, например, в блоке try. catch, как делается в примере выше.
Каталог по умолчанию
Подскажите, как можно изменить каталог по умолчанию для диалогов
Файл->Открыть. Файл->Сохранить как. .
CheshirskyCat
читатель
Дата регистрации: 09.01.2004
Сообщений: 326
07.12.2004 09:13
Если для обычных действий при открытии каких-то файлов через меню программы Файл->Открыть и т.д. то наверное никак. Это особенно касается операционных систем Windows 2000-XP. К сожалению у них обычно запоминается последний каталог, который использовался при открытии или сохранении файла.
А при вызове из программного модуля есть функции ВыбратьФайл, ВыбратьКаталог у них есть параметр для указания начальной папки. В Синтаксис-Помощнике все про них расписано.
читатель
Дата регистрации: 07.12.2004
Сообщений: 6
07.12.2004 09:19
Надо именно через меню программы Файл->Сохранить как.
Пользователи сохраняют табличные формы куда попало и весьма проблематично их потом разыскивать.
Может можно средствами Windows подменить этот самый последний каталог .
CheshirskyCat
читатель
Дата регистрации: 09.01.2004
Сообщений: 326
07.12.2004 10:03
![]()
Я пытался это как то побороть, у меня не получилось. Видимо в 2000/XP используется общий диалог выбора места сохранения файла и этот диалог запоминает последний путь только когда файл действительно сохранен или выбран, то есть нажата кнопка Ок в диалоге. Причем выбор может быть сделан необязательно в 1С. Например в Excel сохранили файл в какую нибудь папку. А потом из 1С эта папка уже используется как начальная .
Файлы, каталоги и папки в Linux. Структура файловой системы
В операционной системе Linux файловая система отличается организованной структурой. Если вы только перешли с Windows, вы можете столкнуться с некоторыми затруднениями, во многом из-за отсутствия чёткого понимания о принадлежности каждой директории. В данной статье будет рассмотрена структура файловой системы, в результате чего смысл применения большинства папок в Linux директории (directory) станет вам ясен.
В первую очередь, обратите внимание на следующую таблицу ниже:

Теперь следует разобрать всё более подробно.
/ — корень
Главный каталог в системе. Здесь нет дисков, как в Виндовс. По большему счёту, это и есть файловая система Линукс. Адреса всех существующих файлов начинаются с корневой директории Linux, а дополнительные разделы подключаются к папкам корневого каталога.
Читать или менять содержимое в данном каталоге может лишь root-пользователь (user). Домашний каталог пользователя root — /root.
/bin — бинарные файлы пользователя
Содержит файлы исполняемого типа. Программы, с которыми можно работать в однопользовательском режиме и прочие утилиты, которые применяются, пока не подключён каталог /usr/.
/sbin — системные исполняемые файлы
Во-первых, как и в случае с /bin, содержатся исполняемые файлы, доступные на ранних этапах загрузки. Во-вторых, тут располагаются программы, выполняемые с правами суперпользователя, те же утилиты обслуживания и пр.
/etc
В этой папке Linux расположены конфигурационные файлы всех программ, которые установлены в системе. Также есть скрипты для запуска демонов, автозагрузки программ и т. п. Главное, что следует запомнить, — речь идёт о файлах по настройке и конфигурации.
/dev — файлы устройств
Как вы знаете, в операционной системе Linux «всё есть файл». И различные внешние устройства тоже. В результате, любые подключённые микрофоны, клавиатуры, флешки и т. п. — это лишь файлы, которые находятся в каталоге /dev.
/proc — информация о процессах
Подсистема, которая динамически создаётся ядром. Содержит всю информацию о процессах, которые запущены в реальном времени. Тут можно найти данные об использовании системных ресурсов и получить другую информацию о системе.
/var — переменные файлы
Речь идёт о файлах, которые часто меняются — это базы данных, кеши, системные журналы и пр. Следует подробнее рассмотреть каталог Linux из папки /var/: • /var/log — файлы логов; • /var/lib — базы данных; • /var/lock — файлы блокировок; • /var/mail — почта; • /var/spool — принтер, печать; • /var/run — pid процессов.
/tmp
В данном каталоге располагаются временные файлы, которые созданы пользователями (users), программами или системой. Любой пользователь имеет права записи в данную директорию. При перезагрузке компьютера они удаляются.
/usr — программы пользователя
Этот каталог является самым большим и имеет много функций. Вкратце рассмотрим его структуру: • /usr/bin/ — исполняемые файлы (графические редакторы, браузеры, плееры — не используются при загрузке системы); • /usr/sbin/ — бинарные файлы программ, предназначенных для системного администрирования (выполняются с правами суперпользователя); • /usr/lib/ — библиотеки для программ из /usr/sbin либо /usr/bin; • /usr/local — файлы пользователя (программы, библиотеки и настройки, созданные пользователем).
/home — домашняя папка
Linux директория пользователей, где содержатся домашние каталоги всех пользователей. В данных каталогах пользователи хранят личные файлы, программные настройки и пр. Аналогия с Windows — папка на диске C. Но тут есть разница: home располагается на отдельном разделе, в результате чего при переустановке системы все данные и настройки сохраняются.
/boot — файлы загрузчика
Linux директория, где содержатся файлы, связанных с загрузчиком системы (ядро vmlinuz, образ initrd и пр.).
/lib — системные библиотеки
Тут располагаются файлы системных библиотек.
/opt — дополнительные программы
Эта папка Linux включает в себя установленные проприетарные программы, драйвера либо игры, то есть софт, созданный производителем в качестве отдельных исполняемых файлов.
/mnt — монтирование
Сюда сисадмины монтируют внешние либо дополнительные файловые системы Linux.
/media — съемные носители
Монтируются подключаемые внешние накопители — оптические диски, USB-устройства.
/srv — сервер
Файлы сервисов и серверов. Как пример — web-сервер Apache.
/run — процессы
Каталог включает в себя PID-файлы процессов, однако в отличие от /var/run, он располагается в TMPFS, в результате чего всё удаляется после перезагрузки.
/sys — информация о системе
Каталоги Linux в этой папке предназначены для получения информации от ядра о системе. По сути, речь идёт о файловой системе, организованной ядром и позволяющей просматривать и менять множество параметров системной работы, ту же работу swap и много чего ещё.
Пожалуй, этого достаточно для общего понимания файловой системы и структуры папок в Linux. Более профессиональную информацию всегда можно получить на нашем курсе.