Исходный код Ubuntu, что делает

Обновлено: 06.07.2024

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

Мы считаем, что каждый пользователь компьютера:

  • Должен иметь право загружать, запускать, копировать, распространять, изучать, делиться, изменять и улучшать свое программное обеспечение для любых целей без уплаты лицензионных сборов.
  • Должны иметь возможность использовать свое программное обеспечение на языке по своему выбору.
  • Должен быть в состоянии использовать все программное обеспечение независимо от инвалидности.
  • Наша философия отражена в программном обеспечении, которое мы производим, в том, как мы его распространяем, а также в наших условиях лицензирования — Политика прав интеллектуальной собственности.

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

Для ускорения инноваций и поддержки операций

Мы делаем мир лучше, позволяя каждому и в любом месте реализовывать свои амбиции независимо от своих ресурсов. Для нас важно, чтобы исследователь в самом дальнем уголке мира от Силиконовой долины мог использовать Ubuntu на точно таких же условиях, как и стартап в Сан-Франциско, для создания чего-то, о чем раньше никто не мог и мечтать. Для нас также важно, что Ubuntu позволяет этим выскочкам расти, превращаться из гаражных провидцев в галактических звезд, а Canonical служит для предоставления корпоративных возможностей и услуг для пользователей Ubuntu.

Бесплатное программное обеспечение

Наши предпочтительные лицензии на программное обеспечение — это «свободное программное обеспечение», и так будет всегда. Бесплатное программное обеспечение дает каждому свободу использовать его по своему усмотрению и делиться им с кем угодно. Эта свобода имеет огромные преимущества. С одной стороны, это позволяет сообществу Ubuntu расти и делиться своим коллективным опытом и знаниями, чтобы постоянно улучшать все, что связано с Ubuntu. С другой стороны, мы можем предоставить доступ к необходимому программному обеспечению для тех, кто иначе не мог себе этого позволить. Это преимущество остро ощущается отдельными лицами и организациями по всему миру.

Цитируя статью Free Software Foundation «Что такое свободное программное обеспечение», свободы, лежащие в основе свободного программного обеспечения, определяются следующим образом:

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

Открытый код

Открытый исходный код — это коллективная сила в действии. Сила мирового сообщества высококвалифицированных экспертов, которые вместе создают, распространяют и улучшают новейшее программное обеспечение, а затем делают его доступным для всех.

Термин с открытым исходным кодом был придуман в 1998 году, чтобы устранить двусмысленность английского слова "бесплатный", и продолжает пользоваться растущим успехом и широким признанием. Хотя некоторые считают «бесплатный» и «открытый исходный код» конкурирующими движениями с разными целями, мы этого не делаем. Ubuntu с гордостью включает в себя участников, которые отождествляют себя с обоими.

Первоначально введенный в употребление в 1998 году, термин "открытый исходный код" появился в результате движения за свободное программное обеспечение – коллективной силы, которая набирала силу с момента появления вычислительной техники в 1950-х годах. Это раннее сообщество отвечало за разработку многих первых операционных систем, программного обеспечения, а в 1969 году и самого Интернета.

Сообщество разработчиков открытого исходного кода процветает и сегодня может похвастаться одними из лучших специалистов в этой области. Цель не изменилась: бесплатные системы и программное обеспечение должны быть доступны каждому, где бы он ни находился.

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

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

Что такое открытый исходный код?

  1. Программное обеспечение должно быть бесплатным для повторного распространения.
  2. Программа должна включать исходный код.
  3. Лицензия должна позволять экспериментировать с модификациями и распространять их.
  4. Пользователи имеют право знать, кто несет ответственность за используемое ими программное обеспечение.
  5. Не должно быть никакой дискриминации в отношении какого-либо лица или группы.
  6. Лицензия не должна ограничивать использование программы кем-либо в определенной области.
  7. Никому не нужно приобретать дополнительную лицензию для использования или распространения программы.
  8. Лицензия не должна относиться к продукту.
  9. Лицензия не должна ограничивать другое программное обеспечение.
  10. Лицензия должна быть нейтральной в отношении технологий.

Хотите полностью управляемое частное облако?

Canonical предоставляет вариант управляемых услуг для OpenStack. Наши специалисты берут на себя ответственность за проектирование, развертывание и эксплуатацию.

Скачать Ubuntu

Программная платформа с открытым исходным кодом, которая работает везде, от смартфона, планшета и ПК до сервера и облака.

Он существует, и его можно запустить. Почему в Ubuntu нет документации по этому поводу? Что оно делает? Как я могу установить документацию об этом?

Моя оболочка вернула это $ whatis source source (1) — встроенные команды bash, см. bash(1) . Кроме того, источник руководства приводит меня к справочным страницам BASH_BUILTINS(1). Кстати, это в Fedora, понятия не имею, почему эти пакеты Debian не документированы (или плохо) документированы.

11 ответов 11

source — это встроенная команда оболочки bash, которая выполняет содержимое файла, переданного в качестве аргумента, в текущей оболочке. У него есть синоним в . (период).


Является ли source командой bash или она есть и в других оболочках? (Я прошу правильно поставить теги в вопросе. )

@nagul, исходный код не присутствовал в оболочке Bourne, это расширение GNU, появившееся намного позже. Оригинальный и все еще переносимый синтаксис (POSIX) заключается в использовании команды «точка», т.е. вместо. Лично я никогда не пользуюсь исходным кодом, так как он дольше печатается и не имеет никакой дополнительной ценности. Я думаю, его основная цель — сделать скрипты более читабельными для новичков.

@jlliagre мое личное «объясните, почему есть источник» заключается в том, что источник не только более описательный, но и выглядит не как опечатка. У меня были люди, которые пропускали точку/точку, когда я отправлял технические команды по электронной почте.

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

Будьте осторожны! ./ и источник не совсем совпадают.

  • ./script запускает скрипт как исполняемый файл, запуская новую оболочку для его запуска
  • исходный скрипт читает и выполняет команды из имени файла в текущей среде оболочки

Примечание: ./script не является . сценарий, но. скрипт == исходный скрипт


Вы путаете ./command и . сценарий. Исходная команда такая же, как .-команда. Использование ./meh указывает на запуск скрипта/бинарного файла с именем meh в текущем каталоге и не имеет ничего общего с source/. -команда. Как объяснено в ответе по вашей ссылке.

@JoakimEloftsson Это упоминается в ссылке, но я изменю ответ, чтобы избежать неправильного понимания. Пожалуйста, исправьте это.

Важно, что принятый ответ также указывает на этот, потому что на мгновение я подумал, что ./ == source == .

Полезно знать команду type:

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

Для уточнения: если вы используете bash и знаете (возможно, через type), что это встроенная команда, тогда help приведет вас прямо к нужному абзацу документации, не продираясь через 4 184 строки текста "man bash".

<р>. (точка) — это встроенная команда оболочки bash, которая выполняет команды из файла, переданного в качестве аргумента, в текущей оболочке. «источник» является синонимом «.».

Со страницы руководства Bash:

'источник' — это длинная версия '.' команда. В приглашении bash можно сделать:

чтобы перезагрузить ваши (измененные?) настройки bash для текущего запущенного bash.

Короткая версия:

команда source выполняет предоставленный скрипт (права на выполнение не являются обязательными) в текущей среде оболочки, а ./ выполняет предоставленный исполняемый скрипт в новой оболочке.

у исходной команды есть синоним . имя файла .

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

сделать_псевдоним

Теперь у нас есть два варианта выполнения этого скрипта. Но с только одним параметром нужный псевдоним для текущей оболочки может быть создан среди этих двух параметров.

Вариант 1: ./make_alias

Сначала сделайте скрипт исполняемым.

Выполнить

Подтвердить

Вывод

Ой! Псевдоним исчез с новой оболочкой.

Давайте выберем второй вариант.

Вариант 2: источник make_alias

Выполнить

Подтвердить

Вывод

Да, псевдоним установлен.

Если вы сомневаетесь, лучше всего использовать команду info:


Из проекта документации Linux, Расширенное руководство по написанию сценариев Bash,
Глава 15 — Внутренние команды и встроенные функции:

Обратите внимание, что вы можете передавать позиционные аргументы исходному файлу, например:

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

Ubuntu различает бесплатное и платное программное обеспечение. Подробнее о философии свободного программного обеспечения Ubuntu см. здесь.

Компакт-диски Ubuntu Install содержат программное обеспечение из «Основного» и «Ограниченного» репозиториев, поэтому, если у вас нет подключения к Интернету, вы все равно можете установить программное обеспечение с компакт-дисков. Если у вас есть подключение к Интернету, вы можете установить программное обеспечение из любого репозитория Ubuntu.

На этой странице описывается, как управлять репозиториями программного обеспечения в Ubuntu. Для Kubuntu см. Управление репозиторием Kubuntu.

Управление репозиторием на основе графического интерфейса обычно осуществляется через «Источники программного обеспечения». Доступ к этому интерфейсу можно получить несколькими способами. Один из способов — пройти через «Центр программного обеспечения Ubuntu». Откройте центр программного обеспечения, затем в меню «Правка» выберите «Источники программного обеспечения». Примечание. Чтобы изменить настройки в этом окне, вам потребуется ввести пароль.

Вы можете загрузить копию репозитория Canonical для вашей архитектуры компьютера (например, i386) и использовать его в автономном режиме (см. AptGet/Offline/Repository).

IconsPage/info.jpg

Операции, описанные на этой странице, изменяют файл конфигурации репозиториев программного обеспечения /etc/apt/sources.list. Если вы хотите, вы можете изменить этот файл напрямую. Дополнительные сведения см. в разделе Управление репозиториями из командной строки.

Software Sources.jpg

Четыре основных репозитория

Подробное описание этих репозиториев см. в разделе Репозитории.

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

Скачать сервер

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

Если у вас есть проблемы с вашим текущим сервером (например, сервер работает медленно или вы не можете найти нужный пакет), выберите другой сервер, щелкнув список "Загрузить с:".

Если вы нажмете «Выбрать лучший сервер», Ubuntu попытается (только в этом случае) найти самый быстрый сервер. После того, как вы выберете сервер, он останется выбранным сервером, пока вы его не измените. Примечание. Самый быстрый сервер сейчас может не быть самым быстрым сервером в другое время.

CD-ROM/DVD

В этом окне (в разделе «Установка с CD-ROM/DVD») можно выбрать или отменить выбор опции установки с компакт-диска.

Software Sources.jpg

Если выбран этот параметр, система попытается выполнить поиск на компакт-диске во время установки пакета. Если CD-ROM отсутствует, система запросит его вставку.

Отмените выбор этого параметра, если вы не планируете устанавливать пакеты с компакт-диска. Если этот параметр отключен, система больше не будет проверять наличие компакт-диска.

Включение партнерских репозиториев Canonical

На вкладке «Другое программное обеспечение» вы можете включить репозитории партнеров Canonical. Партнерские репозитории предлагают доступ к проприетарному программному обеспечению и программному обеспечению с закрытым исходным кодом и по умолчанию отключены. Если вы хотите включить партнерский репозиторий, отметьте его, введите свой пароль, нажмите «Закрыть», а затем нажмите «Обновить».

На снимке экрана ниже перечислены два партнерских репозитория: один для приложений (включен), а другой для исходного кода (отключен).

Другое программное обеспечение tab_001.jpg

CD-ROM/DVD

С помощью этой вкладки вы можете добавить источники программного обеспечения на CD-ROM/DVD. Чтобы добавить такой источник, вставьте CD-ROM/DVD и нажмите кнопку «Добавить том». После того, как вы добавили CD-ROM/DVD, он будет искать пакеты во время запросов на установку.

Добавление личных архивов пакетов (PPA)

Персональные архивы пакетов (PPA) — это своего рода репозиторий. Разработчики создают их для того, чтобы распространять свое программное обеспечение. Чтобы добавить PPA, вам необходимо его «местоположение» в формате ppa:[username]/[ppaname].Вы можете найти эту информацию на странице панели запуска PPA.

IconsPage/warning.jpg

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

Перейдите в Ubuntu Software Center > Edit > Software Sources > Other Software.

Нажмите "Добавить".

Нажмите "Добавить источник".

Теперь вы добавили PPA и можете устанавливать из него пакеты.

Добавление PPA с помощью командной строки

Убедитесь, что у вас установлен пакет python-software-properties.

Шаг 1. На странице панели запуска PPA найдите заголовок "Добавление этого PPA в вашу систему". Запишите расположение PPA в формате ppa:user/ppa-name.

Шаг 2. Откройте терминал и введите:

sudo add-apt-repository ppa:user/имя-ppa

Замените "ppa:user/ppa-name" на местоположение PPA, указанное выше.

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

Шаг 3. Теперь, в качестве одноразового действия, скажите вашей системе, чтобы она вытащила последний список программного обеспечения из каждого архива, о котором она знает, включая только что добавленный PPA:

sudo apt-get update

Теперь вы готовы приступить к установке программного обеспечения из PPA!

Добавление дополнительных репозиториев

В некоторых случаях вам может понадобиться добавить дополнительные репозитории к источникам программного обеспечения вашей системы (то есть в дополнение к репозиториям, предоставляемым Canonical). Например, есть по крайней мере один репозиторий, который «обслуживает геймеров Ubuntu».

IconsPage/warning.jpg

Убедитесь, что все репозитории, которые вы добавляете, протестированы и работают в системах Ubuntu. Репозитории, не предназначенные для работы с вашей версией Ubuntu, могут вызвать несоответствия в вашей системе и потребовать переустановки.

Чтобы добавить репозиторий, вам нужно его "местоположение" и "ключевая команда" (команда, которая добавит ключ репозитория в вашу систему). Объяснение формата «местоположения» см. в разделе «Редактирование сведений о репозитории» ниже.

Перейдите в Ubuntu Software Center > Edit > Software Sources > Other Software.

Нажмите "Добавить".

Нажмите "Добавить источник".

Теперь вы добавили репозиторий и можете устанавливать из него пакеты.

Редактирование сведений о репозитории

Чтобы изменить сведения о репозитории, выберите репозиторий в списке и нажмите кнопку "Изменить". Диалоговое окно отображает подходящую линию, разбитую на ее компоненты.

SoftwareSources-EditSource. jpg

Удаление и отключение репозиториев

На вкладке "Другое ПО" перечислены ваши репозитории и PPA (кроме Main, Universe, Restricted и Multiverse).

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

Чтобы навсегда удалить репозиторий из списка, выделите репозиторий и нажмите "Удалить".

SoftwareSources-Updates. jpg

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

Установить обновления из:

  • "Важные обновления безопасности (. )". Обновления, устраняющие уязвимости в системе безопасности. Они управляются командой безопасности Ubuntu и предназначены для минимального изменения поведения пакета — по сути, минимума, необходимого для решения проблемы безопасности. В результате их применение, как правило, сопряжено с очень низким уровнем риска, и всем пользователям настоятельно рекомендуется устанавливать обновления для системы безопасности.
  • "Рекомендуемые обновления (. )". Обновления для серьезных ошибок, кроме уязвимостей безопасности.

Автоматические обновления

В этом разделе пользователь может установить частоту и способ обновлений.

Уведомить меня о новой версии Ubuntu:

  • "Обычные выпуски" — уведомляет пользователя об обновлении с одного обычного выпуска на другой, например с Ubuntu 12.10 (Quantal Quetzal) на Ubuntu 13.04 (Raring Ringtail).
  • «Только выпуски с долгосрочной поддержкой» — уведомляет пользователя об обновлении между выпусками с долгосрочной поддержкой, например, с Ubuntu 10.04 (Lucid Lynx) LTS для Ubuntu 12.04 (Precise Pangolin) LTS, но не для других дистрибутивов, которые не были обозначены как выпуски с долгосрочной поддержкой.

SoftwareSources-Authentication. jpg

На вкладке "Аутентификация" перечислены ключи для ваших репозиториев (но не ваши PPA). Примечание. У PPA есть ключи, но система обрабатывает их автоматически, и они не перечислены здесь.

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

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

Например, если хэш ключа — CE49EC21, вы получите ключ с помощью команды:

Затем добавьте ключ в базу данных доверенных ключей Ubuntu с помощью команды:

Примечание. В конце строки выше есть тире.

IconsPage/info.jpg

Дополнительную информацию об apt и ключах аутентификации см. в разделе SecureApt.

UbuntuSoftwareCenter.jpg

Ubuntu Software Center — это основанный на графическом интерфейсе метод добавления и удаления приложений. Он позволяет пользователю выборочно выбирать репозитории для поиска, а затем представляет список приложений с кратким описанием каждого приложения.

По умолчанию Ubuntu Software Center выполняет поиск во всех (включенных) репозиториях. Если вы хотите выполнить поиск только в одном репозитории, нажмите стрелку вниз справа от «Все программное обеспечение» и выберите репозиторий, в котором вы хотите выполнить поиск.

Источники программного обеспечения доступны в Центре программного обеспечения Ubuntu через меню «Правка», «Источники программного обеспечения». Содержимое Ubuntu Software Center обновляется всякий раз, когда репозиторий добавляется, удаляется или изменяется с помощью источников программного обеспечения. Пока список репозиториев обновляется, в верхней панели Ubuntu Software Center отображается значок «Ход выполнения».

Существует несколько методов на основе графического интерфейса, которые можно использовать для изучения репозиториев. Один из них — открыть Synaptic Package Manager и нажать кнопку Origin. Это отобразит список репозиториев в окне над кнопкой. Список будет содержать все репозитории, включенные в исходники программного обеспечения вашей системы. Справа будут пакеты, доступные для скачивания (белые прямоугольники), и установленные пакеты (зеленые прямоугольники).

softwaresources.packages1. jpg

Поиск репозитория пакетов

Иногда полезно найти репозиторий пакета (репозиторий, из которого пакет был установлен). Если вы выделите пакет и нажмете кнопку «Свойства», вы сможете определить репозиторий в области Раздел:. Имя в скобках (если есть) — это репозиторий. Например, на снимке экрана ниже видно, что репозиторий пакета rar — Multiverse.

properties.jpg

(Примечание: некоторые пакеты недоступны из репозитория или PPA, вместо этого они доступны в виде пакетов Debian.)

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

Каждый раз, когда вы добавляете новый репозиторий в Ubuntu, система добавляет запись в файл sources.list.

Какую еще информацию о репозиториях содержит этот файл? И важно ли для операционной системы хранить эти данные? Вы узнаете из этого поста.

Что такое файл sources.list?

Как вы, возможно, уже знаете, репозитории отвечают за предоставление пакетов пользователям Linux. Ubuntu и другие дистрибутивы на основе Debian используют файл sources.list для ведения учета всех репозиториев, присутствующих в системе.

Файл sources.list содержит сведения о репозитории, где каждая строка без комментариев представляет отдельный репозиторий.

Каждая строка в файле sources.list соответствует общему формату:

Первое поле обозначает тип пакета, предоставляемого репозиторием. В Debian и Ubuntu вы найдете один из этих двух типов архивов: deb и deb-src. По умолчанию Ubuntu отключает репозитории, предоставляющие пакеты deb-src.

Второе поле зарезервировано для URL-адреса репозитория.Этот URL указывает на сервер, на котором хранятся все файлы пакета вместе с базой данных.

Третье поле обозначает кодовое название версии вашей установки Ubuntu. Вы можете найти xenial, bionic и focus в случае Ubuntu и buster или sid, если вы используете Debian.

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

Управление информацией о репозитории в Linux

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

В Linux вы можете независимо добавлять и удалять пакеты по своему усмотрению. На самом деле управление программным обеспечением — одна из многих вещей, которые Ubuntu делает лучше, чем Windows.

Похоже, что исходным кодом является встроенная инструкция оболочки, которая считывает и выполняет содержимое документа (обычно это набор инструкций), который предоставляется в качестве параметра в текущем сценарии оболочки. Получив содержимое данных файлов, инструкция доставляет их интерпретатору TCL только в виде текстовой программы, которая затем запускается. Всякий раз, когда вызывается имя файла, любые переданные аргументы оказываются позиционными аргументами. Переменные позиционирования, с другой стороны, остаются неизменными. Элементы $PATH использовались для поиска папки, содержащей FILENAME; тем не менее, если документ не найден в $PATH, он будет искаться в корневой папке. У исходной команды, похоже, нет параметров, и действительно, документ кажется единственным параметром. Давайте начнем работать над командой исходного кода Linux в операционной системе Ubuntu 20.04 Linux. Войдите в свою систему и запустите терминал Ubuntu, используя сочетание клавиш Ctrl+Alt+T.

Пример 01:

Создайте текстовый файл с именем «test.txt», выполнив приведенную ниже инструкцию «touch», и нажмите Enter, чтобы выполнить ее.


Откройте домашний каталог вашей системы Linux через проводник и дважды нажмите на только что созданный файл «test.txt». Мы написали в нем приведенный ниже код с двумя операторами echo для отображения некоторых данных в терминале. После этого мы использовали слово «pwd», которое указывает на метод отображения текущего каталога файла. Следовательно, «pwd» покажет текущий каталог файла. Другой оператор эха использовался для отображения некоторых данных. Встроенный метод даты был вызван для отображения текущей даты. Сохраните файл, нажав Ctrl+S.


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


Еще один способ выполнить файлы — просто использовать имя файла в команде. Он будет искать этот файл в корневом каталоге системы. Вывод будет таким же, как указано выше.


Пример 02:

Давайте рассмотрим еще один пример работы исходной команды в оболочке. Сначала создайте новый текстовый файл «new.txt», используя ключевое слово «touch» в команде, как показано ниже.


Перейдите к корневому каталогу вашей системы с помощью проводника на рабочем столе. Откройте файл new.txt, дважды нажав на него. Теперь мы добавили показанный ниже скрипт. Первая строка содержит ключевое слово «ls» для отображения списка всех файлов и папок в каталоге, в котором мы сейчас работаем. Еще два ключевых слова используются для указания даты и времени текущего часового пояса, в котором вы работаете. Сохраните файл. файл кода и закройте его.


Откройте терминал еще раз, выполните исходную команду и имя файла «test.txt», как показано ниже. Не забывайте, что мы использовали команду source, чтобы найти файл в домашнем или корневом каталоге нашей системы. Когда этот файл запускается, вы можете видеть, что он показывает список файлов и папок, находящихся в домашнем каталоге, а также текущую дату и время. Следует отметить, что файл, который мы запускали с помощью исходной команды, был выделен в выходных данных. Другое дело, что если файл «new.txt» находится не в домашнем каталоге, запрос может работать некорректно.


Пример 03:

В приведенных выше примерах мы использовали отдельные файлы для уточнения работы исходной инструкции. На этот раз мы будем использовать два файла, чтобы увидеть, как работает исходная команда в Linux. С другой стороны, на этот раз мы будем использовать файлы bash вместо простых текстовых файлов. Вы должны понимать, что мы можем использовать функции скрипта в другом файле при поиске. Следовательно, откройте оболочку и создайте первый файл bash с именем «main.sh», используя touch следующим образом:

Откроем файл «main.sh» из корневого каталога после двойного нажатия на него. Запишите представленный ниже код в свой файл. Сначала мы добавили поддержку bash в наш файл. После этого мы создали функцию func, чтобы добавить к ней некоторые инструкции. Мы добавили оператор if, чтобы проверить, является ли ПОЛЬЗОВАТЕЛЬ корневым или нет. Если пользователь не является пользователем root, он будет отображать «Этот код должен выполняться как пользователь root». Цикл заканчивается, и функция тоже. Сохраните и закройте файл.


Когда вы запустите этот bash-файл, он ничего не отобразит, потому что функция func нигде в коде не вызывалась.


Давайте создадим еще один файл bash, "test.sh".


Откройте файл test.sh из домашнего каталога и добавьте приведенный ниже сценарий. Этот файл является источником файла main.sh. Получив файл main.sh, он вызывает функцию func, реализованную в файле main.sh. Другой оператор эха использовался для отображения «Я пользователь sudo/root» вне функции.


Выполнение файла test.sh с помощью команды bash показывает нам оператор из функции «func» файла main.sh, потому что мы вошли в систему от пользователя без полномочий root.


Давайте войдем в систему как пользователь root, используя команду «su», а затем добавим пароль sudo. Снова введите команду bash, чтобы выполнить файл. На этот раз в выходных данных был выполнен оператор echo из файла «test.sh», поскольку оператор if из файла main.sh не соответствует его требованиям.


Пример 04:

Давайте еще одну иллюстрацию. Откройте файл main.sh и напишите приведенный ниже скрипт с поддержкой bash. Мы добавили две переменные, «один» и «два», с некоторыми значениями в обеих. Сохраните файл еще раз.


Теперь откройте файл test.sh и обновите его код, как показано ниже. Мы нашли в нем файл «main.sh». После этого мы печатали операторы вместе с переменными, объявленными в файле main.sh.


Выполните файл «test.sh» с помощью команды bash, и вы увидите, что он показывает операторы вывода и переменные, объявленные в файле main.sh.


Пример 05:

Это будет наш последний пример исходной команды. Обновите файл main.sh, как показано ниже. На этот раз мы использовали новый метод «show()», чтобы отобразить ПОЛЬЗОВАТЕЛЯ, вошедшего в систему в данный момент.


Мы обновили файл test.sh, найдя в нем файл main.sh и вызвав функцию show().


Выполнение файла test.sh показывает в результате текущего пользователя «aqsayasin», потому что мы сейчас над ним работаем.


Вывод:

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

Об авторе

Акса Ясин

Я целеустремленный профессионал в области информационных технологий и обожаю писать. Я технический писатель и люблю писать для всех разновидностей Linux и Windows.

Читайте также: