Рабочий стол Linux
Загрузившись в Linux вы обнаружите достаточно привычный для пользователей Windows рабочий стол и другие элементы интерфейса. Я все же считаю, что о переходе на Linux задумываются пользователи, имеющие некоторый опыт работы с Windows, поэтому очень подробно останавливаться на основных элементах интерфейса не буду. Скажу лишь, что также как и в Windows в Линукс основным является рабочий стол, на котором производятся все манипуляции с окнами. Работа с этими самыми окнами будет интуитивно понятной для любого пользователя, поработавшего некоторое время в Windows. На рабочем столе могут быть размещены ярлыки программ или файлы. Также на рабочем столе будут появляться значки вновь подключенных к компьютеру носителей информации, но об этом чуть позже.
В нижней части экрана находится управляющая панель, которую в Windows называют панелью задач. Основные элементы этой панели аналогичны Windows — это в первую очередь раскрывающееся меню, которое в Windows называлось меню Пуск, а в Линукс называется просто Меню.
Итак, начнем с главного меню. Оно несколько отличается от привычного меню Пуск в Windows. Давайте его рассмотрим подробнее.
В левую колонку, которая называется «Избранное», вынесены наиболее значимые по мнению разработчиков элементы (сверху вниз):
- Браузер Firefox
- Менеджер программ mintinstall, о котором пойдет речь в одном из следующих уроков
- Центр управления, в котором сосредоточены все системные настройки
- Терминал, командная строка, с помощью которой в Линукс можно делать практически все и о ней также речь будуте дальше
- Файловый менеджер Nemo — аналог привычного для пользователей Windows Проводника
- Блокировка экрана — функция, позволяющая заблокировать компьютер паролем, если вы на время хотите отлучиться, но не хотите, чтобы в ваше отсутствие кто-то имел доступ к вашим данным
- Выход из сеанса — позволяет завершить сеанс текущего пользователя.
Если к компьютеру имеют доступ несколько человек, то каждый из пользователей может завести свой личный аккаунт и соответственно иметь индивидуальные настройки внешнего вида операционной системы и область хранения данных, которая будет недоступна другим пользователям компьютера. В Windows, в общем-то, ситуация аналогичная, поэтому если вы пользовались ранее такой возможностью, то и в Линукс сможете настроить аккаунты для каждого пользователя. - Завершение работы — тут, думаю, все понятно… при нажатии на данный значок появится окно, из которого можно выбрать действие: спящий режим, перезагрузить или выключить.
При выборе спящего режима вся информация из оперативной памяти компьютера будет сохранена в раздел подкачки и после этого компьютер будет выключен. При включении компьютера данные в оперативной памяти будут восстановлены из раздела подкачки и вы вернете систему к тому же состоянию, как и перед выключением — то есть будут запущены те же приложения и открыты документы, с которыми вы работали до выключения компьютера.
Избранное можно изменять, удаляя или добавляя значки, но об этом буквально через минуту.
Следующим очень удобным элементом меню является поле поиска. С его помощью вы можете быстро найти интересующее вас приложение, введя несколько букв из его названия, например, «libre» и появляются все программы, содержащие в своем названии это сочетание букв:
То есть для запуска программы вам не нужно искать ее значок в разделах меню, а достаточно вбить несколько символов в поисковое поле.
Ниже поля поиска идут категории программ, доступные в системе. При выборе категории в правой колонке меню отображается ее содержимое. Не всегда содержимое помещается в область меню и в этом случае появляется полоса прокрутки.
Если вы довольно часто используете ту или иную программу, то можете закрепить ее значок в области запуска приложений на панели задач, чтобы постоянно не искать ее в категориях или через поисковое поле. Для этого достаточно перетащить значок мышкой в эту область или же вызвать контекстное меню на интересующем вас значке и выбрать пункт «Добавить на панель».
Как видите, программы в Linux запускаются также как и в Windows. Тоже самое относится и к окнам, в которых программы запускаются. Вид окон с запущенными приложениями зависит от темы рабочего стола или выбранного стиля, о котором я расскажу в следующем видео, но по умолчанию, после установки Linux окна выглядят так:
Переключение между окнами осуществляется привычным способом с помощью мыши — мы просто выбираем то окно, с которым хотим работать и оно становится активным. Остальные окна уходят на второй план. Если окон много и визуально сложно найти нужное, то можно воспользоваться сочетанием клавиш Alt+Tab, которое приведет к появления ленты, в которой будут находиться значки всех открытых в данный момент приложений. Необходимо удерживать Alt и нажимать Tab, чтобы перемещаться по ленте.
Рамка указывает окно приложения, которое станет активным, если отпустить клавиши.
Еще можно воспользоваться областью запущенных приложений на управляющей панели и выбрать значок нужной запущенной программы оттуда.
Также как и в Windows каждое окно имеет строку заголовка (см. рисунок выше), на которой расположены кнопки, позволяющие закрыть окно, свернуть его в панель задач или развернуть его на весь экран. Двойной щелчок левой кнопкой мыши на строке заголовка также приведет к раскрытию окна на весь экран, а повторное действие вернет окну первоначальный размер. Двойной щелчок правой кнопкой мыши по строке заголовка приведет к сворачиванию окна в панель задач. Если щелкнуть единожды колесиком мыши по строке заголовка, то окно переместится на задний план. Кстати, закрыть окно можно стандартным для Windows сочетанием клавиш
Итак, я рассказал о привычном любому пользователю Windows способе работы с окнами, но есть и некоторые особенности Linux Mint Cinammon, которые весьма удобны.
Речь пойдет о тайлинге.
Тайлинг — от англ. tiling, что означает черепичное или плиточное покрытие. Что-то подобное реализовано и в Windows (начиная с «семерки»), но в Линукс возможности тайлинга богаче. Суть в том, что при таком «тайлинговом» способе работы вы управляете не окнами, а областями, в которых эти окна расположены.
Тайлинг окон можно осуществить с помощью мыши или клавиатуры. Мышью работать быстрее и удобнее. Например, если вы захватите окно за строку заголовка и подтащите его к верхней границе экрана, то размеры окна преобразуются и оно займет верхнюю часть экрана. Если подтащить окно к нижней границе экрана — оно займет, соответственно, нижнюю его половину. Перемещение окна к левой или правой границе приведет к его разворачиванию на пол экрана слева или, соответственно, справа. Подтаскивание окна к любому из углов приведет к изменению размеров окна до четверти экрана и оно займет соответствующую позицию на нем.
Такие же действия можно осуществлять с активным окном с помощью клавиатуры.
При нажатии сочетания клавиши Win и любой из клавиш управления курсором (стрелки вверх-вниз и влево-вправо) окно будет развернуто на половину экрана в зависимости от того, стрелку какого направления вы нажали. Далее можно продолжить «тайлить» окна. Если, например, нажать сочетание
Попробуйте поэкспериментировать с активным окном и уверен, вы оцените эту возможность при работе с различными программами.
Рабочие столы Linux
Продолжаем рассматривать настройки Linux Mint и давайте посмотрим что можно изменить в интерфейсе окон. Для этого выбираем модуль настроек «Окна» в Центре управления.
Здесь в первую очередь мы можем настроить вид переключения между окнами при нажатии сочетания клавиш Alt+Tab.
По умолчанию появляется лента со значками программ, запущенных в отдельных окнах:
Но мы можем изменить вид отображения, например, на «Timeline 3D» и вместо ленты появится красивая анимация запущенных окон:
Посмотрите варианты и выберите наиболее понравившийся. Для того, чтобы переключить настройку достаточно ее выбрать из выпадающего списка. Никаких дополнительных кнопок нажимать не нужно, поэтому опробовать все варианты можно достаточно быстро и без лишних движений.
Следующий раздел — «Строка заголовка». Как понятно из названия, тут мы можем настроить строку заголовка окон.
В первую очередь можем настроить кнопки, которые находятся в правой части строки заголовка. Мы их можем частично перенести в левую часть, поменять их очередность или добавить новые кнопки.
Например, выбрав «Меню» мы добавим кнопку, вызывающую выпадающее меню с некоторыми опциями.
Мы можем закрепить окно на переднем плане и тогда оно всегда будет находится поверх других, даже когда не будет активным.
Здесь есть еще несколько опций, относящихся к рабочему месту и о том, что это такое я расскажу чуть позже.
Следующая возможная кнопка — «Липкий». Она позволяет окну «прилипать» к границам других окон или к границам экрана, что упрощает позиционирование окон на рабочем столе.
Ну и последняя возможная кнопка — «Затенить». Она позволяет свернуть окно в строку заголовка. Насколько удобные данные опции судить вам. Я пользуюсь значениями по умолчанию.
Далее идут настройки действий при определенных манипуляциях мышью. Думаю, вы помните, как в одном из прошлых видео я рассказывал, что двойной щелчок левой кнопкой мыши по строке заголовка приводит к разворачиванию окна на весь экран. Так вот сейчас вы это действие можете изменить по своему желанию, а также настроить и другие действия. Я также здесь все оставляю по умолчанию, так как мне эти значения привычны и удобны.
Далее идет настройка списка окон. Здесь все можно оставить как есть и речь здесь идет о рабочих местах или областях, о которых я обещал рассказать и сделаю это через минуту.
Следующий раздел — «Фокусировка окон». Под фокусировкой подразумевается действие, которое делает окно активным, причем окно при этом необязательно будет на переднем плане. По умолчанию это щелчок мышью по окну, что, думаю, является привычным для всех пользователей. Если выставить значение «мышь», то окно будет становиться активным при простом наведении на него указателя мыши.
Поэкспериментируйте и вы увидите как изменяется подсветка окна, указывающая на его активность, но само окно при этом на передний план не помещается. Если установить сейчас галочку в пункте «Автоматически переключаться на окно, получившее фокус», то при наведении указателя мыши на неактивное окно, оно будет перемещаться на передний план. Не думаю, что это удобно и что в этом подразделе настроек нужно что-то изменять, в общем-то как и в последнем подразделе, отвечающем за перемещение или изменение размера окон. Здесь указывается клавиша, при нажатии которой можно перемещать окно или изменять его размеры.
Не уверен, что кто-то этим пользуется, но по факту это позволяет перетаскивать окно не только захватив его за строку заголовка, но и за любую его область. Для этого нужно нажать клавишу, указанную здесь (по умолчанию это клавиша Alt) и перемещать окно, «ухватившись» левой кнопкой мыши за любую его область, при этом правая кнопка мыши с этой же клавишей позволит изменить размеры окна.
На этом с настройками окон заканчиваю и расскажу, как и обещал, о рабочих местах или виртуальных рабочих столах.
Для всего семейства операционный систем Линукс характерно наличие так называемых виртуальных рабочих столов. Для пользователей Windows это может показаться непривычным и непонятным, но на самом деле штука очень удобная. В Linux Mint виртуальные рабочие столы называют рабочими областями (Workspaces). По умолчанию их два, хотя это количество можно увеличить.
По сути рабочие области — это виртуальные экраны, с которыми вы можете работать одновременно.
Но возникает вполне закономерный вопрос — а зачем мне два, три или восемь рабочих столов, ведь и на одном все окна помещаются?
А дело в том, что на отдельных рабочих столах вы можете запускать программы под отдельные задачи, например, на первом рабочем столе — браузер, на втором — текстовый редактор, на третьем — скайп и так далее. Еще вы можете группировать запущенные программы по назначению на отдельных рабочих столах и другие окна вас не будут отвлекать. Причем вы можете раскрыть программу на весь экран и это вам не помешает при необходимости обратиться к окну другой программы, которая будет находится на соседнем рабочем столе.
Конечно, тоже самое можно сделать и на одном рабочем столе, просто поискать значок программы в управляющей панели или воспользоваться сочетанием Alt+Tab, но все же виртуальный рабочий стол несколько удобнее, хотя это мое субъективное мнение и вы можете составить свое, опробовав эту возможность на деле.
Переключаться между рабочими областями можно с помощью комбинации клавиш Ctrl+Alt+Стрелка вправо/влево.
Также в правой части управляющей панели есть кнопка «все окна», с помощью которой можно выбрать окно программы, расположенное на любом из доступных виртуальных рабочих столов.
По сути эта кнопка является стандартным апплетом Windows Quick List и при желании вы можете поменять ее месторасположение на управляющей панели или совсем удалить. О том как это сделать я рассказал в прошлом видео.
Также хочу обратить ваше внимание на то, что ранее нами рассмотренное сочетание клавиш Alt+Tab позволяет переключаться между приложениями в одной рабочей области. Поэтому для выбора окна, расположенного на другом рабочем столе, стоит воспользоваться либо сочетанием Ctrl+Alt+Стрелка вправо/влево, либо кнопкой «Все окна», расположенной в панели управления.
Но как создать еще одну рабочую область? Ведь как я сказал ранее, по умолчанию их только две. Для этого нажимаем сочетание клавиш Ctrl+Alt+Стрелка вверх и появляются все рабочие области в виде значков — это так называемый режим экспозиции.![]()
Здесь мы можем переименовать рабочие области или создать новую, щелкнув на плюс справа. Также тут мы можем и удалять созданные области, для этого при наведении указателя мыши на область в ее верхнем правом углу появляется «крестик».
Чтобы выйти из режима экспозиции достаточно выбрать рабочую область мышью или нажать сочетание клавиш Ctrl+Alt+Стрелка вниз. Кстати это же сочетание клавиш позволяет вам увидеть все запущенные в активной рабочей области окна, что можно использовать также как и сочетание Alt+Tab.
У рабочих областей есть одноименный модуль в «Центре управления», но особого смысла менять здесь что-то я не вижу. Хотя здесь можно изменить отображение рабочих областей в режиме экспонирования.
Так если вы создадите более двух рабочих областей и отмените опцию «Показывать экспозицию как сетку», то при переходе в режим экспозиции все рабочие области выстроятся в линию.
Ну и в заключении вернемся к меню, появляющемся по умолчанию при щелчке правой кнопкой мыши по строке заголовка любого окна.
Здесь есть два пункта, о которых я ранее не рассказал.
Первый пункт «Всегда на видимом рабочем месте» заставит данное окно перемещаться на другие рабочие столы вместе с вами. То есть вы будете переключаться между рабочими областями и окно будет следовать за вами.
Ну а пункт «Переместить на другое рабочее место» позволит переместить окно на другой виртуальный рабочий стол, который нужно выбрать из списка.
Рабочий стол Linux в браузере / Хабр
Первый в мире браузер (1993 года) выполнял две функции:
- рендеринг HTML;
- переход по гиперссылкам (навигация, браузинг — отсюда и название «браузер»).
Всё было предельно просто. Но те времена давно ушли.
Современный браузер эволюционировал в сложнейшую мета-систему, которая по объёму кода превосходит ядра многих ОС. Более того, браузер де-факто может работать как операционная система. И не только в Linux-виртуалке (как ChromeOS), но как реальная платформа для запуска настоящих приложений, в том числе нативных программ на C, C++, Go и Node.![]()
Запуск Unix-процессов внутри браузера
Для доказательства этой концепции был разработан экспериментальный проект Browsix. Мотивы создания Browsix и архитектура системы описаны в научной статье (doi: 10.1145/3037697.3037727). Очень странно, но этот уникальный проект 2017 года ни разу не упомянут на Хабре.
Если в двух словах, Browsix запускает оригинальные, немодифицированные программы C, C++, Go и Node.js в браузере клиента как процессы Web Workers в окружении POSIX, работающие параллельно друг с другом и с основным браузерным потоком, который рендерит страницы.
Browsix перехватывает системные вызовы и обеспечивает программам доступ к стандартным сервисам ОС, таким как общая файловая система и процессы. Есть также ограниченная поддержка синхронного I/O и сокетов TCP/IP.
В отличие от интерпретаторов типа Cygwin, сам Browsix не выполняет интерпретацию кода. Он предоставляет общее ядро и примитивы вроде системных вызовов для существующих интерпретаторов и режимов выполнения, ориентированных на JavaScript.
Основные модули Browsix написаны на TypeScript (первые три строки в таблице).
▍ Компоненты Browsix
| Компонент | Строк кода |
|---|---|
| Ядро | 2249 |
| Модификации BrowserFS | 1231 |
| Общий модуль syscall | 421 |
| Интеграция с Emscripten (поддержка С/С++) | 1557 |
| Интеграция с GopherJS (поддержка Go) | 926 |
| Интеграция с Node.js | 1742 |
| Всего | 8126 |
Например, разработчики расширили компиляторы GopherJS и Emscripten, чтобы они могли работать с их общим ядром, так что процессы, написанные на C и Go, могут работать параллельно (в отдельных веб-воркерах) и взаимодействовать через каналы, сокеты и файловую систему в браузере (как в стандартной среде Unix).
Зачем это нужно?
В современной концепции разработки интерактивные веб-приложения обычно разделяются на серверную и клиентскую части:
- Бэкенд (выполняется на сервере).
- Фронтенд (выполняется у клиента).
Browsix позволяет всё выполнять в браузере у клиента, без традиционного бэкенда. Теоретически — такой цельный подход без разделения приложения на две части способен упростить веб-разработку и сократить издержки на поддержку бэкенда.
Вместо того чтобы поддерживать серверную часть приложения из существующих Unix-программ, разработчик просто переносит их в браузер клиента. Кроме всего прочего, это устраняет целый класс проблем безопасности (программы явно будут иметь доступ только к данным текущего пользователя на вкладке браузера) и масштабирования.
▍ Примеры
Посмотрим на примеры приложений, которые работают внутри Browsix.
- Терминал даёт доступ к внутренностям Browsix через стандартную консоль POSIX (по крайней мере, так было задумано, в реальности многое сейчас не работает):
Исходный код
- Редактор LaTeX просто берёт дистрибутив TeX Live и загружает его в браузер, а PDF генерируется с помощью pdflatex и bibtex, см.
исходный код приложения. Для запуска LaTeX нужно дождаться загрузки нескольких сотен файлов. Но затем всё должно работать в браузере клиента.
(скриншот с офсайта)Сейчас редактор запускается не во всех браузерах (у нас не загрузилось в Firefox Nightly 105.0a1 и Chrome 104.0.5112.81). Но по старым скриншотам видно, что его функциональность сравнима с коммерческими веб-редакторов LaTeX, таких как Overleaf:
Overleaf
Теоретически, в Browsix можно загрузить любую программу. Хотя разработчики давно не обновляли движок и он сейчас немного глючит. Но это эксперимент, который демонстрирует, что запуск произвольных бинарников в принципе возможен.
Консоль в браузере
Терминал Browsix — не единственная реализация консоли Unix в браузере. Из известных разработок вспоминается утилита GoTTY, которая отправляет выдачу консоли в браузер клиента:
А если объединить этот инструмент с эмулятором операционной системы в браузере, то получается нечто такое.
Десктоп на JavaScript
JavaScript позволяет реализовать в браузере вполне правдоподобное десктопное окружение. Это отличная демонстрация современных веб-технологий. Хотя понятно, что JS работает на порядок медленнее, чем любой нативный код.
Среди таких любительских проектов — DaedalOS, написанный одним программистом в течение года, см. исходный код.
Если развернуть на весь экран и пощёлкать по иконкам, то создаётся смутное впечатление обычного десктопа Windows, только на очень старом железе (из-за больших лагов). А так тут есть меню «Пуск», папки, рабочий софт, игры.
Ещё один похожий проект — Puter, тоже сделанный за год одним человеком. Только здесь GUI рабочего стола больше напоминает macOS или Linux, и кажется немного симпатичнее. Создаётся ощущение, что здесь лаги поменьше. Например, изменение размера окон и перемещение их по экрану вообще не тормозит. Правда, встроенный набор приложений гораздо более скудный. Ни игр, ни другого софта, только консоль.
В отличие от разработчиков консоли Browsix, здесь автор реально принимает баги, извиняется и исправляет ошибки. Десктоп нормально работает во всех основных браузерах последних версий.
Браузер — это операционная система
Примеры создания полноценных десктопных окружений внутри браузера демонстрируют в том числе невероятную сложность современного браузера. То есть браузер — это альтернативная (универсальная) платформа для разработки приложений. Там можно реализовать все функции нативных программ Linux, Windows или macOS.
В принципе, в браузере можно запустить эмулятор конкретной операционной системы — и уже в нём запускать все нативные программы, в том числе другие браузеры, а в них другие операционные системы и так далее. Как шутят на реддите, главное — не гуглить Google, запустив браузер внутри браузера, и не вешать чужие терминалы командой rm -rf /.
Ещё в далёком 2012 году JSLinux от Фабриса Беллара стал первым эмулятором, способным загружать в браузер произвольные операционные системы.
Он изначально поддерживал следующие ОС:
| CPU | ОС | Интерфейс | Доступ к VFsync | Ссылка на загрузку | Конфигурация TEMU | Комментарий автора |
|---|---|---|---|---|---|---|
| x86 | Alpine Linux 3.12.0 | Консоль | Да | нажмите здесь | url | |
| x86 | Alpine Linux 3.12.0 | X Window | Да | нажмите здесь | url | Правая кнопка мыши вызывает меню. |
| x86 | Windows 2000 | Graphical | Нет | нажмите здесь | url | Дисклеймер о снятии ответственности |
| x86 | FreeDOS | Текстовый VGA | Нет | нажмите здесь | url | |
| riscv64 | Buildroot (Linux) | Консоль | Да | нажмите здесь | url | |
| riscv64 | Buildroot (Linux) | X Window | Да | нажмите здесь | url | Правая кнопка мыши вызывает меню. |
| riscv64 | Fedora 33 (Linux) | Консоль | Да | нажмите здесь | url | Предупреждение: долгое время загрузки. |
| riscv64 | Fedora 33 (Linux) | X Window | Да | нажмите здесь | url | Предупреждение: долгое время загрузки. Правая кнопка мыши вызывает меню. |
Более современная версия этого эмулятора — виртуальный x86, на который можно загрузить 25 разных операционных систем, включая Arch Linux и Damn Small Linux. Всё это работает чисто в браузере.
Для удалённого управления другим компьютером тоже не требуется ничего, кроме браузера — см. Apache Guacamole, который поддерживает все стандартные протоколы типа VNC, RDP и SSH.
Видео с демонстрацией
В принципе, через Guacamole можно управлять «настольными компьютерами», которые физически даже не существуют, а живут в облаке или в контейнере на каком-нибудь хостинге, то есть виртуальными системами.
Кстати, из этой невероятной функциональности современного браузерного движка следует вывод, что разработать с нуля ещё одну махину, сравнимую с Chromium, очень трудно. И если исчезнет единственный на платформе x86 альтернативный движок Gecko (Firefox, FirefoxOS), то уже никто не сможет составить ему конкуренцию.
Ну а по сути современный браузер — уже сам по себе операционная система. Программы любой сложности при желании можно переписать на WebAssembly, asm.js или скомпилировать в JavaScript — и они будут работать в браузере.
40 наиболее часто используемых команд Linux, которые вы должны знать
На момент написания этой статьи доля Linux на мировом рынке настольных компьютеров составляла 2,68%, но более 90% всей облачной инфраструктуры и услуг хостинга работают в этой операционной системе. Только по этой причине очень важно знать популярные команды Linux.
Согласно опросу StackOverflow 2020 года, Linux является наиболее часто используемой операционной системой профессиональными разработчиками с впечатляющей долей рынка 55,9%.
Это не просто совпадение. Linux является бесплатным и открытым исходным кодом, имеет лучшую безопасность, чем его конкуренты, и может похвастаться мощной командной строкой, которая делает разработчиков и опытных пользователей более эффективными. У вас также есть доступ к мощному диспетчеру пакетов и множеству инструментов разработки, таких как DevKinsta.
Если вы опытный системный администратор или новичок в Linux, вы можете воспользоваться этим руководством.
Начнем!
Что такое команда Linux?
Команда Linux — это программа или утилита, которая запускается из командной строки. Командная строка — это интерфейс, который принимает строки текста и преобразует их в инструкции для вашего компьютера.
Любой графический интерфейс пользователя (GUI) — это просто абстракция программ командной строки. Например, когда вы закрываете окно, нажимая «X», за этим действием выполняется команда.
Флаг — это способ передачи параметров выполняемой вами команде.
У большинства команд Linux есть страница справки, которую мы можем вызвать с помощью флага -h . В большинстве случаев флаги необязательны.
Аргумент или параметр — это ввод , который мы даем команде, чтобы она могла работать правильно. В большинстве случаев аргументом является путь к файлу, но это может быть что угодно, что вы вводите в терминале.
Вы можете вызывать флаги, используя дефисы ( - ) и двойные дефисы ( -- ), а выполнение аргументов зависит от того, в каком порядке вы передаете их функции.
Знаете ли вы, что 90% всей облачной инфраструктуры и хостинговых услуг используют Linux? 🤯 Только по этой причине очень важно знать популярные команды Linux. ⬇️Нажмите, чтобы твитнуть
Наиболее часто используемые команды Linux
Прежде чем перейти к наиболее часто используемым командам Linux, обязательно запустите терминал . В большинстве дистрибутивов Linux вы бы использовали Ctrl + Alt + T , чтобы сделать это.
Если это не работает, найдите на панели приложений «терминал».
Теперь давайте рассмотрим 40 наиболее часто используемых команд Linux. Многие из них имеют несколько параметров, которые вы можете добавить к ним, поэтому обязательно ознакомьтесь с руководством по командам.
1.
ls Команда ls , вероятно, первая команда, которую каждый пользователь Linux вводит в своем терминале. Он позволяет вам перечислить содержимое нужного каталога (по умолчанию текущий каталог), включая файлы и другие вложенные каталоги.
ls
У него много опций, поэтому может быть полезно получить помощь, используя флаг --help . Этот флаг возвращает все флаги, которые вы можете использовать с ls.
Например, чтобы раскрасить вывод команды ls , можно использовать следующее:
ls --color=autoРаскрашенная команда ls.
Теперь вывод команды ls раскрашен, и вы можете оценить разницу между каталогом и файлом.
Но набрав ls с флагом цвета будет неэффективным; вот почему мы используем команду псевдонима .
2.
псевдоним Команда Команда псевдоним позволяет определить временные псевдонимы в сеансе оболочки. При создании псевдонима вы указываете своей оболочке заменить слово серией команд.
Например, чтобы установить цвет ls без ввода флага --color каждый раз, вы должны использовать:
alias ls="ls --color=auto"
Как видите, команда alias принимает один параметр пары «ключ-значение»: alias NAME="VALUE" . Обратите внимание, что значение должно быть заключено в кавычки.
Если вы хотите вывести список всех псевдонимов, которые у вас есть в сеансе оболочки, вы можете запустить команду alias без аргументов.
Псевдоним
Псевдоним команды.
3.
unalias Команда Как следует из названия, 9Команда 0019 unalias предназначена для удаления псевдонима из уже определенных псевдонимов.
Чтобы удалить предыдущий псевдоним ls , вы можете использовать:
unalias ls
4.
pwd Команда Команда pwd означает «печать рабочего каталога», и она выводит каталог, в котором вы находитесь. Например, если ваше имя пользователя «john» и вы находитесь в каталоге «Документы», его абсолютный путь будет следующим: /home/john/Documents .
Чтобы использовать его, просто введите pwd в терминале:
pwd # Мой результат: /home/kinsta/Documents/linux-commands
5.
cd Command Команда cd очень популярна, наряду с ls . Он ссылается на « c hange d irectory» и, как следует из названия, переключает вас в каталог, к которому вы пытаетесь получить доступ.
Например, если вы находитесь в папке «Документы» и пытаетесь получить доступ к одной из ее подпапок с именем Videos , вы можете ввести его, набрав:
cd Videos
Вы также можете указать абсолютный путь к папке:
cd /home/kinsta/Documents/Videos
Есть несколько трюков с cd Команда, которая может сэкономить вам много времени при игре с ней:
1.
Перейти в домашнюю папкуcd
2. Перейти на уровень выше
cd ..
3. Вернуться в предыдущий каталог
компакт-диск -
6.
cp CommandКопировать файлы и папки прямо в терминале Linux настолько просто, что иногда он может заменить обычные файловые менеджеры.
Чтобы использовать команду cp , просто введите ее вместе с исходным и целевым файлами:
cp file_to_copy.txt new_file.txt
Вы также можете копировать целые каталоги, используя рекурсивный флаг:
cp -r dir_to_copy /new_copy_dir/
Помните, что в Linux папки заканчиваются косой чертой ( /).
7.
rm КомандаТеперь, когда вы знаете, как копировать файлы, будет полезно узнать, как их удалять.
Вы можете использовать команду rm для удаления файлов и каталогов. Однако будьте осторожны при его использовании, потому что очень сложно (но не невозможно) восстановить файлы, удаленные таким образом.
Чтобы удалить обычный файл, введите:
rm file_to_copy.txt
Если вы хотите удалить пустой каталог, вы можете использовать рекурсивный ( -r ) флаг:
rm -r dir_to_remove/
С другой стороны, чтобы удалить каталог с содержимым внутри него, вам нужно использовать силу (-f) и рекурсивные флаги:
rm -rf dir_with_content_to_remove/
8.
mv Команда Вы используете команду mv для перемещения (или переименования) файлов и каталогов в вашей файловой системе.
Чтобы использовать эту команду, введите ее имя вместе с исходным и конечным файлами:
mv исходный_файл папка_назначения/ mv command_list.txt commands/
Чтобы использовать абсолютные пути, используйте:
mv /home/kinsta/BestMoviesOfAllTime ./
…где ./ — это каталог, в котором вы сейчас находитесь.
Вы также можно использовать mv для переименования файлов, сохраняя их в том же каталоге:
mv old_file.txt new_named_file.txt
9.
mkdir CommandДля создания папок в оболочке вы используете 9Команда 0019 mkdir . Просто укажите имя новой папки, убедитесь, что она не существует, и все готово.
Например, чтобы создать каталог для хранения всех ваших изображений, просто введите:
mkdir images/
Чтобы создать подкаталоги с помощью простой команды, используйте родительский ( -p ) флаг:
mkdir -p Movies/2004/
10.
man Command Другая важная команда Linux — man . Он отображает справочную страницу любой другой команды (если она есть).
Чтобы увидеть страницу руководства команды mkdir , введите:
man mkdir
Вы даже можете обратиться к странице руководства man :
man manСтраница руководства «man».
11.
touch Команда Команда touch позволяет обновлять время доступа и модификации указанных файлов.
Например, у меня есть старый файл, последний раз измененный 12 апреля:
Старая дата. Чтобы изменить его дату модификации на текущее время, нам нужно использовать флаг -m :
touch -m old_file
Теперь дата соответствует сегодняшней дате (которой на момент написания было 8 августа).
Новая дата Тем не менее, в большинстве случаев вы не будете использовать touch для изменения дат файлов, а скорее для создания новых пустых файлов:
touch new_file_name
12.
chmod Команда222 Команда chmod позволяет быстро изменить режим файла (разрешения). Он имеет много вариантов, доступных с ним.Основные разрешения, которые может иметь файл:
- r (чтение)
- Вт (запись)
- х (выполнить)
Одним из наиболее распространенных вариантов использования chmod является создание исполняемого файла пользователем.
Для этого введите chmod и флаг +x , а затем файл, для которого вы хотите изменить разрешения: используя ./ обозначение.
13.
./ Команда Возможно, нотация ./ сама по себе не является командой, но ее стоит упомянуть в этом списке. Это позволяет вашей оболочке запускать исполняемый файл с любым интерпретатором, установленным в вашей системе, прямо из терминала. Больше не нужно дважды щелкать файл в графическом файловом менеджере!
Например, с помощью этой команды вы можете запустить скрипт Python или программу, доступную только в формате .run, например XAMPP. При запуске исполняемого файла убедитесь, что у него есть разрешения на выполнение (x), которые вы можете изменить с помощью 9Команда 0019 chmod .
Вот простой скрипт Python и то, как мы будем запускать его с нотацией ./ :
#! /USR/бен/python3
# имя файла: скрипт
для я в диапазоне (20):
print(f"Это классный скрипт {i}") Вот как мы можем преобразовать скрипт в исполняемый файл и запустить его:
chmod +x script ./script
14.
exit Command Команда exit делает именно то, что следует из ее названия: с ее помощью вы можете завершить сеанс оболочки и, в большинстве случаев, автоматически закрыть терминал, который вы используете. :
выход
15.
sudo КомандаЭта команда расшифровывается как «superuser do» и позволяет вам действовать как суперпользователь или пользователь root во время выполнения определенной команды. Именно так Linux защищает себя и не позволяет пользователям случайно изменить файловую систему машины или установить неподходящие пакеты.
Sudo обычно используется для установки программного обеспечения или редактирования файлов за пределами домашнего каталога пользователя:
sudo apt install gimp
судо cd /root/ Он попросит вас ввести пароль администратора перед запуском команды, которую вы ввели после него.
16.
shutdown Команда Как вы можете догадаться, команда shutdown позволяет вам выключить компьютер. Однако его также можно использовать для остановки и перезагрузки.
Чтобы немедленно выключить компьютер (по умолчанию одна минута), введите:
выключить сейчас
Вы также можете запланировать выключение системы в 24-часовом формате:
Выключение 20:40
Чтобы отменить предыдущий вызов выключения , вы можете использовать флаг -C :
Отключение -C
17.
HTOP Команда HTOP . средство просмотра процессов, которое позволяет вам управлять ресурсами вашей машины прямо из терминала. В большинстве случаев он не установлен по умолчанию, поэтому не забудьте прочитать о нем больше на странице загрузки.
htopИнтерфейс «htop».
18.
unzip Команда Команда unzip позволяет извлечь содержимое файла .
zip из терминала. Опять же, этот пакет может быть не установлен по умолчанию, поэтому убедитесь, что вы установили его с помощью менеджера пакетов.
Здесь мы распаковываем ZIP-файл, полный изображений:
unzip images.zip
19.
apt , yum , pacman командыНезависимо от того, какой дистрибутив Linux вы используете. вполне вероятно, что вы используете менеджеры пакетов для установки, обновления и удаления программ, которыми пользуетесь каждый день.
Вы можете получить доступ к этим менеджерам пакетов через командную строку, и вы будете использовать тот или иной в зависимости от того, какой дистрибутив работает на вашем компьютере.
В следующих примерах устанавливается GIMP, бесплатное программное обеспечение с открытым исходным кодом, обычно доступное в большинстве менеджеров пакетов: Fedora, CentOS)
sudo yum install gimp
3. На базе Arch (Manjaro, Arco Linux)
sudo pacman -S gimp
20.
echo Команда Команда echo отображает определенный текст в терминале — это так просто:
echo "Его основное сообщение"8 состоит в том, чтобы печатать переменные окружения внутри этих сообщений:.echo "Hey $USER" # Hey kinsta21.
catCommand
Cat, сокращение от «concatenate», позволяет создавать, просматривать и объединять файлы прямо из терминала. В основном используется для предварительного просмотра файла без открытия графического текстового редактора:cat long_text_file.txtКоманда cat.22.
psКомандаС помощью
psвы можете просмотреть процессы, запущенные в текущем сеансе оболочки. Он печатает полезную информацию о запущенных вами программах, такую как идентификатор процесса, TTY (TeleTYpewriter), время и имя команды.псКоманда пс.Если вам нужно что-то более интерактивное, вы можете использовать
htop.23.
убитьКомандаРаздражает, когда программа не отвечает и никак нельзя закрыть. К счастью, такая проблема решается командой
kill.Проще говоря,
killотправляет TERM или сигнал уничтожения процессу, который завершает его.Вы можете завершить процесс, введя либо PID (идентификатор процесса), либо двоичное имя программы:
kill 533494 kill firefoxБудьте осторожны с этой командой — с
kill, вы рискуете случайно удалить проделанную работу.24.
pingКоманда
ping— самая популярная утилита сетевого терминала, используемая для проверки подключения к сети.pingимеет массу вариантов, но в большинстве случаев вы будете использовать его для запроса домена или IP-адреса:ping google.com ping 8.8.8.8
25.
vimКоманда
vim— это бесплатный текстовый редактор терминала с открытым исходным кодом, который используется с 90-х годов. Он позволяет редактировать простые текстовые файлы, используя эффективные сочетания клавиш.Некоторые люди считают его сложным в использовании — выход из Vim — один из самых популярных вопросов StackOverflow — но как только вы к нему привыкнете, он станет вашим лучшим союзником в командной строке.
Чтобы запустить Vim, просто введите:
vimТекстовый редактор vim.26.
историяКомандаЕсли вам сложно запомнить команду,
историяпригодится. Эта команда отображает пронумерованный список с командами, которые вы использовали в прошлом:historyКоманда history.27.
passwdКоманда
passwdпозволяет изменять пароли учетных записей пользователей.Сначала он предлагает вам ввести текущий пароль, затем запрашивает новый пароль и подтверждение.
Это похоже на любую другую смену пароля, которую вы видели где-либо еще, но в данном случае это прямо в вашем терминале:
passwdКоманда passwdБудьте осторожны при ее использовании — вы не хотите испортить свой пароль пользователя!
28.
whichCommandКоманда
whichвыводит полный путь команд оболочки. Если он не может распознать данную команду, он выдаст ошибку.Например, мы можем использовать это для проверки двоичного пути для Python и веб-браузера Brave:
какой python # /usr/бен/питон какой смелый # /usr/bin/храбрый29.
уничтожитьКомандаЕсли вы когда-либо хотели, чтобы файл было практически невозможно восстановить,
уничтожитьможет помочь вам с этой задачей. Эта команда многократно переопределяет содержимое файла, и в результате данный файл становится чрезвычайно трудно восстановить.Вот файл с небольшим содержимым:
Файл для уничтожения.Теперь пусть
shredсделает свое дело, введя следующую команду:shred file_to_shred.txtПерезаписанное содержимое.Если вы хотите удалить файл сразу, вы можете использовать флаг
-u: программа, которая позволяет просматривать файлы вперед и назад:less large_text_file.txtКоманда less.Отличительной чертой
меньшеявляется то, что он включает в свой интерфейс больше икоманд vim. Если вам нужно что-то более интерактивное, чемкат,меньшехороший вариант.31.
tailCommandПодобно
cat,tailпечатает содержимое файла с одной важной оговоркой: выводятся только последние строки. По умолчанию он печатает последние 10 строк, но вы можете изменить это число с помощью-n.Например, чтобы напечатать последние строки большого текстового файла, вы должны использовать:
tail long.Команда tail.txt
Для просмотра только последних четырех строк:
хвост -n 4 long.txtхвост четыре строки.32.
headCommandДополняет команду
tail.headвыводит первые 10 строк текстового файла, но вы можете установить любое количество строк, которое хотите отобразить, с помощью флага-n:head long.txt head -n 5 long.txtКоманда head.33.
grepCommandGrep — одна из самых мощных утилит для работы с текстовыми файлами. Он ищет строки, соответствующие регулярному выражению, и печатает их:
grep "linux" long.txtКоманда grep.Вы можете подсчитать, сколько раз шаблон повторяется, используя флаг
-c:grep -c "linux" long.txt # 234.
whoamiКомандаКоманда
whoami(сокращение от «who am i») отображает текущее используемое имя пользователя:whoami # kinstaВы получите тот же результат, используя
echoи переменную окружения $USER:эхо $ПОЛЬЗОВАТЕЛЬ # kinsta35.
![]()
whatisCommand
whatisвыводит однострочное описание любой другой команды, что делает его полезным справочником:whatis python # python (1) — интерпретируемый, интерактивный, объектно-ориентированный язык программирования что есть что # whatis (1) — отображать однострочные описания страниц руководства36.
wcКомандаWc означает «количество слов» и, как следует из названия, возвращает количество слов в текстовом файле:
wc long.txt # 37 207 1000 long.txtРазберем вывод этой команды:
- 37 строк
- 207 слов
- Размер 1000 байт
- Имя файла (long.txt)
Если вам нужно только количество слов, используйте флаг
-w:wc -w long.txt 207 long.txt37.
unameКоманда
uname(сокращение от «Unix name») выводит информацию об операционной системе, которая пригодится, если вы знаете текущую версию Linux.Большую часть времени вы будете использовать флаг
-a(-all), так как вывод по умолчанию не так полезен:uname # Линукс uname -а # Linux kinstamanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu, 5 августа, 12:15:21 UTC 2021 x86_64 GNU/Linux38.
neofetchCommandNeofetch — интерфейс командной строки инструмент, который отображает информацию о вашей системе — например, версию ядра, оболочку и аппаратное обеспечение — рядом с логотипом ASCII вашего дистрибутива Linux:
neofetchКоманда neofetch.На большинстве компьютеров эта команда недоступна по умолчанию, поэтому сначала обязательно установите ее с помощью диспетчера пакетов.
39.
findКомандаКоманда
findвыполняет поиск файлов в иерархии каталогов на основе регулярного выражения. Чтобы использовать его, следуйте приведенному ниже синтаксису:find [флаги] [путь] -имя [выражение]Чтобы найти файл с именем long.
txt в текущем каталоге, введите следующее:
find./-name "long.txt" # ./long.txtДля поиска файлов с расширением .py (Python) можно использовать следующую команду:
find./-type f -name "*.py" ./get_keys.py ./github_automation.py ./binarysearch.py 40.
wgetКоманда
wget(World Wide Web get) утилита для извлечения контента из Интернета. Здесь находится одна из самых больших коллекций флагов.Вот как загрузить файл Python из репозитория GitHub:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.pyLinux Памятка по командам
Всякий раз, когда вам нужна краткая справка, просто просмотрите следующую таблицу:
Команда Использование лсВыводит содержимое каталога псевдонимОпределение или отображение псевдонимов без псевдонимаУдалить псевдонимопределенийПечатает рабочий каталог CDКаталог изменений кпКопирует файлы и каталоги п/мУдалить файлы и каталоги мвПеремещает (переименовывает) файлы и каталоги мкдирСоздает каталоги человекОтображает справочную страницу других команд сенсорныйСоздает пустые файлы чмодИзменяет права доступа к файлам ./
Запускает исполняемый файл выходВыход из текущего сеанса оболочки СудоВыполняет команды как суперпользователь выключениеВыключает вашу машину верхняя частьОтображает информацию о процессах и ресурсах распаковатьИзвлекает сжатые файлы ZIP ап,ням,пакманМенеджеры пакетов эхоОтображает строки текста котРаспечатывает содержимое файла шт.Сообщает о состоянии процессов оболочки убитьЗавершает программы эхо-запросПроверка подключения к сети вимЭффективное редактирование текста историяПоказывает список предыдущих команд парольИзменяет пароль пользователя которыйВозвращает полный двоичный путь программы измельчитьПерезаписывает файл, чтобы скрыть его содержимое меньшеИнтерактивно проверяет файлы хвостОтображает последние строки файла головкаОтображает первые строки файла группаПечатает строки, соответствующие шаблонам ктоВыводит имя пользователя что этоПоказывает однострочные описания туалетФайлы количества слов имяОтображает информацию об ОС неофетчОтображает информацию об ОС и оборудовании найтиИщет файлы по шаблону wgetИзвлекает файлы из Интернета
По состоянию на 2020 год Linux была самой используемой операционной системой профессиональными разработчиками 😲 Изучите 40 наиболее часто используемых команд и начните пользоваться преимуществами этой мощной системы с помощью этого поста🚀Нажмите, чтобы твитнуть
Резюме
изучите Linux, но как только вы освоите некоторые из его инструментов, он станет вашим лучшим союзником, и вы не пожалеете, выбрав его в качестве ежедневного драйвера.
Одна из замечательных особенностей Linux заключается в том, что даже если вы опытный пользователь, вы никогда не перестанете учиться работать с ним более продуктивно.
Есть много других полезных команд Linux. Если мы что-то упустили, поделитесь своими любимыми командами Linux в комментариях ниже!
Экономьте время, затраты и повышайте производительность сайта с помощью:
- Мгновенная помощь от экспертов по хостингу WordPress, круглосуточно и без выходных.
- Интеграция с Cloudflare Enterprise.
- Глобальный охват аудитории благодаря 35 центрам обработки данных по всему миру.
- Оптимизация с помощью нашего встроенного мониторинга производительности приложений.
Все это и многое другое в одном плане без долгосрочных контрактов, сопровождаемой миграции и 30-дневной гарантии возврата денег. Ознакомьтесь с нашими планами или поговорите с отделом продаж, чтобы найти план, который подходит именно вам.
Изучение оболочки - Урок 2: Навигация
Главная |
Предыдущий | Содержание | Далее
В этом уроке мы познакомимся с нашими первыми тремя командами:
pwd(работа печати каталог),cd(сменить каталог) иls(список файлов и каталогов).Те, кто плохо знаком с командной строкой, должны обратить на это пристальное внимание. урок, так как концепции потребуют некоторого привыкания.
Организация файловой системы
Как и в Windows, файлы в системе Linux расположены в так называемом иерархическая структура каталогов . Это означает, что они организованы в древовидный шаблон из каталогов (называемых папками в других системах), который может содержать файлы и подкаталога . Первый каталог в файловая система называется корневым каталогом . Корневой каталог содержит файлы и подкаталоги, которые содержат больше файлов и подкаталогов и т.
д. и так далее.
Большинство графических сред включают программу управления файлами, используемую для просмотра и управлять содержимым файловой системы. Часто мы будем видеть файловую систему представлен так:
Одно важное различие между Windows и Unix-подобными операционными системами как и Linux, заключается в том, что Linux не использует концепцию букв дисков. Пока Буквы дисков Windows разбивают файловую систему на ряд разных деревьев. (по одному на каждое устройство), в Linux всегда одно дерево. Различное хранилище устройства могут быть разными ветвями дерева, но всегда есть только одиночное дерево.
pwd
Поскольку интерфейс командной строки не может отображать графические изображения файла структуры системы, мы должны иметь другой способ ее представления. Сделать это, думайте о дереве файловой системы как о лабиринте и о том, что мы стоим в нем. В любом данный момент мы находимся в одном каталоге. Внутри этого каталога мы может видеть его файлы и путь к его родительскому каталогу и пути к подкаталогам каталога, в котором мы стоим.
Каталог, в котором мы находимся, называется рабочим каталогом . К смотрим имя рабочего каталога, используем
pwdкоманда.[me@linuxbox me]$
pwd/home/meКогда мы впервые заходим в нашу систему Linux, рабочий каталог устанавливается в наш домашний каталог . Сюда мы помещаем наши файлы. В большинстве систем домашний каталог будет называться /home/user_name, но это может быть что угодно по прихоти системного администратора.
Чтобы вывести список файлов в рабочем каталоге, мы используем команду
ls.[me@linuxbox me]$
lsРабочий стол Загрузки foo.txt Картинки Шаблоны Documents examples.desktop Music Public VideosМы вернемся к
lsна следующем уроке. Там с ним можно делать много забавных вещей, но мы должны поговорить о путях и каталоги немного сначала.cd
Для смены рабочего каталога (где мы стоим в лабиринте) используем 9Команда 0019 cd
Для этого мы набираем
cd, а затем путь нужного рабочего каталог. Путь — это путь, по которому мы идем по ветвям дерева к попасть в нужный нам каталог. Пути могут быть указаны двумя разными способами; абсолютных путей или относительных путей . Давайте посмотрим с сначала абсолютные пути.Абсолютный путь начинается с корневого каталога и следует за деревом ветвь за ветвью, пока не будет завершен путь к нужному каталогу или файлу. Например, в вашей системе есть каталог, в котором находится большинство программ. установлены. Путь к каталогу
/usr/bin. Это означает из корневого каталога (обозначается ведущей косой чертой в имени пути) есть каталог под названием «usr», который содержит каталог под названием «bin».Давайте попробуем:
me@linuxbox me]$
cd /usr/binme@linuxbox bin]$pwd/USR/бен me@linuxbox bin]$ls'[' короткое имя 2to3-2,7 мшоужир 411toppm mtools a2ps mtoolstest a2ps-lpr-обертка mtr mtrace с поддержкой aa aa-exec mtr-пакет аклокал аклокал-1,15 мтип бормочет acpi_listen mxtar добавить-apt-репозиторий mzip добавить часть имени и многое другое...
Теперь мы видим, что мы изменили текущий рабочий каталог на
/usr/binи что он полон файлов. Обратите внимание, как приглашение оболочки изменилось? Для удобства обычно настраивается отображение имени рабочий каталог.Если абсолютный путь начинается с корневого каталога и ведет к его назначения, относительный путь начинается с рабочего каталога. Сделать это, он использует пару специальных обозначений для представления относительных позиций в дерево файловой системы. Эти специальные обозначения "." (точка) и ".." (точка точка).
"." обозначение относится к самому рабочему каталогу и «..» обозначение относится к родительскому каталогу рабочего каталога. Вот как это работает. Снова изменим рабочий каталог на /usr/bin:
me@linuxbox me]$
cd /usr/binme@linuxbox bin]$pwd/usr/binХорошо, теперь предположим, что мы хотели изменить рабочий каталог на родитель
/usr/bin, который является/usr.Мы могли бы сделать это два разных пути. Во-первых, с абсолютным путем:
me@linuxbox bin]$
cd /usrme@linuxbox usr]$pwd/usrИли с относительным путем:
me@linuxbox bin]$
cd ..me@linuxbox usr]$pwd/usrДва разных метода с одинаковыми результатами. Какой из них мы должны использовать? тот, который требует наименьшего набора текста!
Точно так же мы можем изменить рабочий каталог с
/usrна/usr/binдвумя разными способами. Первое использование абсолютного путь:me@linuxbox usr]$
cd /usr/binme@linuxbox bin]$pwd/usr/binИли с относительным путем:
me@linuxbox usr]$
cd ./binme@linuxbox bin]$pwd/usr/binЗдесь есть кое-что важное, на что мы должны обратить внимание.
В большинстве случаях мы можем опустить "./". Это подразумевается. Введите:
me@linuxbox usr]$
cd binсделает то же самое. В общем, если мы не указываем путь к что-то, рабочий каталог будет считаться. Есть одно важное исключение из этого, но мы не будем доходить до этого некоторое время.
Несколько ярлыков
Если мы введем
cd, а затем ничего,cdизменит рабочий каталог на наш домашний каталог.Соответствующий ярлык — ввести
cd ~ имя_пользователя. В этом случаеcdбудет изменить рабочий каталог на домашний каталог указанного пользователя.Ввод
cd -изменяет рабочий каталог на предыдущий.Верх | предыдущий | Содержание | Далее
Как работает ядро Linux? Объяснение анатомии ядра Linux
Ядро Linux похоже на мост, который обеспечивает вычислительную связь между приложениями и оборудованием и управляет ресурсами системы.
Линус Торвальдс разработал ядро Linux на C и ассемблере, и, таким образом, ему удалось создать легкое и переносимое ядро, которое было выпущено для публики как открытый исходный код.
Вы можете увидеть ядро Linux во многих различных секторах, таких как космос, компьютеры, умные часы, мобильные телефоны, робототехника и здравоохранение. Но задумывались ли вы когда-нибудь, как ядро Linux работает под капотом?
Использование оборудования в Linux
Ядро Linux, в первую очередь, контролирует, какое оборудование будет работать и каким образом, когда вы включаете компьютер. Кроме того, управление высокопроизводительным программным обеспечением возможно благодаря программному интерфейсу. Чтобы привести пример этих элементов управления, вы можете просмотреть информацию об оборудовании, установленном в слотах на вашей материнской плате, и извлечь выгоду из этой подробной информации.
Кроме того, этот программный интерфейс предоставляет уровень абстракции.
Например, если вы хотите пообщаться с друзьями по видеосвязи, вам понадобится веб-камера. Уровень абстракции позволяет используемому вами программному обеспечению использовать эту веб-камеру независимо от ее марки и модели. Программное обеспечение здесь может использовать только интерфейс, который существует для Linux. Ядро Linux переводит вызовы функций этого интерфейса в фактические аппаратные команды, необходимые веб-камере.
Используя виртуальные файловые системы /proc и /sys , ядро Linux может экспортировать подробную информацию об обнаруженном оборудовании. Ниже вы можете увидеть несколько инструментов, используемых для этого, и какие устройства и карты они экспортируют:
- lspci : для устройств PCI
- lsusb : для устройств USB
- lspcmcia : для карт PCMCIA
Как видите, дистрибутив Linux на скриншоте выше работает на VirtualBox. Однако у вас есть возможность увидеть много информации, такой как VGA, контроллер USB, мосты и контроллер SATA.
Вы также можете использовать параметр -v для получения более подробной информации.
В ядре Linux приложения обычно получают доступ к устройствам через специальные файлы, находящиеся в каталоге /dev . Эти специальные файлы представляют собой дисководы и другие физические устройства. Примерами таких специальных файлов являются такие файлы, как /dev/hda , /dev/sdc , /dev/sdc3 , /dev/input/mouse0 и dev/snd/* .
Управление файловой системой Linux
Файловые системы — один из наиболее заметных компонентов ядра Linux. Файловая система Linux — одно из его самых больших преимуществ. Все файлы в системе Linux собираются в одну ветвь. Таким образом, пользователи могут использовать эту иерархию для достижения желаемых мест.
Начальной точкой этой иерархии является корневой каталог (/). Другие подкаталоги находятся в корневом каталоге.
Наиболее часто используемым подкаталогом в / является 9-й.0017 /home каталог. Этот подкаталог содержит другие подкаталоги, и в каждом каталоге есть файлы, в которых хранятся фактические данные.
Например, вы можете думать о текстовом файле на рабочем столе. Если вы создаете текстовый файл с именем helloworld.txt на рабочем столе, вы можете ссылаться на него как /home/muo/Desktop/helloworld.txt . Пример /muo здесь, конечно, будет другим. Потому что это имя подкаталога зависит от вашего текущего имени пользователя. С помощью этой системы именования ядро Linux выполняет преобразование между фактическим и физическим хранилищем, существующим на диске.
Также ядро Linux может интегрировать данные с нескольких дисков. Тут в дело вступает система крепления. Он использует один из дисков в корневой системе и монтирует остальные в существующие каталоги в иерархии. Затем другие диски размещаются под точками монтирования.
Это позволяет пользователям хранить каталог /home на втором жестком диске, который также содержит другие подкаталоги.
Когда вы монтируете диск в каталог /home , вы можете получить доступ к этим каталогам из обычных местоположений. Таким образом, такие пути, как /home/muo/Desktop/helloworld.txt продолжают работать.
Вы можете увидеть точки монтирования между файлами в вашей системе с помощью команды findmnt -A .
Многие форматы файловых систем позволяют физически хранить данные на дисках. Наиболее широко известными в Linux являются форматы файловой системы ext2 , ext3 и ext4 . Однако существует множество других форматов файловых систем. В любом случае, вы должны отформатировать файловую систему перед ее монтированием. Вы можете использовать такие команды, как mkfs.ext3 (mkfs означает создание файловой системы, а ext3 — файловая система) для этого.
Эти команды принимают в качестве параметра путь к файлу устройства, который вы хотите отформатировать. Это разрушительная операция, и вы должны использовать ее с осторожностью, если не хотите стереть или сбросить файловую систему.
Кроме того, существуют сетевые файловые системы, такие как NFS, которые использует ядро Linux. NFS — это сетевая файловая система, в которой данные не хранятся на локальном диске. При использовании NFS данные передаются по сети на сервер, на котором они хранятся. Так как данные будут на сервере, пользователям не придется постоянно с ними иметь дело. Они также могут использовать традиционную иерархическую файловую систему Linux, как обычно.
Операции с общими функциями
Все программное обеспечение в системе Linux имеет общие функции. Вот почему эти функции являются центральными в ядре Linux. Например, при открытии файла вы можете открыть его только именем файла, не зная, где файл физически хранится, и какие функции и операции он будет использовать.
Все эти функции уже присутствуют в ядре.
Вы можете сохранить файл на жестком диске, разделить его между несколькими жесткими дисками или даже хранить на удаленном сервере. В таких случаях важны функции обмена общими файлами. Приложения обмениваются данными независимо от того, как данные перемещаются. Общие коммуникационные функции предназначены для осуществления такого обмена данными. Это перемещение может осуществляться по беспроводным сетям или даже по стационарной телефонной линии.
Управление процессами в Linux
Активный экземпляр программы, работающей с данными или информацией в памяти, называется процессом. Задача ядра Linux — генерировать и отслеживать эти области памяти. Ядро выделяет память для запущенной программы и загружает исполняемый код в память из файловой системы. Сразу после этого ядро запускает код.
Ядро Linux поддерживает многозадачность. Он способен запускать множество процессов одновременно. Однако в любой заданный период времени существует только одна транзакция.
Однако ядро Linux разбивает время на маленькие отрезки, и в результате каждая процедура выполняется последовательно.
Поскольку эти маленькие временные сегменты задаются с шагом в миллисекунды, они активны только в определенное время и остаются бездействующими все остальное время. Задача ядра Linux здесь состоит в том, чтобы максимизировать производительность за счет одновременного запуска нескольких процессов.
Если временные интервалы слишком велики, работающее приложение может работать не так быстро, как хотелось бы. Если сроки слишком короткие, могут возникнуть проблемы со сменой задач. В зависимости от приоритета процесса требуемый здесь временной интервал будет варьироваться. Возможно, вы уже слышали о высокоприоритетных и низкоприоритетных процессах. Это одна из функций, которыми управляет ядро Linux.
Это объяснение не всегда верно. Реальное ограничение заключается в том, что на одно ядро процессора может быть только один рабочий процесс в каждый момент времени.
Многопроцессорные системы позволяют нескольким процессам работать параллельно. Базовая система почти всегда имеет десятки запущенных процессов.
Права доступа в Linux
Как и в других операционных системах, в системе Linux можно создать множество пользователей. На такие случаи существует система управления правами, поддерживающая отдельных пользователей и группы. Здесь в игру вступают права доступа к файлам и пользователям.
Ядро Linux управляет данными и проверяет необходимые разрешения для каждого процесса. Например, если вы пытаетесь открыть файл, ядро должно сверить идентификатор процесса с правами доступа. Если ядро проверит и увидит, что у вас есть разрешения, оно откроет файл.
Ядро Linux контролирует все
Как видите, ядро Linux контролирует все, от безопасности ваших файлов до создания пользователей и загрузки файлов из Интернета. Все в определенном порядке. У каждого пользователя есть права. Ядро Linux управляет процессами и временными интервалами для достижения максимальной производительности.


Если к компьютеру имеют доступ несколько человек, то каждый из пользователей может завести свой личный аккаунт и соответственно иметь индивидуальные настройки внешнего вида операционной системы и область хранения данных, которая будет недоступна другим пользователям компьютера. В Windows, в общем-то, ситуация аналогичная, поэтому если вы пользовались ранее такой возможностью, то и в Линукс сможете настроить аккаунты для каждого пользователя.
исходный код приложения. Для запуска LaTeX нужно дождаться загрузки нескольких сотен файлов. Но затем всё должно работать в браузере клиента.
txt new_named_file.txt 
com
ping 8.8.8.8
Сначала он предлагает вам ввести текущий пароль, затем запрашивает новый пароль и подтверждение.
txt
txt в текущем каталоге, введите следующее:
/ 

д.
и так далее.
Для этого мы набираем
В большинстве
случаях мы можем опустить "./". Это подразумевается. Введите:
Например, если вы хотите пообщаться с друзьями по видеосвязи, вам понадобится веб-камера. Уровень абстракции позволяет используемому вами программному обеспечению использовать эту веб-камеру независимо от ее марки и модели. Программное обеспечение здесь может использовать только интерфейс, который существует для Linux. Ядро Linux переводит вызовы функций этого интерфейса в фактические аппаратные команды, необходимые веб-камере.