Архив метки: Linux

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, вам сначала необходимо установить ее, выполнив эту команду:

$ sudo apt install tree

Было бы неплохо, если бы вы могли обновить свою систему перед запуском этой команды. После успешной установки команды tree в вашей системе Linux Mint 20 вы получите следующие сообщения на своем терминале:

Теперь, чтобы проверить, действительно ли команда Bash «tree» находится в вашей системе Linux Mint 20 или нет, вы можете проверить ее версию, выполнив команду, указанную ниже:

$ tree --version

Версия команды Bash «tree», которую нам удалось установить только что, выделена на следующем изображении:

После этого вы можете проверить синтаксис и все доступные параметры для этой команды, чтобы вы могли использовать ее эффективно. Вы можете найти эту информацию, выполнив команду, указанную ниже:

$ tree --help

Выполнение этой команды отобразит всю необходимую информацию о команде Bash «tree», включая ее синтаксис, которая вам понадобится для работы с этой командой без каких-либо затруднений. Вы можете потратить некоторое время на это, чтобы хорошо изучить все доступные варианты.

После выполнения этих шагов мы хотели бы поделиться с вами некоторыми из наиболее полезных примеров использования команды Bash «tree» в Linux Mint 20.

Пример №1: Отображение содержимого каталога в древовидной структуре

Древовидные структуры обычно легче визуализировать и интерпретировать по сравнению с обычным текстовым представлением. Следовательно, если у вас есть каталог, содержащий множество разных файлов и подкаталогов, вам следует предпочесть просматривать его содержимое в древовидной структуре. Это легко сделать, выполнив команду tree, как показано ниже:

$ sudo tree

Древовидная структура нашего текущего рабочего каталога показана на следующем изображении. Здесь следует отметить, что простая команда «tree» не отображает скрытые файлы и каталоги. Вот почему количество файлов и каталогов, отображаемых в выводе этой команды, очень мало.

Пример № 2: Отображение скрытых файлов и каталогов с помощью древовидной команды

В отличие от простого «дерева», вы также можете просмотреть скрытые файлы и каталоги. Вы можете сделать это просто, запустив команду «tree» с флагом «-a», как показано ниже:

$ sudo tree –a

Вы можете сравнить вывод этой команды с выводом, показанным в примере № 1, и вы сможете понять, что количество файлов и каталогов намного больше, чем показано выше. Это потому, что на этот раз команда «tree» также показала скрытые файлы и каталоги.

Пример № 3: Отображение файлов и каталогов вместе с их полными путями

Вместо того, чтобы отображать только имена файлов и каталогов, вы также можете узнать их точные пути. Вы можете сделать это, просто объединив команду «tree» с флагом «-f» следующим образом:

$ sudo tree –f

Пути ко всем файлам и каталогам в нашем текущем рабочем каталоге показаны ниже в виде древовидной структуры. Если бы вы выполняли команду «tree» в каталоге, отличном от «Home», тогда концепция путей была бы более ясной. Однако в нашем случае, поскольку мы выполнили команду «tree», находясь в «домашнем» каталоге, именно поэтому вы можете видеть только «./» вместо пути к файлу или каталогу, поскольку он представляет «домашний» каталог.

Пример №4: Распечатать дерево каталогов в XML-представлении

XML или Extensible Markup Language имеет особый синтаксис, в котором он представляет наши файлы и каталоги. Следовательно, если вы хотите распечатать свое дерево каталогов в XML-представлении, вы можете сделать это, объединив флаг «-X» с командой «tree» следующим образом:

$ sudo tree –X

XML-представление нашего дерева каталогов показано на изображении ниже:

Пример № 5: Отображение файлов и каталогов вместе с их разрешениями на доступ

Разрешения для файлов и каталогов считаются очень важными, особенно если мы хотим иметь дело с политиками управления доступом в операционной системе. Если вы хотите, чтобы права доступа к файлам и каталогам отображались в дереве каталогов, вам нужно будет выполнить команду «tree» с флагом «-p».

$ sudo tree –p

Разрешения на «чтение», «запись» и «выполнение» показаны перед каждым именем файла и каталога в нашей структуре каталогов, как показано на следующем изображении. Кроме того, права доступа к каталогу также включают флаг «d», который указывает, что следующее имя относится к каталогу, а не к файлу.

Заключение

В сегодняшней статье мы рассказали вам о методе установки команды Bash «tree» в вашей системе Linux Mint 20. Мы продемонстрировали метод проверки его установки, а также доступ к страницам справки. Затем мы поделились с вами пятью наиболее важными сценариями, в которых команда «tree» может использоваться очень эффективно. Помимо этих пяти сценариев, существует множество других вариантов использования команды Bash «tree». Вкратце, эта команда Bash считается чрезвычайно полезной при работе с операционными системами на базе Linux.



2020-12-15T12:33:50
Вопросы читателей

Можно ли изменить имя компьютера в Linux?

Чтобы различать устройства, пакеты данных используют IP-адреса; однако людям может быть непросто распознать IP-адреса. К счастью, в Linux имя хоста используется в таких местах, как приглашение терминала, для идентификации используемого устройства. В этом руководстве мы покажем вам, как изменить имя хоста устройства в Linux.

Hostname в Linux

Устройства взаимодействуют друг с другом по сети, используя IP-адреса. IP-адрес, назначенный конкретному устройству, может меняться в зависимости от ситуации. Поэтому важно использовать запоминающееся имя хоста, которое не меняется в зависимости от ситуации.

Для изменения имени хоста в Linux можно использовать несколько методов, и эти методы можно разделить на две категории: методы интерфейса командной строки (CLI) и методы графического интерфейса пользователя (GUI).

Методы CLI

Чтобы изменить имя хоста устройства в Linux, мы рекомендуем использовать инструменты командной строки. Эти методы универсальны и работают практически в любом дистрибутиве Linux. Кроме того, нет необходимости устанавливать какие-либо дополнительные пакеты.

Проверить имя хоста

Сначала проверьте имя хоста текущей системы следующим образом.

$ hostname

$ hostnamectl

Изменить имя хоста с помощью hostname

Команду hostname можно использовать для изменения имени хоста системы, используя следующую структуру команд.

$ sudo hostname

Наконец, проверьте изменение.

$ hostname

Обратите внимание, что с помощью этого метода имя хоста изменяется только временно. Если система будет перезагружена, она вернется к исходному имени хоста. Этот метод следует использовать только в том случае, если вы не собираетесь делать постоянное изменение имени хоста.

Измените имя хоста с помощью hostnamectl

Инструмент hostnamectl контролирует имя хоста системы. Этот инструмент может выполнять широкий спектр действий; например, его можно использовать для отображения текущего имени хоста, для изменения имени хоста, для настройки описания среды и для управления системной строкой LOCATION.

Чтобы использовать hostnamectl для изменения имени хоста, выполните следующую команду.

$ sudo hostnamectl set-hostname

Затем проверьте изменение.

$ hostname

Затем нам нужно вручную обновить файл хоста. Для этого откройте файл в текстовом редакторе.

$ sudo vim /etc/hosts

Измените старое имя хоста на новое имя хоста.

$ 127.0.1.1 localhost

$ 127.0.1.1

Если вы используете более старый дистрибутив Linux, то после внесения изменений вам может потребоваться выполнить следующую команду.

$ /etc/init.d/hostname restart

Изменить имя хоста (для системы инициализации)

Выделенный файл содержит имя хоста системы. Мы можем вручную обновить файл, чтобы изменить имя хоста. Для этого откройте файл в текстовом редакторе.

$ sudo vim /etc/hostname

На изображении ниже показано старое имя хоста.

Отредактируйте содержимое, чтобы обновить имя хоста.

Сохраните файл и закройте редактор. Чтобы изменения вступили в силу, перезагрузите систему. После перезагрузки системы убедитесь, что действие выполнено успешно, как показано ниже.

$ hostname

GUI методы

В этом разделе мы будем использовать GNOME для изменения имени хоста устройства. Однако вы можете использовать YaST для изменения имени хоста в openSUSE.

Изменить имя хоста в GNOME

GNOME — мощная среда рабочего стола. Если вы используете GNOME, вы можете изменить имя хоста без выполнения каких-либо команд, открыв приложение «Настройки».

На левой панели прокрутите вниз и выберите «О программе». В этом примере имя хоста системы находится в поле «Имя устройства».

Щелкните «Имя устройства», чтобы открыть запрос на изменение имени хоста.

Введите новое имя хоста и нажмите «Переименовать», чтобы сохранить изменения.

Последние мысли

В этом руководстве мы показали вам несколько простых методов изменения имени хоста вашей системы. Убедитесь, что вы используете правильное имя хоста, чтобы помочь идентифицировать систему.



2020-12-15T12:09:37
Вопросы читателей

🐧 Операторы Bash if: if, elif, else, then, fi

Если вы только начинаете изучать скриптовой язык программирования Bash, вы скоро обнаружите, что вам надо использовать условные операторы.

Другими словами, условные операторы определяют «если условие истинно или ложно, то сделать то или это, а если верно противоположное, сделать что-нибудь еще».

Это самая основная функция любого условного оператора.

Эта статья познакомит вас с пятью основными предложениями оператора if , а именно if, elif, else, then и fi. Читать

OpenVZ, Xen и KVM — различия, преимущества, сравнение

Виртуализация серверов захватила ИТ-отрасль штурмом. За последние несколько лет она стала невероятно популярным и распространенным решением. Огромное количество организаций применили виртуализацию серверов и сместили акцент на виртуальное пространство, чтобы минимизировать затраты, сохранив при этом все свои услуги. Существенная часть сферы услуг в предоставлении виртуальных серверов держится за хостинг-провайдерами, например, bluevps.ru, у которых можно приобрести VPS для любых нужд.

Бизнес-сценарий постоянно сохраняется. Важно экономить средства, чтобы выжить в экономическом плане, при этом поддерживая технологический прогресс. Методы виртуализации позволяют компаниям быстро и эффективно реагировать на запросы. Внедрение виртуализации дает ряд жизненно важных преимуществ, которые в основном включают:

1. Экономическая эффективность

Чтобы бизнес оставался успешным, он должен постоянно стремиться сокращать все виды затрат. Компании, которые обращаются к виртуализации, существенно экономят на своих расходах. Виртуализация позволяет компании уменьшить количество физических машин, необходимых для запуска нескольких приложений. Это экономит физическое пространство, которое в противном случае требовалось бы для центров обработки данных или серверов, а также значительно сокращает расходы на электроэнергию и охлаждение.

2. Гибкость операционной системы

Невероятно быстро меняющаяся бизнес-среда требует от компании не только эффективности, но и гибкости. Виртуализация серверов позволяет запускать идентичные или разные операционные системы и приложения на одном сервере с использованием нескольких виртуальных серверов. Это дает клиентам возможность протестировать различные операционные системы без необходимости менять оборудование.

KVM

KVM обеспечивает полную аппаратную виртуализацию. По сути, это означает, что вы можете запускать любую операционную систему в качестве гостя, будь то Linux/Windows/BSD, и вместе с виртуальным драйвером вы получаете почти идентичную собственную производительность. Он поддерживает установку на основе ISO и шаблонов. Он также отличается хорошим разделением с точки зрения конфиденциальности, поскольку данные скрыты от других пользователей. Однако при большой нагрузке журнал ввода-вывода может иногда возникать, что может отражаться на операционной системе хоста и гостевых операционных системах.

KVM  использует технологию аппаратной виртуализации, что означает, что основная операционная система на сервере может моделировать оборудование для другой ОС, чтобы работать поверх нее. Затем он также действует как гипервизор, который управляет и распределяет общие ресурсы, такие как время процессора и сетевой ввод-вывод.

KVM не содержит пакетных ресурсов, все они либо общие, либо выделенные. Это означает, что все дисковое пространство или оперативную память обычно сложнее перегрузить, поскольку существует неминуемая опасность для всех пользовательских данных. Обратной стороной KVM является то, что если ресурсы превышают лимит, VPS должен поменяться местами, что может привести к серьезному падению производительности или начать уничтожать процессы один за другим. В отличие от OpenVZ, KVM не может временно работать, заимствуя средства у одного из своих партнеров, поскольку все выделенные ресурсы полностью изолированы друг от друга.

Поскольку KVM моделирует различное оборудование, вы также можете запускать любой тип ядра в пределах его возможностей. Это также означает, что KVM не ограничивается только ядром Linux, установленным в корневом узле. KVM также может работать с другими ОС x86, такими как Windows и BSD. Наличие независимого ядра означает, что VPS может загружать свои собственные модули и в дальнейшем изменять ядро. Это уникальная функция KVM, которую OpenVZ не поддерживает.

В KVM каждый процесс связан с хост-узлом и работает на нем. Это отлично подходит для обнаружения того, какой гость вызывает проблемы, если таковые возникают, однако это также может вызвать проблемы, такие как замедление, когда хост находится под большой нагрузкой.

Пользователь может легко перераспределить оперативную память с минимальными усилиями, хотя это маловероятный сценарий, если хост не является полностью SSD. Накладные расходы, которые это возложит на хост-узел, приведут к огромным проблемам с производительностью. Хотя KVM, являющийся родным для всех современных ядер, действительно дает большое преимущество перед другими в различных обстоятельствах, он все еще является довольно новым и все еще находится в стадии активной разработки. Многие организации выбирают KVM за гибкость и отличную производительность.

OpenVZ

OpenVZ становится все более популярным в индустрии хостинга из-за его очень высокой плотности и быстрого развертывания. Это возможно, поскольку ядро ​​хоста совместно с гостями использует дисковое пространство, ЦП и ОЗУ. Между хостом и гостем существует очень простое разделение, а узкое место ввода-вывода практически отсутствует.

OpenVZ — это программное обеспечение для виртуализации, предлагаемое SWSoft Inc. OpenVZ предлагает огромное количество преимуществ для администратора, поскольку позволяет размещать несколько виртуальных сред на одном сервере. Единственными ограничениями для этого являются ЦП и ОЗУ.

OpenVZ — это технология виртуализации на уровне ОС, основанная на ядре Linux. Это позволяет одному физическому серверу запускать несколько различных экземпляров операционной системы, известных как виртуальные среды или виртуальные частные серверы.

В отличие от паравиртуализации и технологий VMWare, таких как Xen, OpenVZ ограничен, поскольку требует, чтобы и гостевая, и хост-ОС были Linux, хотя дистрибутивы Linux могут быть разными в виртуальных средах с общим ядром. OpenVZ предлагает хорошее преимущество в производительности, и штраф за запуск OpenZ составляет от 1 до 3% по сравнению с другим автономным сервером.

Поскольку OpenVZ использует одну модель ядра, он может поддерживать до 64 процессоров и до 64 ГБ оперативной памяти. Единая виртуальная среда может масштабироваться до целого физического блока и использовать всю оперативную память и все процессоры.

OpenVZ разделен на настраиваемое ядро ​​и может использоваться ряд инструментов, таких как vzstat, vzctl и т.д. Помимо этого, в OpenVZ отсутствуют некоторые функции коммерческого продукта Virtuozzo, такие как расширенная файловая система, функции создания шаблонов, позволяющие экономить дисковое пространство, и дополнительные пользовательские инструменты. OpenVZ гибок, эффективен и предлагает качественные услуги в корпоративной среде. Каждый виртуальный частный сервер представляет собой независимое оборудование, которое может быть перемещено в другую систему на основе OpenVZ внутри сети.

Что касается задержки диска и скорости доступа к диску, OpenVZ явно является победителем по сравнению с Xen и KVM, однако, когда дело доходит до стоимости отсутствия разделения и конфиденциальности, а также влияния одной гостевой ОС на оба хоста. node и других гостевых ОС, это очень беспокоит. Все отдельные процессы видны хост-узлу, и данные не могут быть зашифрованы или скрыты.

OpenVZ поддерживает только Linux, если не используются различные коммерческие параллели. Преимущество OpenVZ в том, что он также может быть вложен в KVM или Xen для достижения еще большей плотности. Из-за количества гостей, которые вы можете запустить на хост-узле, цена OpenVZ остается гораздо более конкурентоспособной, чем Xen или KVM.