- Linux структура каталогов вывести
- Bash: использование команды tree для отображения структуры папок
- Команда Bash Tree в Linux Mint 20
- Пример №1: Отображение содержимого каталога в древовидной структуре
- Пример № 2: Отображение скрытых файлов и каталогов с помощью древовидной команды
- Пример № 3: Отображение файлов и каталогов вместе с их полными путями
- Пример №4: Распечатать дерево каталогов в XML-представлении
- Пример № 5: Отображение файлов и каталогов вместе с их разрешениями на доступ
- Заключение
- Cтруктура файловой системы Linux
- / — корень
- /bin — (binaries) бинарные файлы пользователя
- /sbin — (system binaries) системные исполняемые файлы
- /etc — (etcetera) конфигурационные файлы
- /dev — (devices) файлы устройств
- /proc — (proccess) информация о процессах
- /var (variable) — Переменные файлы
- /var/log — Файлы логов
- /var/lib — базы данных
- /var/mail — почта
- /var/spool — очереди
- /var/lock — файлы блокировок
- /var/run — PID процессов
- /tmp (temp) — Временные файлы
- /usr — (user applications) Программы пользователя
- /usr/bin/ — Исполняемые файлы
- /usr/sbin/
- /usr/lib/ — Библиотеки
- /usr/local — Файлы пользователя
- /home — Домашняя папка
- /boot — Файлы загрузчика
- /lib (library) — Системные библиотеки
- /opt (Optional applications) — Дополнительные программы
- /mnt (mount) — Монтирование
- /media — Съемные носители
- /srv (server) — Сервер
- /run — процессы
- /sys (system) — Информация о системе
- Выводы
Linux структура каталогов вывести
Чтобы просмотреть содержимое подкаталога `work’ в текущем каталоге, введите:
Чтобы просмотреть содержимое каталога `/usr/doc’, введите:
$ ls /usr/doc [Enter]
Из листинга по умолчанию Вы не сможете отличить каталоги и исполняемые файлы от обычных. Используйте ключ `-F’, который заставит ls поместить символ `/’ после имен подкаталогов и символ `*’ после имен исполняемых файлов:
В этом примере текущий рабочий каталог содержит исполняемый файл `repeat’, каталог `words’, и несколько файлов других типов `test1′ и `test2′.
Еще один способ просмотра содержимого каталогов — использование «менеджера файлов» , которых для Linux создано достаточно много; наиболее популярным является «Midnight Commander» или mc.
Чтобы вывести более подробный листинг каталога, используйте ls с ключом `-l’ («long»). Листинг будет содержать размер каждого файла в байтах, время последней модификации, тип файла, имя владельца и права доступа.
Для вывода подробной информации о каталоге `/usr/doc/bash’, введите: Первая строка содержит информацию о полном объеме занимаемого каталогом дискового пространства в блоках по 1024 байта (в данном случае 72). Каждая последующая строка содержит несколько колонок с информацией о каждом файле.
Первая колонка указывает тип файла и права доступа к нему. Первый символ в этой колонке определяет тип файла; тире (`-‘) означает обычный файл (по умолчанию). Каталоги обозначаются буквой `d’, а символические ссылки — буквой `l’. Остальные девять символов в первой колонке указывают права доступа к файлу. Вторая колонка указывает количество жестких ссылов на файл. Третья и четвертая колонки указывают пользователя и группу, которые владеют этим файлом. Пятая колонка содержит размер файла в байтах, шестая — время и дату последней модификации файла, а в последней колонке указано имя файла, к которому относится информация.
Чтобы просмотреть каталог рекурсивно, то есть со всеми содержащимися в нем подкаталогами, используйте опцию `-R’. Например, для текущего каталога введите: В данном примере текущий рабочий каталог содержит два подкаталога, `work’ и `play’, но не содержит файлов. Каждый из подкаталогов содержит файл `notes’.
Чтобы вывести полное оглавление все файловой системы, наберите:
Обычно этот ключ комбинируют с опцией `-l’, чтобы вывести наиболее полный листинг файлов системы:
Примечание: Некоторые каталоги могут не попасть в листинг, если у Вас нет права доступа к ним.
Чтобы отсортировать список файлов в каталоге по времени создания или модификации, используйте опцию `-t’. Например, чтобы вывести список файлов в каталоге `/usr/tmp’, чтобы самые новые файлы были вверху списка, введите:
$ ls -t /usr/tmp [Enter]
По умолчанию, ls не выводит имена файлов, начинающиеся с символа «точка» (`.’). Чтобы уменьшить листинг, многие приложения «скрывают» файлы конфигурации в Вашем домашнем каталоге, присваивая им имена, начинающиеся с точки; они называются dot-файлы, или «скрытые» . Каждый каталог имеет два специальных dot-файла: `..’ — родительский каталог и `.’ — сам этот каталог.
Чтобы увидеть все файлы в каталоге, включая скрытые, используйте опцию `-a’. Например, для текущего каталога:
Чтобы увидеть все файлы, исключая специальные `..’ и `.’, используйте опцию `’-A:
Чтобы увидеть цветной листинг каталога, используйте ls с ключом `—color’ ; тогда все имена файлов будут выведены разными цветами, в зависимости от их содержания. По умолчанию каталоги выводятся синим, текстовые файлы — белым, исполняемые — зеленым и т.д.
Примечание: Обычно для команды `ls -color’ создается псевдоним `ls’, так что листинг выводится в цвете по умолчанию.
Для того, чтобы вывести граф иерархии каталогов, используйте утилиту tree. Например, для вывода дерева каталогов, начиная с текущего, наберите:
В этом примере выводится дерево каталогов, в котором текущий каталог содержит два подкаталога `projects’ и `trip’; а каталог `projects’, в свою очередь, содержит подкаталоги `current’ и `old’.
Чтобы вывести дерево каталогов для определенного каталога, укажите его имя в качестве аргумента tree. Например, для Вашего домашнего каталога, введите:
Чтобы вывести дерево каталогов, в котором будут присутствовать только имена каталогов, используйте опцию `-d’. Это полезно при выводе полного дерева каталогов системы:
$ tree -d / > tree [Enter]
Команда ls имеет много опций для управления листингом и отображаемой информацией о файлах; приведенная таблица описывает некоторые из них.
Опция | Описание |
—color | Вывод имен файлов в цвете, в зависимости от их типа. |
-R | Рекурсивный список файлов. |
-a | Вывод всех файлов, включая скрытые. |
-d | Вывод только имен каталогов, без промсмотра их содержимого. |
-f | Вывод содержимого каталога в том порядке, в котором оно записано на диск. |
-l | Подробный листинг. |
-r | Сортировка содержимого каталога в обратном порядке. |
-s | Вывод размера — в блоках по 1K — для каждого файла. |
-t | Сортировка по времени создания или модификации файла. |
Примечание: Вы можете комбинировать опции в любом порядке; например, чтобы вывести список файлов, отсортированный по времени, со всеми атрибутами, введите `-lt’. Чтобы рекурсивно отобразить все скрытые файлы и их атрибуты, используйте `-lRa’. Порядок опций не имеет значения, так что `-lRa’ означает то же самое, что и `-alR’.
Next: Копирование файлов и каталогов Up: Работа с файлами Previous: Перемещение по каталогам Contents Index Alex Otwagin 2002-12-16
Источник
Bash: использование команды tree для отображения структуры папок
Цель этого руководства — понять данные JSON и понять, как анализировать данные JSON в C ++. Мы обсудим данные JSON, объект, массив, синтаксис JSON, а затем рассмотрим несколько рабочих примеров, чтобы понять механизм анализа данных JSON в C ++.
Команда «tree» — это очень широко используемая команда Bash в Linux. Он используется для отображения содержимого любого желаемого каталога вашей компьютерной системы в виде древовидной структуры. Используя эту древовидную структуру, вы можете легко узнать пути к своим файлам и каталогам, проверить их права доступа и просмотреть скрытые файлы и каталоги. Поэтому сегодня мы поговорим об использовании команды Bash «tree» в Linux Mint 20, поделившись с вами некоторыми примерами.
Команда Bash Tree в Linux Mint 20
Чтобы использовать команду Bash «tree» в Linux Mint 20, вам сначала необходимо установить ее, выполнив эту команду:
Было бы неплохо, если бы вы могли обновить свою систему перед запуском этой команды. После успешной установки команды tree в вашей системе Linux Mint 20 вы получите следующие сообщения на своем терминале:
Теперь, чтобы проверить, действительно ли команда Bash «tree» находится в вашей системе Linux Mint 20 или нет, вы можете проверить ее версию, выполнив команду, указанную ниже:
Версия команды Bash «tree», которую нам удалось установить только что, выделена на следующем изображении:
После этого вы можете проверить синтаксис и все доступные параметры для этой команды, чтобы вы могли использовать ее эффективно. Вы можете найти эту информацию, выполнив команду, указанную ниже:
Выполнение этой команды отобразит всю необходимую информацию о команде Bash «tree», включая ее синтаксис, которая вам понадобится для работы с этой командой без каких-либо затруднений. Вы можете потратить некоторое время на это, чтобы хорошо изучить все доступные варианты.
После выполнения этих шагов мы хотели бы поделиться с вами некоторыми из наиболее полезных примеров использования команды Bash «tree» в Linux Mint 20.
Пример №1: Отображение содержимого каталога в древовидной структуре
Древовидные структуры обычно легче визуализировать и интерпретировать по сравнению с обычным текстовым представлением. Следовательно, если у вас есть каталог, содержащий множество разных файлов и подкаталогов, вам следует предпочесть просматривать его содержимое в древовидной структуре. Это легко сделать, выполнив команду tree, как показано ниже:
Древовидная структура нашего текущего рабочего каталога показана на следующем изображении. Здесь следует отметить, что простая команда «tree» не отображает скрытые файлы и каталоги. Вот почему количество файлов и каталогов, отображаемых в выводе этой команды, очень мало.
Пример № 2: Отображение скрытых файлов и каталогов с помощью древовидной команды
В отличие от простого «дерева», вы также можете просмотреть скрытые файлы и каталоги. Вы можете сделать это просто, запустив команду «tree» с флагом «-a», как показано ниже:
Вы можете сравнить вывод этой команды с выводом, показанным в примере № 1, и вы сможете понять, что количество файлов и каталогов намного больше, чем показано выше. Это потому, что на этот раз команда «tree» также показала скрытые файлы и каталоги.
Пример № 3: Отображение файлов и каталогов вместе с их полными путями
Вместо того, чтобы отображать только имена файлов и каталогов, вы также можете узнать их точные пути. Вы можете сделать это, просто объединив команду «tree» с флагом «-f» следующим образом:
Пути ко всем файлам и каталогам в нашем текущем рабочем каталоге показаны ниже в виде древовидной структуры. Если бы вы выполняли команду «tree» в каталоге, отличном от «Home», тогда концепция путей была бы более ясной. Однако в нашем случае, поскольку мы выполнили команду «tree», находясь в «домашнем» каталоге, именно поэтому вы можете видеть только «./» вместо пути к файлу или каталогу, поскольку он представляет «домашний» каталог.
Пример №4: Распечатать дерево каталогов в XML-представлении
XML или Extensible Markup Language имеет особый синтаксис, в котором он представляет наши файлы и каталоги. Следовательно, если вы хотите распечатать свое дерево каталогов в XML-представлении, вы можете сделать это, объединив флаг «-X» с командой «tree» следующим образом:
XML-представление нашего дерева каталогов показано на изображении ниже:
Пример № 5: Отображение файлов и каталогов вместе с их разрешениями на доступ
Разрешения для файлов и каталогов считаются очень важными, особенно если мы хотим иметь дело с политиками управления доступом в операционной системе. Если вы хотите, чтобы права доступа к файлам и каталогам отображались в дереве каталогов, вам нужно будет выполнить команду «tree» с флагом «-p».
Разрешения на «чтение», «запись» и «выполнение» показаны перед каждым именем файла и каталога в нашей структуре каталогов, как показано на следующем изображении. Кроме того, права доступа к каталогу также включают флаг «d», который указывает, что следующее имя относится к каталогу, а не к файлу.
Заключение
В сегодняшней статье мы рассказали вам о методе установки команды Bash «tree» в вашей системе Linux Mint 20. Мы продемонстрировали метод проверки его установки, а также доступ к страницам справки. Затем мы поделились с вами пятью наиболее важными сценариями, в которых команда «tree» может использоваться очень эффективно. Помимо этих пяти сценариев, существует множество других вариантов использования команды Bash «tree». Вкратце, эта команда Bash считается чрезвычайно полезной при работе с операционными системами на базе Linux.
Источник
Cтруктура файловой системы Linux
Понимание файловой системы Linux, структуры каталогов, размещения конфигурационных, исполняемых и временных файлов поможет вам лучше разбираться в своей системе и стать успешным системным администратором. Файловая система Linux будет непривычна именно для новичка, только что перешедшего с Windows, ведь здесь все совсем по-другому.
В отличие от Windows, программа не находится в одной папке, а, как правило, распределена по корневой файловой системе. Это распределение поддается определенным правилам. Вы когда-нибудь задавались вопросом, почему некоторые программы находятся в папке /bin, или /sbin, /usr/sbin, /usr/local/bin, в чем разница между этими каталогами?
Например, программа less, находится в каталоге /usr/bin, но почему не в /sbin или /usr/sbin. А такие программы, как ifconfig или fdisk находятся в каталоге /sbin и нигде иначе. В этой статье будет полностью рассмотрена структура файловой системы Linux, после ее прочтения вы сможете понять смысл использования большинства папок в корневом каталоге Linux.
/ — корень
Это главный каталог в системе Linux. По сути, это и есть файловая система Linux. Здесь нет дисков или чего-то подобного, как в Windows. Вместо этого, адреса всех файлов начинаются с корня, а дополнительные разделы, флешки или оптические диски подключаются в папки корневого каталога.
Только пользователь root имеет право читать и изменять файлы в этом каталоге. Обратите внимание, что у пользователя root домашний каталог /root, но не сам /.
/bin — (binaries) бинарные файлы пользователя
Этот каталог содержит исполняемые файлы. Здесь расположены программы, которые можно использовать в однопользовательском режиме или режиме восстановления. Одним словом, те утилиты, которые могут использоваться пока еще не подключен каталог /usr/. Это такие общие команды, как cat, ls, tail, ps и т д.
/sbin — (system binaries) системные исполняемые файлы
Так же как и /bin, содержит двоичные исполняемые файлы, которые доступны на ранних этапах загрузки, когда не примонтирован каталог /usr. Но здесь находятся программы, которые можно выполнять только с правами суперпользователя. Это разные утилиты для обслуживания системы. Например, iptables, reboot, fdisk, ifconfig,swapon и т д.
/etc — (etcetera) конфигурационные файлы
В этой папке содержатся конфигурационные файлы всех программ, установленных в системе. Кроме конфигурационных файлов, в системе инициализации Init Scripts, здесь находятся скрипты запуска и завершения системных демонов, монтирования файловых систем и автозагрузки программ. Структура каталогов linux в этой папке может быть немного запутанной, но предназначение всех их — настройка и конфигурация.
/dev — (devices) файлы устройств
В Linux все, в том числе внешние устройства являются файлами. Таким образом, все подключенные флешки, клавиатуры, микрофоны, камеры — это просто файлы в каталоге /dev/. Этот каталог содержит не совсем обычную файловую систему. Структура файловой системы Linux и содержащиеся в папке /dev файлы инициализируются при загрузке системы, сервисом udev. Выполняется сканирование всех подключенных устройств и создание для них специальных файлов. Это такие устройства, как: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 и т д.
/proc — (proccess) информация о процессах
Это тоже необычная файловая система, а подсистема, динамически создаваемая ядром. Здесь содержится вся информация о запущенных процессах в реальном времени. По сути, это псевдофайловая система, содержащая подробную информацию о каждом процессе, его Pid, имя исполняемого файла, параметры запуска, доступ к оперативной памяти и так далее. Также здесь можно найти информацию об использовании системных ресурсов, например, /proc/cpuinfo, /proc/meminfo или /proc/uptime. Кроме файлов в этом каталоге есть большая структура папок linux, из которых можно узнать достаточно много информации о системе.
/var (variable) — Переменные файлы
Название каталога /var говорит само за себя, он должен содержать файлы, которые часто изменяются. Размер этих файлов постоянно увеличивается. Здесь содержатся файлы системных журналов, различные кеши, базы данных и так далее. Дальше рассмотрим назначение каталогов Linux в папке /var/.
/var/log — Файлы логов
Здесь содержатся большинство файлов логов всех программ, установленных в операционной системе. У многих программ есть свои подкаталоги в этой папке, например, /var/log/apache — логи веб-сервера, /var/log/squid — файлы журналов кеширующего сервера squid. Если в системе что-либо сломалось, скорее всего, ответы вы найдете здесь.
/var/lib — базы данных
Еще один тип изменяемых файлов — это файлы баз данных, пакеты, сохраненные пакетным менеджером и т д.
/var/mail — почта
В эту папку почтовый сервер складывает все полученные или отправленные электронные письма, здесь же могут находиться его логи и файлы конфигурации.
/var/spool — очереди
Изначально, эта папка отвечала за очереди печати на принтере и работу набора программ cups.
/var/lock — файлы блокировок
Здесь находятся файлы блокировок. Эти файлы означают, что определенный ресурс, файл или устройство занят и не может быть использован другим процессом. Apt-get, например, блокирует свою базу данных, чтобы другие программы не могли ее использовать, пока программа с ней работает.
/var/run — PID процессов
Содержит файлы с PID процессов, которые могут быть использованы, для взаимодействия между программами. В отличие от каталога /run данные сохраняются после перезагрузки.
/tmp (temp) — Временные файлы
В этом каталоге содержатся временные файлы, созданные системой, любыми программами или пользователями. Все пользователи имеют право записи в эту директорию.
Файлы удаляются при каждой перезагрузке. Аналогом Windows является папка Windows\Temp, здесь тоже хранятся все временные файлы.
/usr — (user applications) Программы пользователя
Это самый большой каталог с большим количеством функций. Тут наиболее большая структура каталогов Linux. Здесь находятся исполняемые файлы, исходники программ, различные ресурсы приложений, картинки, музыку и документацию.
/usr/bin/ — Исполняемые файлы
Содержит исполняемые файлы различных программ, которые не нужны на первых этапах загрузки системы, например, музыкальные плееры, графические редакторы, браузеры и так далее.
/usr/sbin/
Содержит двоичные файлы программ для системного администрирования, которые нужно выполнять с правами суперпользователя. Например, таких как Gparted, sshd, useradd, userdel и т д.
/usr/lib/ — Библиотеки
Содержит библиотеки для программ из /usr/bin или /usr/sbin.
/usr/local — Файлы пользователя
Содержит файлы программ, библиотек, и настроек созданные пользователем. Например, здесь могут храниться программы собранные и установленные из исходников и скрипты, написанные вручную.
/home — Домашняя папка
В этой папке хранятся домашние каталоги всех пользователей. В них они могут хранить свои личные файлы, настройки программ и т д. Например, /home/sergiy и т д. Если сравнивать с Windows, то это ваша папка пользователя на диске C, но в отличии от WIndows, home как правило размещается на отдельном разделе, поэтому при переустановке системы все ваши данные и настройки программ сохранятся.
/boot — Файлы загрузчика
Содержит все файлы, связанные с загрузчиком системы. Это ядро vmlinuz, образ initrd, а также файлы загрузчика, находящие в каталоге /boot/grub.
/lib (library) — Системные библиотеки
Содержит файлы системных библиотек, которые используются исполняемыми файлами в каталогах /bin и /sbin.
Библиотеки имеют имена файлов с расширением *.so и начинаются с префикса lib*. Например, libncurses.so.5.7. Папка /lib64 в 64 битных системах содержит 64 битные версии библиотек из /lib. Эту папку можно сравнить с WIndows\system32, там тоже сгружены все библиотеки системы, только там они лежат смешанные с исполняемыми файлами, а здесь все отдельно.
/opt (Optional applications) — Дополнительные программы
В эту папку устанавливаются проприетарные программы, игры или драйвера. Это программы созданные в виде отдельных исполняемых файлов самими производителями. Такие программы устанавливаются в под-каталоги /opt/, они очень похожи на программы Windows, все исполняемые файлы, библиотеки и файлы конфигурации находятся в одной папке.
/mnt (mount) — Монтирование
В этот каталог системные администраторы могут монтировать внешние или дополнительные файловые системы.
/media — Съемные носители
В этот каталог система монтирует все подключаемые внешние накопители — USB флешки, оптические диски и другие носители информации.
/srv (server) — Сервер
В этом каталоге содержатся файлы серверов и сервисов. Например, могут содержаться файлы веб-сервера apache.
/run — процессы
Еще один каталог, содержащий PID файлы процессов, похожий на /var/run, но в отличие от него, он размещен в TMPFS, а поэтому после перезагрузки все файлы теряются.
/sys (system) — Информация о системе
Назначение каталогов Linux из этой папки — получение информации о системе непосредственно от ядра. Это еще одна файловая система организуемая ядром и позволяющая просматривать и изменить многие параметры работы системы, например, работу swap, контролировать вентиляторы и многое другое.
Выводы
Теперь структура файловой системы Linux не кажется вам темным лесом. Конечно еще есть с чем разбираться, одна только подсистема /proc, /sys или /dev чего стоит. Но база уже заложена. Если я что-то упустил — напишите в комментариях.
Источник