Как запустить программу на linux

Работа со справочными страницами

apropos

— поиск справочных страниц по ключевому слову.

aropos

apropos user
— поиск мануалов, в описании которых встречается слово «user» (User).

apropos -e delete
— поиск мануалов, в описании которых встречается точное слово «delete».

apropos -w «*create*»
— поиск мануалов по маске, в описании которых встречается  слово «create» (creates, created).

info

— аналог команде man, выводит справочные страницы в другом формате.

info

info useradd

info pwd -o pwdinfo.txt
— вывод справки по команде pwd в файл pwdinfo.txt

man

— вызов страниц из указанного раздела. Вызов справочной страницы о команде.

man 

man 3 undocumented

man 5 terminfo

man 

man awk

manpath
— отображение путей хранения справочных страниц.

whatis

— информация о команде одной строкой.

whatis

whatis mkdir

type

— определяет тип команды (выполняемая программа, внутренняя команда, функция оболочки, алиас).

type

type w
 => w is /usr/bin/w

type cd
 => cd is a shell builtin

type sayhi
 => sayhi is a function

type sites
 => sites is aliased to ‘cd /var/www’

help

— короткая справка по встроенным в оболочку командам (builtin).

help

help cd
— справка по команде cd

help pwd
— справка по команде pwd

help factor
— ничего не выведет, factor — не встроенная команда.

команда —help
— показать доступные флаги для команды.

Специальные пакеты

ubuntu-desktop — стандартная среда Ubuntukubuntu-desktop — рабочий стол KDExubuntu-desktop — рабочий стол XFCEubuntu-minimal — основные утилиты Ubuntuubuntu-standard — стандартные утилиты Ubuntuubuntu-restricted-extras — несвободные, но полезные пакеты для Ubuntukubuntu-restricted-extras — несвободные, но полезные пакеты для Kubuntuxubuntu-restricted-extras — несвободные, но полезные пакеты для Xubuntubuild-essential — пакеты, используемые для компиляции программlinux-image-generic — последний образ ядра genericlinux-headers-generic —последние headers ядра

Каналы

Канал — это особая концепция системы Linux, которая автоматизирует перенаправление вывода одной команды посредством использования входных данных на следующую команду. Такое использование каналов приводит к эффективным комбинациям независимых команд. Ниже приведены некоторые из них:

  • — позволяет прокручивать длинный список файлов постранично;
  • — переводит на новую строку;
  • — отображает последние 10 команд;
  • — отображает доступную память;
  • — отображает 10 наиболее больших файлов/каталогов в pwd.

Расшифровка и отладка команд каналов

Приведённая выше команда эквивалентна выполнению следующих 4 команд:

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

Ниже приведено ещё несколько примеров каналов:

Чтобы получить доступ к pdf-файлам страниц справочника :

Чтобы получить актуальные на сегодняшний день файлы:

Топ-10 самых часто используемых команд:

Далее будут команды терминала Linux, которые принимают только литеральные аргументы.

Большинство команд получают входные данные, например, из (канала) и файла:

Однако, существуют определённые исключения. Например, некоторые команды получают входные данные только из , а не из файла:

Некоторые команды не получают входные данные ни из , ни из файла. Например, следующие:

  •  — не подходит. Предполагается, что вы собираетесь распечатать содержимое файла;
  •  — не подходит. Предполагается, что вы собираетесь распечатать содержимое файла;
  • —  принимает литеральные аргументы.

, , , относятся к другим примерам.

17 команд терминала, о которых должен знать каждый пользователь Ubuntu:

17 команд для новичков в Ubuntu#1. ls: перечислить содержание директории

Если вы хотите увидеть скрытые директории и файлы (в том числе начинающиеся с точки), флаг -a.

Посмотрите руководство для большей информации (man ls).

#2. cd: изменить директорию

Запомните,
. означает текущую директорию
.. означает «родительскую» директорию
~ означает домашнюю директорию пользователя

#3. pwd: вывести адрес текущей рабочей директории

#4. mkdir: создать папку

#5. rm: удалить файл/директорию

Замечание: эта команда удаляет папку (директорию) только если она пустая, если вы не определите флаг -f для полного удаления. Но будьте осторожны с аргументами -r и -f. (-rf очень опасен)

#6. sudo: выполнить как суперпользователь, для получения его привилегий
Например,

Затем введите пароль от вашего аккаунта, и вы сможете выполнять какие-либо административные задачи, как root. Так что, если вы получаете какие-либо ошибки доступа при использовании какой-нибудь команды, поставьте перед ней sudo — это может помочь.

#7. mv: переименовать или переместить файл/директорию

команда выше переместит файл file1 из текущей директории в назначенную папку

Это переименует файл new_logo.jpg.

#8. cat: Просмотреть содержание файла

#9. man: подробное руководство по утилитам/командам/программам

Например, если вы хотите узнать больше о команде rm, то выполните команду:

#10. cp: скопировать файлы/папки

Команда выше скопирует файл movie_name.mp4 в определённую директорию

#11. wget: загружайте файлы
GNU Wget полезен в загрузке файлов из интернета через командную строку:

#12. gksudo: выполняйте графические приложения с привилегиями администратора root

Команда выше откроет nautilus с root-привилегимями. Это как sudo, но в графическом режиме.

#13. shutdown: чтобы выключить ваш компьютер из терминала

где время может быть 0, если вы хотите выключить компьютер сейчас, или вы можете определить точное время — 10:30.

#14. restart: перезагрузка компьютера

Для управления пакетами в Ubuntu есть особые команды. Они требуют root-привилегий, так что просто добавьте sudo перед ними (команда спросит ваш пароль и начнёт работать!). Кстати, если хотите установить microsoft excel office, советую пройти по вышеуказанной ссылке.

#15. apt-get: консольная утилита для управления пакетами
Есть различные опции, такие как:
install – чтобы установить пакет
Например, чтобы установить PyRoom (текстовый редактор без отвлекающих элементов)

remove – чтобы удалить пакет

update – чтобы обновить список пакетов и их версии

upgrade — чтобы обновить все пакеты в вашей системе

#16. add-apt-repository – чтобы добавить PPA-репозиторий
Например, чтобы добавить PPA-репозиторий для программы Eidete (программа для скринкастинга)

После добавления PPA требуется команда apt-get update

#17. apt-cache: чтобы просмотреть детали пакета из кеша
search: поиск определённых пакетов через apt-cache
Например:

awk: извлечение и использование данных

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

  • явные поля () и управление записями;
  • функции (математические, построчная обработка и т. д.);
  • синтаксический анализ и фильтрация регулярных выражений.

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

Анатомия awk

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

или:

Где это:

  •  — выполнить определённое действие один раз перед чтением и обработкой входных данных;
  • — выполнить действие для каждой строки входных файлов и/или , которые удовлетворяют шаблону или условию;
  •  — выполнить определённое действие один раз после прочтения и обработки входных данных.

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

Шаблоны, условия и действия

Шаблон — это регулярное выражение, которое соответствует (или не соответствует) входной строке, например:

  • — любая строка, содержащая New;
  • — строка, начинающаяся с цифр;
  • — строка, которая содержит определённые слова;

Условие — это булевое выражение, которое выбирает входные строки, например:

— строки, для которых третье поле больше, чем 1

Действие — это последовательность операций, например:

  • — печать первого и последнего поля/столбца;
  • — получить журнал второго поля/столбца;
  • — получить суммарное значение.

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

Другие полезные команды

apropos …keyword выводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
man ping вызов руководства по работе с программой, в данном случае, — ping
whatis …keyword отображает описание действий указанной программы
mkbootdisk –device /dev/fd0 `uname -r` создаёт загрузочный флоппи-диск
gpg -c file1 шифрует файл file1 с помощью GNU Privacy Guard
gpg file1.gpg дешифрует файл file1 с помощью GNU Privacy Guard
wget -r www.example.com загружает рекурсивно содержимое сайта www.example.com
wget -c www.example.com/file.iso загрузить файл www.example.com/file.iso с возможностью остановки и продолжения
echo ‘wget -c www.example.com/files.iso‘ | at 09:00 начать закачку в указанное время
ldd /usr/bin/ssh вывести список библиотек, необходимых для работы ssh
alias hh=’history’ назначить алиас hh команде history
find . -maxdepth 1 -name *.jpg -print -exec convert Изменение размеров всех изображений в папке, передача утилите «convert» из ImageMagick для создания уменьшенных копий изображений (предварительный просмотр)
swapon /dev/hda3 активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3 активировать swap-пространства, расположенные на разделах hda2 и hdb3

Перенаправление и конвейер

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

Этим очень удобно пользоваться для логирования, если вы хотите записать какие-либо данные в файл. К примеру, эта команда запишет все найденные согласно указанными параметрам файлы в файл log (он автоматически появится в той директории, в которой вы работаете):

find /home/users -name ‘file*’ >> log

Что касается конвейера, то этот инструмент позволяет использовать вывод одной команды в качестве ввода другой команды. Для этого необходимо использовать символ |:

find /home/users -name ‘file*’ | sort -r

Если вы введете данную строку, то сначала будут найдены все файлы, которые соответствуют условию, а затем командой sort они будут отсортированы в обратном порядке (из-за использования ключа -r).

Просмотр файла в Linux полностью

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

$ cat опции адрес_файла …

Например просмотр содержимого файла linux /etc/passwd:

Также можно посмотреть сразу несколько файлов:

Если файл доступен только для пользователя root, то нужно перед командой написать sudo:

Опция -n включает нумерацию строк:

Для удобства, можно включить отображение в конце каждой строки символа $

А также отображение табуляций, все табуляции будут заменены на символ ^I:

Больше о ней говорить не будем, потому что большинство её опций направлены на форматирование вывода, более подробную информацию вы можете посмотреть в статье: Команда cat в Linux.

Просмотр только начала или конца файла

Очень часто нам не нужен файл целиком.  Например, достаточно посмотреть несколько последних строчек лога, чтобы понять суть ошибки, или нужно увидеть только начало конфигурационного файла. Для таких случаев тоже есть команды. Это head и tail (голова и хвост).

По умолчанию head открывает текстовый файл в Linux и показывает только десять первых строчек переданного в параметре файла:

Можно открыть сразу два текстовых файла в Linux одновременно аналогично cat:

Так можно открыть текстовый файл linux или несколько и вывести по десять первых строчек каждого из них.

Если вам не нужны все 10 строчек, опцией -n и цифрой можно указать количество строк которые нужно вывести. Например, 5:

Тот же результат можно получить опустив букву n и просто передав цифру в качестве ключа:

Также можно задать количество байт, которые нужно вывести с помощью опции -с и числа. Например: 45:

Тоже хотите подсчитать действительно ли там 45 символов? Используйте команду wc:

Команда tail наоборот, выводит 10 последних строк из файла:

Утилита tail тоже поддерживает изменение количества строк, с помощью опции -n. Но она обладает еще одной интересной и очень полезной опцией -f. Она позволяет постоянно обновлять содержимое файла и, таким образом, видеть все изменения сразу, а не постоянно закрывать и открывать файл. Очень удобно для просмотра логов linux в реальном времени:

Обновление Ubuntu через Терминал

Некоторые обновления операционных систем служат для устранения «дыр» в безопасности, другие помогают ОС поддерживать новые программы. Но ценнее всего те, которые улучшают саму систему — добавляют в неё новые функции и возможности.

Если вышло обновление с долгосрочной поддержкой (LTS), очень полезно обратить на него внимание. Обновление Ubuntu через Терминал служит сразу многим целям

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

При обновлении через терминал необходимо использовать специальные команды.

Операционная система Ubuntu обновляется в основном раз в полгода. Это достаточный период, чтобы успели появиться новые технологии, ноу-хау и решения в мире ИТ. Поэтому следить за обновлениями и своевременно «ставить» их — верный способ быть на острие технологий.

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

Менеджер обновлений

Операционные системы Linux раньше не славились вниманием к потребностям новичков. Сейчас всё немного по-другому

Одним из полезных нововведений Ubuntu является Update Manager.

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

Поэтому необходимый софт окажется у вас, когда он будет востребован и актуален.

Рассмотрим в деталях, как обновить Убунту через Терминал. Если вы хотите сами узнать о важных и поддерживаемых обновлениях, зайдите в раздел «Система» — «Администрирование» — «Менеджер обновлений».

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

Приступаем к обновлению

ВАЖНО. Чтобы всё прошло удачно, на вашем ПК должна быть установлена версия системы от 14.04 и новее

Также обзаведитесь правами sudo. В противном случае вы можете столкнуться с проблемами. 

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

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

sudo apt-get updatesudo apt-get upgrade

Учитывайте зависимости, которые изменились. Следующая команда поможет это сделать:

sudo apt-get dist-upgrade

Если всё прошло удачно, у вас на компьютере будет самая свежая версия уже установленного дистрибутива. С неё и нужно начинать полное обновление Линукс Убунту через Терминал.

Установка новой версии

Чтобы обновить Ubuntu, мы используем инструмент «do-release-upgrade».

Для начала потребуется пакет «update-manager-core». Это новая версия Менеджера обновлений:

sudo apt-get install update-manager-core

Далее, введите такую команду:

sudo do-release-upgrade

Мы предлагаем обновить версию до последней официальной. Именно для этого служит опция «-d» в конце команды.

sudo do-release-upgrade —d

Вы можете получить предупреждение о невозможности использования SSH, или же о риске потери соединения. Внимательно ознакомьтесь с ним и примите условия, нажав «y». Все следующие диалоговые окна можно игнорировать, соглашаясь с представленной информацией.

Обновление Убунту через Терминал почти подошло к концу. У системы будет к вам ещё несколько вопросов, например, о перезапуске сервисов, или замене файлов конфигурации. Ответьте так, как требуют ваши нужды.

Как только новые пакеты будут загружены, Ubuntu предложит удалить старые:

Remove obsolete packages?53 packages are going to be removed.

Continue   Details y

Ответьте «Да», если вы не устанавливали в ОС важных файлов конфигурации и расширений.

Перезагрузите компьютер, как только установка новой версии будет завершена. Если всё прошло удачно, вы увидите приветственное сообщение с номером новой версии.

Выводы

Как видите, в том, чтобы обновить Ubuntu через Терминал, нет ничего сложного. Вы владеете вводом на клавиатуре? Этого уже достаточно, чтобы получить свежую версию ОС.

sed: синтаксический анализ и преобразование текста

sed — это специальный потоковый редактор, который ищет шаблон в тексте и применяет к нему необходимые изменения.

Данный редактор может быть в том числе пакетным или неинтерактивным редактором. Его функции заключаются в том, что он считывает из файла или из (при наличии каналов) по одной строке за раз. При этом исходный входной файл остается неизменным (так как sed также является фильтром), после чего результаты преобразуются в стандартные выходные данные.

Анатомия типичной sed-команды Linux-терминала

Опции sed:

  • адрес — может быть номером строки, диапазоном или совпадением. Может быть оставлен по умолчанию, либо являться файлом целиком;
  • команда — :substitute (замена), :print (печать), :delete (удалить), :append (добавить), :insert (вставить), :quit (завершить);
  • regex — регулярные выражения;
  • знак-разграничитель — в данном случае необязательно использовать «», можно также применять  «» или «» или любой другой символ;
  • модификатор — его роль может выполнять число , которое применяет команду к N-му вхождению, применяет ко всей строке в целом;
  • общие признаки состояния sed — (без печати), (несколько операций), (чтение sed из файла), (на месте редактирования).

Полезные примеры sed:

  • — печать строк с 5 по 9;
  • — влияет на 1-е вхождение в стр. 20–30;
  • — печать последней строки;
  • — удалить первые 3 строки;
  • — удалить все пустые строки;
  • — заменить всё, кроме  York;
  • .

В следующей части разберём основные инструменты терминала Linux.

Ксения Широкова

Перевод материала «Linux Terminal Tools»

Команды консоли для работы с текстом

Работая с файлами операционной системы, нередко приходится вносить в них правки и изменения. Терминал позволяет редактировать текстовые документы следующими кодами:

  • «grep» ищет текст, применяя специальный шаблон для поиска;
  • «more» необходима для просмотра текстового документа, не помещающегося в рабочую область;
  • «head» выводит для просмотра шапку текстового документа;
  • «tail» позволяет просмотреть последнюю строчку текстового файла. Для изменения количества показанных строк в командах» head»/»tail» применяют специальные опции «-n» и «-f»;
  • «sort» сортирует строки. Работает с опциями «-n» и «-r» (верх-низ);
  • «diff» производит анализ текстовых документов, сравнивает данные и демонстрирует все отличия в них;
  • «wc» показывает количество слов, строк и символов.

Обратите внимание! Для включения режима суперпользователя необходимо ввести в терминале функцию «sudo su» (не используя кавычки) перед выполнением нужной команды

Работа с файлами

Следующие команды потребуются вам при работе с файлами разного типа и объёма:

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

Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:

  • — команда выведет готовые к печати строки файла;
  • — позволит вам напечатать файл в восьмеричном формате;
  • — даёт возможность побайтно сравнивать файлы.

Если вам требуется сравнить текстовые файлы друг с другом, введите следующие команды:

  • — отсортированные файлы будут строка за строкой;
  • — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.

Управление доступом к файлам

chmod

— изменение битов режима доступа к файлу.

chmod 

chmod -R 711 /usr/local/scripts
— право выполнения на все файлы в каталоге, для группы и всех остальных.

chmod g-w passwords.txt
— отнять у группы право записи.

chmod og+r menu.txt guests.txt
— добавить группе и всем остальным пользователям право чтения.

сhmod g-x, o= script.sh
— отнять право выполнения у группы, всем остальным запретить доступ к файлу.

сhmod g=u userlist.txt
— группе выдаются такие же права, что и у владельца файла.

chmod —reference=file1 file2
— скопировать права file1 для file2

chown

— изменение владельца файлов и каталогов.

chown  

chown jane report.doc stats.txt
— пользователь jane становится владельцем файлов report.doc и stats.txt.

chown jane: report.doc
— пользователь jane становится владельцем файла report.doc. Также группа владельцев меняется на jane.

chown :accounters report.doc
— смена группы владельцев файла report.doc.

chown john:accounters report.doc
— пользователь john становится владельцем файла report.doc. У файла также меняется группа владельцев, к которой он принадлежит на accounters.

chown -R jane:testers /var/www/example.ru/fortest
— рекурсивная смена пользователя и группы для всех файлов в каталоге.

chown 1003:1004 /var/www/example.ru
— установка владельца c UID(UserID)=1003 и группы c GID(GroupID)=1004.

chown -Rc —reference ~/music ~/pictures
— рекурсивное копирование владельца и группы у ~/music для всех файлов в каталоге ~/pictures

chgrp

— смена группы пользователей для файла.

chgrp 

chgrp designers logo.png
— установка группы пользователей designers для файла logo.png.

chgrp -R accounters ~/reports
— установка группы пользователей accounters для всех файлов в каталоге ~/reports.

getfacl

— вывод списка контроля доступа (ACL) для файла.

getfacl 

getfacl file.txt

getfacl -t file.txt
— вывод параметров доступа в табличном виде.

getfack -Rt ~/reports
— вывод параметров доступа для всех файлов в каталоге.

sudo

— запуск команды от имени другого пользователя (root по умолчанию)

sudo 

sudo -u janedoe mkdir ~janedoe/reports
— выполнить команду от имени пользователя janedoe.

sudo mkdir /var/www
— выполнить команду от имени пользователя root.

umask

— изменение маски прав доступа по умолчанию при создании нового файла.

umask 

umask
— показать текущую маску по умолчанию.

umask u+w,g-w,o=
— добавить право записи для владельца — , отнять право записи для группы — , для остальных пользователей запретить доступ к файлу .

umask a=rw
— установить право записи и чтения для всех пользователей.

umask 0000
— полный доступ для всех пользователей. (так не надо делать :-))

О терминале

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

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

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

Управление учетными записями пользователей

id

— вывод идентификаторов пользователя и его групп.

id 

id janadoe
— вывод идентификатора пользольвателя и групп для janedoe

logname
— выводит логин текущего пользователя.

su

— смена учетной записи.

su 

su
— перейти в учетную запись root.

su — jane
— перейти в учетную запись пользователя jane запустить оболочку этого пользователя (изменить переменные окружения).

su -m jane
— перейти в учетную запись пользователя jane с сохранением сессии оболочки текущего пользователя.

whoami
— отображает имя текущего пользователя.

who
— показывает залогиненных пользователей.

w

— отображает залогиненных пользователей и их процессы.

w -i john

Потоки ввода-вывода терминала и переадресация

В терминале Linux работа осуществляется через три потока ввода-вывода: вход (), выход () и ошибка ().

Данные потоки представлены файловыми дескрипторами. Их также принято считать идентификаторами: 0 для , 1 для , 2 для .

Использование угловых скобок применяется для перенаправления (переадресации) команд и файлов в них и из них:

  • для отправления в поток;
  • для получения из потока;
  • для добавления в поток;
  • для непосредственного присоединения потока (используется в «heredoc»);
  • используется в «herestring» (на сегодняшний день не особо распространенная команда);
  • используется для записи в поток, например для записи в .

Анатомия командной строки переадресации с использованием потоков

Дополнительные примеры переадресации приведены ниже:

  • чтобы отправить и в один и тот же файл (короткий вариант bash v4+);
  • чтобы пропустить и , и : — это «нулевой» файл для удаления потоков. А ещё это паблик со смешными мемами для ITшников (ВК и Телеграм);
  • чтение из в качестве вывода команды:;
  • добавить в файл журнала.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector