Разное

Terminal linux: Лучшие терминалы Linux и bash-редакторы, доступные онлайн

Содержание

Лучшие терминалы Linux и bash-редакторы, доступные онлайн

Перевод статьи
«Best Online Linux Terminals and Online Bash Editors».

Лучшие онлайн-терминалы Linux

Возможно, вы хотели бы попрактиковаться в использовании команд Linux или просто протестировать свои скрипты. Все это можно сделать при помощи онлайн-терминалов Linux и компиляторов bash.

В частности, пользоваться такими
онлайн-сервисами удобно, если у вас на
машине стоит Windows. Конечно, можно
установить Linux на виртуальной машине,
но зачастую удобнее просто воспользоваться
онлайн-терминалом.

Но где найти бесплатную консоль Linux?
Какие оболочки Linux можно использовать
онлайн?

Об этом не беспокойтесь! Чтобы помочь
вам с выбором, мы собрали список лучших
онлайн-терминалов Linux и отдельный список
лучших bash-компиляторов.

Примечание: все онлайн-терминалы
поддерживают разные браузеры, включая
Google Chrome, Mozilla Firefox, Opera и Microsoft Edge.

Лучшие онлайн-терминалы для
отработки команд Linux

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

1. JSLinux

jslinux - онлайн-терминал Linux

JSLinux предлагает не просто терминал.
Он больше похож на полномасштабный
Linux-эмулятор. Как следует из названия,
он написан полностью на JavaScript.

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

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

JSLinux также позволяет загружать файлы
в виртуальную машину. В основе этого
терминала лежит Buildroot
— вспомогательный инструмент для
создания Linux-среды для встроенных систем.

2. Copy.sh

copy.sh - онлайн-терминал Linux

Copy.sh предлагает один из лучших
онлайн-терминалов Linux и, таким образом,
быстрый и надежный способ тестировать
и запускать команды Linux.

Вы можете найти Copy.sh на GitHub.
Мейнтейнеры продолжают активно работать
над проектом, а это хороший знак. Copy.sh
поддерживает разные операционные
системы, включая

  • KolibriOS
  • FreeDOS
  • Windows 1.01
  • Archlinux

3. Webminal

Webminal это впечатляющий онлайн-терминал
Linux, отлично подходящий для новичков,
желающих попрактиковаться в использовании
команд.

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

4. Tutorialspoint
Unix Terminal

tutorialspoint - онлайн-терминал Linux

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

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

Это довольно простой и при этом
эффективный онлайн-терминал. Но если
он вас чем-то не устроит, на странице
Coding
Ground можно посмотреть список других
терминалов, доступных онлайн.

5. JS/UIX

JS-UIX - онлайн-терминал Linux

JS/UIX это еще один Linux-терминал, доступный
онлайн и написанный полностью на
JavaScript, без всяких плагинов. Он содержит
виртуальную Linux-машину, виртуальную
файловую систему, оболочку и т. д.

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

6. CB.VU

cb.vu - онлайн-терминал Linux

Если хотите протестировать команды
для стабильной версии FreeBSD 7.1, cb.vu будет
самым простым решением.

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

7. Linux
Containers

linuxcontainers - онлайн-терминал Linux

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

8. Codeanywhere

codeanywhere - онлайн-терминал Linux

Codeanywhere это сервис, предлагающий
кросс-платформенные облачные IDE. Но
чтобы запустить бесплатную виртуальную
машину Linux, вам придется сначала
зарегистрироваться, выбрав бесплатный
план. Затем нужно будет создать новое
соединение и настроить контейнер с
нужной операционной системой. После
этого бесплатная Linux-консоль будет к
вашим услугам.

Лучшие редакторы bash, доступные
онлайн

Погодите-ка! А разве терминалы Linux недостаточно хороши для bash-скриптов? Вполне! Но создавать bash-скрипты в редакторах терминала, а затем выполнять их не так удобно, как просто использовать онлайн-редактор bash.

Bash-редакторы из этого списка помогут
вам с легкостью писать онлайн shell-скрипты,
которые вы сможете сразу же запускать
для проверки корректности их работы.

Bash-компилятор
Tutorialspoint

tutorialspoint

Tutorialspoint, о котором мы уже упоминали,
кроме онлайн-терминала предлагает еще
и bash-компилятор. Это очень простой
компилятор, позволяющий выполнять
bash-скрипты онлайн.

JDOODLE

jdoodle

Еще один полезный онлайн-редактор для
тестирования bash-скриптов называется
JDOODLE. Он предлагает также и другие IDE, но
мы здесь фокусируемся на bash. На странице
редактора вы увидите, собственно, сам
редактор, строку для ввода команд и поле
для вывода результатов.

Paiza.io

paizo-io

Paiza.io это хороший онлайн-редактор bash,
который можно испытать бесплатно. Для
использования более продвинутого
функционала (например, создания расписания
задач) нужно сначала зарегистрироваться.

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

На paiza.cloud также
можно найти онлайн-терминал Linux.

ShellCheck

shell-check

Это интересный редактор bash, позволяющий
находить баги в скриптах. Проект доступен
на GitHub.
ShellCheck можно установить локально на
поддерживаемых
платформах.

Rextester

rextester

Если вам нужен простейший bash-компилятор,
выбирайте Rextester. Он также поддерживает
и другие языки программирования.

Learn Shell

learnshell

Как и Webminal, Learnshell предоставляет ресурсы
как для изучения shell-программирования,
так и для запуска (испытаний) кода.
Обучающие ресурсы раскрывают и базовые,
и продвинутые темы.

CoCalc

cocalc

CoCalc предоставляет онлайн-среду с
понятным программным стеком, которой
могут пользоваться как профессионалы,
так и учащиеся. Есть платная и бесплатная
версии. В бесплатной у вас будет
ограниченный доступ к функционалу, а
также ограничения интернет-доступа.
Кроме того, следует быть готовым к
посредственной производительности
сервера. Но если вы готовы подписаться
платно, вы сможете работать над скриптами
с коллегами (в режиме реального времени)
и делать много всего другого при помощи
высокопроизводительного сервера.

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

Мы рассказали вам о самых быстрых и надежных терминалах Linux и bash-редакторах, доступных онлайн. Теперь вы можете смело их изучать, экспериментировать и писать код! Если мы пропустили какой-то интересный онлайн-терминал или редактор, дополняйте наш список в комментариях!

Разнообразие Linux-терминалов — GeekMaze

По давно сложившейся в СПО традиции пользователям предлагается большой выбор таких решений. Что, кстати, также традиционно является предметом для критики СПО. Мол, зачем пользователю нужно несколько десятков разных эмуляторов терминала (для краткости их всё чаще называют просто терминалами)? Тем более что разница между ними достаточно условна. И даже некоторые поклонники Linux считают, что избыточность в данном случае вредна.

Тем не менее, аргументов в пользу разнообразия всё-таки больше. Даже если не принимать во внимание тот факт, что множество решений способствует конкуренции, что идёт на пользу как разработчикам, так и пользователям.

1Xterm, urxvt…


Xterm в Kali Linux

Xterm и urxvt — терминалы для среды X Window. Это означает, что они будут одинаково функционировать в любом рабочем окружении. Не исключено, что именно по этой причине их предпочитают опытные пользователи Linux.

Xterm считается стандартным терминалом Linux. Программа входит практически во все дистрибутивы и зачастую именно с неё начинается знакомство с этой ОС.

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

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

Urxvt — форк терминала rxvt с поддержкой Unicode. Настраивается он точно так же, как и xterm — ручной правкой файла .Xresources. Несмотря на свою лаконичность, urxvt поддерживает даже полупрозначность, поэтому при желании пользователя он будет смотреться на рабочем столе весьма эффектно.

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

2Konsole, GNOME terminal, LXTerminal, Xfce terminal…


Gnome Terminal в Kali Linux

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

В частности, штатный терминал KDE Konsole используют другие приложения этого рабочего стола: Konqueror, Kate, Dolphin и KDevelop. Подобный подход существенно расширяет возможности программ и делает их использование максимально комфортным.

Разумеется, Konsole интегрирован в KDE не только технически, но и концептуально. Достаточно взглянуть на систему настроек этого терминала — сразу становится понятно, что опций там настолько много, что настроить можно всё, что только настраивается. Причём, не прибегая к ручному редактированию файла конфигурации.

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

3Guake, Tilda, Yakuake, Yeahconsole…


Guake в Kali Linux

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

Идея действительно весьма интересная. По нажатию на какую-либо клавишу на экране появляется терминал и исчезает точно таким же образом после того, как пользователь произвёл необходимые действия. Любопытно, что примерно то же самое можно достичь и при помощи обычного терминала — достаточно назначить для его открытия «горячую клавишу».

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

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

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

4Terminator, qterminal, sakura, termit, terminology…


Terminator в Kali Linux

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

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

terminology наверняка понравится любителям всевозможных украшений, реализуемых через визуальную систему настроек. Хотя и в нём реализована многооконность, как в Terminator.

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

Таким образом, получается ещё один небесполезный терминал для каких-то специфических задач. И только пользователю решать, как ему удобней работать — с одним терминалом или с четырьмя. Главное, чтобы это сказывалось положительно на результате.

Как начинающим Линуксойдам начать использовать Linux терминал

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

Терминал Linux это не то, чего Вы должны бояться.

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

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

Читая эту статью Вы не сможете узнать все премудрости, того что нужно знать о терминале Linux начинающим. Нужен опыт, работы с терминалом.

Я надеюсь, что это вводная статья поможет вам разобраться с основами, так что вы можете продолжить обучение, далее скачав эту книгу «Команды для терминала Linux».

Базовое использование терминала Linux

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

Вы можете попробовать запустить какую-либо программу, введя её имя в командной строке. Через терминал вы сможете запустить все, что запускается в Linux: от графических приложений, таких как Firefox, до консольных утилит. В отличие от Windows, вам не потребуется вводить полный путь к программе, чтобы запустить её. Например, допустим, мы хотим открыть Firefox через терминал. В Windows, нужно ввести полный путь к exe-файлу Firefox. На Linux, достаточно просто набрать: firefox

Открываем Firefox из терминала Linux

Нажмите клавишу Enter после ввода команды, и он запустится. Обратите внимание, что Вам не нужно добавлять в конце имени расширение или что-нибудь подобное, как в Windows .EXE, файлы в Linux не имеют расширения.

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

firefox linux-user.ru

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

Установка Программного Обеспечения через терминал Linux Ubuntu

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

Пример буду использовать на Ubuntu / Linux Mint или других Ubuntu-подобных дистрибутивах (все другие дистрибутивы имеют свои собственные системы управления пакетами). Итак, вот команда для установки нового программного пакета:

sudo apt-get install имя_пакета

Это может показаться немного сложным, но это работает, так же как и вышеупомянутый Firefox. Слово-сокращение sudo запускает программу, которая запрашивает пароль root (администратора) перед запуском apt-get. Программа apt-get в свою очередь считывает аргументы install имени пакета и устанавливает пакет запрошенный вами.

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

sudo apt-get install chromium-browser pidgin

Выше упомянутой командой я пользуюсь после того как установлю «новоиспеченную» Ubuntu. Установил новый релиз Ubuntu, добавил одной командой все свои любимые программы. Вы просто должны знать название пакетов ваших любимых программ. Как видите о названии пакетов довольно легко догадаться. Вы также можете уточнить ваши догадки с помощью tab, трюк ниже.
У меня в рабочем дистрибутиве десятки нужных мне программ, не буду же я вводить имена всех программ в терминале на новой установленной Linux. И поэтому я использую более автоматизированный способ. Который заключается в том, что перед установкой нового дистрибутива Linux, я сначала на старой установке, с помощью терминала, экспортирую название всех установленных пакетов в текстовый файл.

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

Работа с каталогами и файлами в терминале Linux

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

nano document1

скажет, что надо запустить текстовый редактор NANO с открытым файлом под именем «document1» из текущего каталога. Если вы хотите открыть документ, который находится в другой папке, нужно указать полный путь к файлу, например:

nano /home/pavel/Documents/document1

Если вы указываете путь к файлу, который не существует, nano (как и многие другие программы) будут создавать новый пустой файл в этом месте и открыть его.

Для работы с файлами и директориями, Вам необходимо знать несколько основных команд:

cd — команда для смены каталога

~ (тильда) представляет собой ваш домашний каталог (/home/вы), который является в терминале отправной точкой по умолчанию. Чтобы перейти в другой каталог, вы должны использовать cd — команды.
Например:

cd /

вы перейдете в корневой каталог

cd Загрузки
переместиться в каталог «Загрузки» внутри текущего каталога вашего пользователя (точный путь, в моем случае, будет таков /home/pavel /Загрузки), чтобы переместиться в ваш домашний каталог /home/you/ из любого места нужно скомандовать так:

cd ~

, и

cd ..

команда для перехода вверх по иерархической системе каталогов.

ls — выводит список файлов в текущей директории

ls

 

mkdir — команда для создания нового каталога

По команде:

mkdir newfolder

будет создан новый каталог в текущем каталоге с именем newfolder, а:

mkdir /home/pavel/Загрузки/test

создаст новый каталог с именем test в моем домашнем каталоге «Загрузки» (pavel нужно сменить на имя вашего пользователя).

rm — команда удаляет файл

Например:

rm testfile

удаляет файл с именем test в текущем каталоге, а:

rm /home/pavel/Загрузки/testfile

удаляет файл с именем testfile в каталоге /home/pavel/Загрузки.

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

Например:

cp testfile /home/pavel/Загрузки

копирует файл с именем testfile из текущего каталога в /home/pavel/Загрузки.

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

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

mv /home/pavelz/Загрузки/testfile /home/pavelz/Документы/testfile1

перемещает файл с именем testfile из /home/pavel/Загрузки в каталог /home/pavel/Документы уже под именем testfile1.

Это может казаться сначала немного пугающим, но здесь нет, ни чего сложного. Это основные команды, которые необходимо освоить, чтобы эффективно работать с файлами в терминале. Перемещаться по файловой системе с помощью cd, просматривать файлы в текущей директории с помощью ls, создавать каталоги с mkdir, и управлять файлами при помощи rm, cp, mv командами.

Секреты ускоряющие работу в терминале Linux

Авто дополнение по клавише Tab

Tab — это очень полезный трюк. В то время когда Вы вводите какую-либо команду, имя файла, или некоторые другие типы аргументов — можно авто заполнить команду с помощью tab. Терминал просто допечатает за Вас.
Например, если ввести fir в терминале и нажать tab, firefox появляется автоматически. Это избавит вас от необходимости печатать полностью. Можно нажать Tab и оболочка будет готово дополнить команду за Вас. Это также работает для папок, имен файлов и имен пакетов.

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

Дополнительные трюки вы найдете в этой книге.

Архив, в который упакована книга «Команды для терминала Linux» находится в открытом доступе, но защищен паролем. Для того чтобы получить пароль, я от Вас прошу поставить ссылки на этот сайт в Vkontakte, Фэйсбуке, Google Plus, Твиттере или в какой-либо другой социальной сети, на сайте или форуме. Можете выбрать любые понравившиеся статьи и поделиться ссылкой через социальные кнопки, которые можно наблюдать слева. При этом я Вас прошу немного изменять отдаваемый текст в социалку для уникализации или добавлять свой комментарий.

Важно: Ваш аккаунт в социальной сети, где будет расположена ссылка, не должен быть «нулевым». Хотя бы должно иметься десяток — другой друзей, читателей. Эта страница должна быть доступна без регистрации.

Итак: скачивайте архив с книгой, делитесь любыми статьями этого сайта и присылайте мне на e-mail: [email protected] письмо с содержанием адреса, web-станицы, где Вы расположили ссылки, желательно несколько ссылок на разные страницы этого сайта. Таким образом, я смогу найти ту Вашу страницу и ответить Вам письмом с паролем от архива.

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

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

Как установить ретро терминал для Linux?

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

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

Сool-retro-term поможет получить тот желаемый эффект без прикладывания особых усилий.

Скачиваем и устанавливаем:

[ads]

Итак, чтобы установить приложение в системах, основанных на дистрибутиве Ubuntu, просто добавьте новый репозиторий, обновите индексы и установите приложение:

sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update
sudo apt-get install cool-retro-term

В дистрибутивах, основанных на Arch, установка еще более проста:

sudo pacman -S cool-retro-term

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

sudo apt-get install git build-essential qmlscene qt5-qmake qt5-default qtdeclarative5-dev qtdeclarative5-controls-plugin qtdeclarative5-qtquick2-plugin libqt5qml-graphicaleffects qtdeclarative5-dialogs-plugin qtdeclarative5-localstorage-plugin qtdeclarative5-window-plugin

На сайте https://github.com/Swordfish90/cool-retro-term можно найти список зависимостей для других дистрибутивов.

Теперь, можете использовать команды:

git clone https://github.com/Swordfish90/cool-retro-term.git
cd cool-retro-term
qmake && make

После завершения работы компилятора, приложение можно будет запустить командой:

./cool-retro-term

Чтобы приложение отображалось в меню Dash, просто введите команду:

sudo cp cool-retro-term.desktop /usr/share/applications

Осталось только насладиться модификацией вашего терминала.

Заметки о решаемых задачах АйТишников — Команды консоли (terminal




























































































































































































































































































































































































Команда Описание
Системная информация
arch отобразить архитектуру компьютера
uname -m
uname -r отобразить используемую версию ядра
dmidecode -q показать аппаратные системные компоненты — (SMBIOS / DMI)
hdparm -i /dev/hda вывести характеристики жесткого диска
hdparm -tT /dev/sda протестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfo отобразить информацию о процессоре
cat /proc/interrupts показать прерывания
cat /proc/meminfo проверить использование памяти
cat /proc/swaps показать файл(ы) подкачки
cat /proc/version вывести версию ядра
cat /proc/net/dev показать сетевые интерфейсы и статистику по ним
cat /proc/mounts отобразить смонтированные файловые системы
lspci -tv показать в виде дерева PCI устройства
lsusb -tv показать в виде дерева USB устройства
date вывести системную дату
cal 2007 вывести таблицу-календарь 2007-го года
date 041217002007.00 установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w сохранить системное время в BIOS
Остановка системы
shutdown -h now Остановить систему
init 0
telinit 0
shutdown -h hours:minutes & запланировать остановку системы на указанное время
shutdown -c отменить запланированную по расписанию остановку системы
shutdown -r now перегрузить систему
reboot
logout выйти из системы
Файлы и директории
cd /home перейти в директорию ‘/home’
cd .. перейти в директорию уровнем выше
cd ../.. перейти в директорию двумя уровнями выше
cd перейти в домашнюю директорию
cd ~user перейти в домашнюю директорию пользователя user
cd — перейти в директорию, в которой находились до перехода в текущую директорию
pwd показать текущюю директорию
ls отобразить содержимое текущей директории
ls -F отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип
ls -l показать детализированое представление файлов и директорий в текущей директории
ls -a показать скрытые файлы и директории в текущей директории
ls *[0-9]* показать файлы и директории содержащие в имени цифры
tree показать дерево файлов и директорий, начиная от корня (/)
lstree
mkdir dir1 создать директорию с именем ‘dir1’
mkdir dir1 dir2 создать две директории одновременно
mkdir -p /tmp/dir1/dir2 создать дерево директорий
rm -f file1 удалить файл с именем ‘file1’
rmdir dir1 удалить директорию с именем ‘dir1’
rm -rf dir1 удалить директорию с именем ‘dir1’ и рекурсивно всё её содержимое
rm -rf dir1 dir2 удалить две директории и рекурсивно их содержимое
mv dir1 new_dir переименовать или переместить файл или директорию
cp file1 file2 сопировать файл file1 в файл file2
cp dir/* . копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 копировать директорию dir1 в директорию dir2
ln -s file1 lnk1 создать символическую ссылку на файл или директорию
ln file1 lnk1 создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditest модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
Поиск файлов
find / -name file1 найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -user user1 найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find /home/user1 -name «*.bin» Найти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’
find /usr/bin -type f -atime +100 найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -mtime -10 найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find / -name *.rpm -exec chmod 755 ‘{}’ ; найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -xdev -name «*.rpm» найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
locate «*.ps» найти все файлы, сожержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
whereis halt показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
which halt отображает полный путь к файлу ‘halt’
Монтирование файловых систем
mount /dev/hda2 /mnt/hda2 монтирует раздел ‘hda2’ в точку монтирования ‘/mnt/hda2’. Убедитесь в наличии директории-точки монтирования ‘/mnt/hda2’
umount /dev/hda2 размонтирует раздел ‘hda2’. Перед выполнением, покиньте ‘/mnt/hda2’
fuser -km /mnt/hda2 принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/hda2 выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
mount /dev/fd0 /mnt/floppy монтировать флоппи-диск
mount /dev/cdrom /mnt/cdrom монтировать CD или DVD
mount /dev/hdc /mnt/cdrecorder монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdrom смонтировать ISO-образ
mount -t vfat /dev/hda5 /mnt/hda5 монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share монтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/user/prg /var/ftp/user «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно.
Дисковое пространство
df -h отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)
ls -lSr |more выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
du -sh dir1 подсчитывает и выводит размер, занимаемый директорией ‘dir1’ (Прим.переводчика. ключ -h работает не во всех *nix системах)
du -sk * | sort -rn отображает размер и имена файлов и директорий, с соритровкой по размеру
rpm -q -a —qf ‘%10{SIZE}t%{NAME}n’ |sort -k1,1n показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
Пользователи и группы
groupadd group_name создать новую группу с именем group_name
groupdel group_name удалить группу group_name
groupmod -n new_group_name old_group_name переименовать группу old_group_name в new_group_name
useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1 создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome
useradd user1 создать пользователя user1
userdel -r user1 удалить пользователя user1 и его домашний каталог
usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1 изменить атрибуты пользователя
passwd сменить пароль
passwd user1 сменить пароль пользователя user1 (только root)
chage -E 2005-12-31 user1 установить дату окончания действия учётной записи пользователя user1
pwck проверить корректность системных файлов учётных записей. Проверяются файлы /etс/passwd и /etс/shadow
grpck проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp [-] group_name изменяет первичную группу текущего пользователя. Если указать «-«, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etс/passwd
Выставление/изменение полномочий на файлы
ls -lh просмотр полномочий на файлы и директории в текущей директории
ls /tmp | pr -T5 -W$COLUMNS вывести содержимое директории /tmp и разделить вывод на пять колонок
chmod ugo+rwx directory1 добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом «chmod 777 directory1»
chmod go-rwx directory1 отобрать у группы и всех остальных все полномочия на директорию directory1.
chown user1 file1 назначить владельцем файла file1 пользователя user1
chown -R user1 directory1 назначить рекурсивно владельцем директории directory1 пользователя user1
chgrp group1 file1 сменить группу-владельца файла file1 на group1
chown user1:group1 file1 сменить владельца и группу владельца файла file1
find / -perm -u+s найти, начиная от корня, все файлы с выставленным SUID
chmod u+s /bin/binary_file назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
chmod u-s /bin/binary_file снять SUID-бит с файла /bin/binary_file.
chmod g+s /home/public назначить SGID-бит директории /home/public.
chmod g-s /home/public снять SGID-бит с директории /home/public.
chmod o+t /home/public назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
chmod o-t /home/public снять STIKY-бит с директории /home/public
Специальные атрибуты файлов
chattr +a file1 позволить открывать файл на запись только в режиме добавления
chattr +c file1 позволяет ядру автоматически сжимать/разжимать содержимое файла.
chattr +d file1 указавет утилите dump игнорировать данный файл во время выполнения backup’а
chattr +i file1 делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.
chattr +s file1 позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных.
chattr +S file1 указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
chattr +u file1 данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
lsattr показать атрибуты файлов
Архивирование и сжатие файлов
bunzip2 file1.bz2 разжимает файл ‘file1.gz’
gunzip file1.gz
gzip file1 сжимает файл ‘file1’
bzip2 file1
gzip -9 file1 сжать файл file1 с максимальным сжатием
rar a file1.rar test_file создать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar file1 file2 dir1 создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
unrar x file1.rar распаковать rar-архив
tar -cvf archive.tar file1 создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1 создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tar показать содержимое архива
tar -xvf archive.tar распаковать архив
tar -xvf archive.tar -C /tmp распаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1 создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2 разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1 создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gz разжать архив и распаковать его
zip file1.zip file1 создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1 создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zip разжать и распаковать zip-архив
RPM пакеты (Fedora, Red Hat и тому подобное)
rpm -ivh package.rpm установить пакет с выводом сообщений и прогресс-бара
rpm -ivh —nodeps package.rpm установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -U package.rpm обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -F package.rpm обновить пакет только если он установлен
rpm -e package_name.rpm удалить пакет
rpm -qa отобразить список всех пакетов, установленных в системе
rpm -qa | grep httpd среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
rpm -qi package_name вывести информацию о конкрентном пакете
rpm -qg «System Environment/Daemons» отобразить пакеты входящие в группу пакетов
rpm -ql package_name вывести список файлов, входящих в пакет
rpm -qc package_name вывести список конфигурационных файлов, входящих в пакет
rpm -q package_name —whatrequires вывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q package_name —whatprovides show capability provided by a rpm package
rpm -q package_name —scripts отобразит скрипты, запускаемые при установке/удалении пакета
rpm -q package_name —changelog вывести историю ревизий пакета
rpm -qf /etc/httpd/conf/httpd.conf проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.
rpm -qp package.rpm -l отображает список файлов, входящих в пакет, но ещё не установленных в систему
rpm —import /media/cdrom/RPM-GPG-KEY ипортировать публичный ключ цифровой подписи
rpm —checksig package.rpm проверит подпись пакета
rpm -qa gpg-pubkey проверить целостность установленного содержимого пакета
rpm -V package_name проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -Va проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vp package.rpm проверить пакет, который ещё не установлен в систему
rpm2cpio package.rpm | cpio —extract —make-directories *bin* извлечь из пакета файлы содержащие в своём имени bin
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm установить пакет, собранный из исходных кодов
rpmbuild —rebuild package_name.src.rpm собрать пакет из исходных кодов
YUM — средство обновления пакетов(Fedora, RedHat и тому подобное)
yum install package_name закачать и установать пакет
yum update обновить все пакеты, установленные в систему
yum update package_name обновить пакет
yum remove package_name удалить пакет
yum list вывести список всех пакетов, установленных в систему
yum search package_name найти пакет в репозитории
yum clean packages очисть rpm-кэш, удалив закачанные пакеты
yum clean headers удалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean all очисть rpm-кэш, удалив закачанные пакеты и заголовки
DEB пакеты (Debian, Ubuntu и тому подобное)
dpkg -i package.deb установить / обновить пакет
dpkg -r package_name удалить пакет из системы
dpkg -l показать все пакеты, установленные в систему
dpkg -l | grep httpd среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
dpkg -s package_name отобразить инфрмацию о конкретном пакете
dpkg -L package_name вывести список файлов, входящих в пакет, установленный в систему
dpkg —contents package.deb отобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg -S /bin/ping найти пакет, в который входит указанный файл.
APT — средство управление пакетами (Debian, Ubuntu и тому подобное)
apt-get install package_name установить / обновить пакет
apt-cdrom install package_name установить / обновить пакет с cdrom’а
apt-get update получить обновлённые списки пакетов
apt-get upgrade обновить пакеты, установленные в систему
apt-get remove package_name удалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_name удалить пакет, установленный в систему с удалением файлов конфигурации
apt-get check проверить целостность зависимостей
apt-get clean удалить загруженные архивные файлы пакетов
apt-get autoclean удалить старые загруженные архивные файлы пакетов
Просмотр содержимого файлов
cat file1 вывести содержимое файла file1 на стандартное устройсво вывода
tac file1 вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
head -2 file1 вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1 вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messages выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
Манипуляции с текстом
cat file | grep -i «Criteria» > result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file | grep -i «Criteria» » result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан
grep Aug /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug»
grep ^Aug /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, начинающиеся на «Aug»
grep [0-9] /var/log/messages из файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие цифры
grep Aug -R /var/log/* отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug», во всех файлах, находящихся в директории /var/log и ниже
sed ‘s/stringa1/stringa2/g’ example.txt в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода.
sed ‘/^$/d’ example.txt удалить пустые строки из файла example.txt
sed ‘/ *#/d; /^$/d’ example.txt удалить пустые строки и комментарии из файла example.txt
echo ‘test’ | tr ‘[:lower:]’ ‘[:upper:]’ преобразовать символы из нижнего регистра в верхний
sed -e ‘1d’ result.txt удалить первую строку из файла example.txt
sed -n ‘/string1/p’ отобразить только строки содержашие «string1»
sed -e ‘s/ *$//’ example.txt удалить пустые символы в в конце каждой строки
sed -e ‘s/string1//g’ example.txt удалить строку «string1» из текста не изменяя всего остального
sed -n ‘1,8p;5q’ example.txt взять из файла с первой по восьмую строки и из них вывести первые пять
sed -n ‘5p;5q’ example.txt вывести пятую строку
sed -e ‘s/0*/0/g’ example.txt заменить последовательность из любого количества нулей одним нулём
cat -n file1 пронумеровать строки при выводе содержимого файла
cat example.txt | awk ‘NR%2==1’ при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk ‘{print $1}’ вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk ‘{print $1,$3}’ вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2 объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d ‘+’ file1 file2 объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2 отсортировать содержимое двух файлов
sort file1 file2 | uniq отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
Преобразование наборов символов и файловых форматов
dos2unix filedos.txt fileunix.txt конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)
unix2dos fileunix.txt filedos.txt конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode ..HTML < page.txt > page.html конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more вывести список доступных форматов
Анализ файловых систем
badblocks -v /dev/hda1 проверить раздел hda1 на наличие bad-блоков
fsck /dev/hda1 проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1 проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck /dev/hda1
e2fsck -j /dev/hda1 проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck.ext3 /dev/hda1 проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1 проверить/восстановить целостность файловой системы fat раздела hda1
fsck.msdos /dev/hda1
dosfsck /dev/hda1
Форматирование файловых систем
mkfs /dev/hda1 создать linux-файловую систему на разделе hda1
mke2fs /dev/hda1 создать файловую систему ext2 на разделе hda1
mke2fs -j /dev/hda1 создать журналирующую файловую систему ext3 на разделе hda1
mkfs -t vfat 32 -F /dev/hda1 создать файловую систему FAT32 на разделе hda1
fdformat -n /dev/fd0 форматирование флоппи-диска без проверки
mkswap /dev/hda3 создание swap-пространства на разделе hda3
swap-пространство
mkswap /dev/hda3 создание swap-пространства на разделе hda3
swapon /dev/hda3 активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3 активировать swap-пространства, расположенные на разделах hda2 и hdb3
Создание резервных копий (backup)
dump -0aj -f /tmp/home0.bak /home создать полную резервную копию директории /home в файл /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /home создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
restore -if /tmp/home0.bak восстановить из резервной копии /tmp/home0.bak
rsync -rogpav —delete /home /tmp синхронизировать /tmp с /home
rsync -rogpav -e ssh —delete /home ip_address:/tmp синхронизировать через SSH-туннель
rsync -az -e ssh —delete ip_addr:/home/public /home/local синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием
rsync -az -e ssh —delete /home/local ip_addr:/home/public синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием
dd bs=1M if=/dev/hda | gzip | ssh [email protected]_addr ‘dd of=hda.gz’ сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель
tar -Puf backup.tar /home/user создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C [email protected]_addr ‘cd /home/share/ && tar x -p’ копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C [email protected]_addr ‘cd /home/backup-home && tar x -p’ копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
tar cf — . | (cd /tmp/backup ; tar xf — ) копирование одной директории в другую с сохранением полномочий и линков
find /home/user1 -name ‘*.txt’ |xargs cp -av —target-directory=/home/backup/ —parents поиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию
find /var/log -name ‘*.log’ | tar cv —files-from=- | bzip2 > log.tar.bz2 поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 восстановить MBR с флоппи-диска на /dev/hda
CDROM
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force clean a rewritable cdrom
mkisofs /dev/cdrom > cd.iso create an iso image of cdrom on disk
mkisofs /dev/cdrom | gzip > cd_iso.gz create a compressed iso image of cdrom on disk
mkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cd create an iso image of a directory
cdrecord -v dev=/dev/cdrom cd.iso burn an ISO image
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom — burn a compressed ISO image
mount -o loop cd.iso /mnt/iso mount an ISO image
cd-paranoia -B rip audio tracks from a CD to wav files
cd-paranoia — «-3» rip first three audio tracks from a CD to wav files
cdrecord —scanbus scan bus to identify the channel scsi
Сеть (LAN и WiFi)
ifconfig eth0 показать конфигурацию сетевого интерфейса eth0
ifup eth0 активировать (поднять) интерфейс eth0
ifdown eth0 деактивировать (опустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 выставить интерфейсу eth0 ip-адрес и маску подсети
ifconfig eth0 promisc перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)
ifconfig eth0 -promisc отключить promiscuous-режим на интерфейсе eth0
dhclient eth0 активировать интерфейс eth0 в dhcp-режиме.
route -n вывести локальную таблицу маршрутизации
netstat -rn
route add -net 0/0 gw IP_Gateway задать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gateway удалить ip-адрес шлюза по умолчанию (default gateway)
echo «1» > /proc/sys/net/ipv4/ip_forward разрешить пересылку пакетов (forwarding)
hostname отобразить имя компьютера
host www.yandex.ru разрешить имя www.yandex.ru хоста в ip-адрес и наоборот
host 93.158.134.3
ip link show отобразить состояние всех интерфейсов
mii-tool eth0 отобразить статус и тип соединения для интерфейса eth0
ethtool eth0 отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupn отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединения
netstat -tupln отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих порты
tcpdump tcp port 80 отобразить весь трафик на TCP-порт 80 (обычно — HTTP)
iwlist scan просканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth2 показать конфигурацию беспроводного сетевого интерфейса eth2
Microsoft Windows networks(SAMBA)
nbtscan ip_addr разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba.
nmblookup -A ip_addr
smbclient -L ip_addr/hostname отобразить ресурсы, предоставленные в общий доступ на windows-машине
smbget -Rr smb://ip_addr/share подобно wget может получить файлы с windows-машин через smb-протокол
mount -t smbfs -o username=user,password=pass//winclient/share /mnt/share смонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему
IPTABLES (firewall)
iptables -t filter -nL отобразить все цепочки правил
iptables -nL
iptables -t nat -L отобразить все цепочки правил в NAT-таблице
iptables -t filter -F очистить все цепочки правил в filter-таблице
iptables -F
iptables -t nat -F очистить все цепочки правил в NAT-таблице
iptables -t filter -X удалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp —dport telnet -j ACCEPT позволить входящее подключение telnet’ом
iptables -t filter -A OUTPUT -p tcp —dport http -j DROP блокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp —dport pop3 -j ACCEPT позволить «прокидывать» (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG —log-prefix «DROP INPUT» включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp —dport 22-j DNAT —to-destination 10.0.0.2:22 перенаправление пакетов, адресованных одному хосту, на другой хост
Мониторинг и отладка
top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args —forest вывести PID’ы и процессы в виде дерева
pstree отобразить дерево процессов
kill -9 98989 «убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)
kill -KILL 98989
kill -TERM 98989 Корректно завершить процесс с PID 98989
kill -1 98989 заставить процесс с PID 98989 перепрочитать файл конфигурации
kill -HUP 98989
lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989
lsof /home/user1 отобразить список открытых файлов из директории /home/user1
strace -c ls > /dev/null вывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls > /dev/null вывести вызовы бибилотек
watch -n1 ‘cat /proc/interrupts’ отображать прерывания в режиме реального времени
last reboot отобразить историю перезагрузок системы
last user1 отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней
lsmod вывести загруженные модули ядра
free -m показать состояние оперативной памяти в мегабайтах
smartctl -A /dev/hda контроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hda
tail /var/log/dmesg вывести десять последних записей из журнала загрузки ядра
tail /var/log/messages вывести десять последних записей из системного журнала
Другие полезные команды
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

Терминал и консоль | Русскоязычная документация по Ubuntu

Итак, давайте сначала посмотрим что из себя представляет этот самый терминал. Найти его можно набрав «терминал» в строке поиска, или комбинацией клавиш Ctrl+Alt+T. Запустив его вы увидите примерно такое окошечко:

Знакомьтесь, это и есть терминал. Он создан для того, чтобы выполнять текстовые команды, поэтому отложите свою мышку в сторону и пододвиньте поближе клавиатуру1).

Управление терминалом

Давайте выполним какую-нибудь командочку, например:

lsb_release -a 2> /dev/null | grep -P "(?<=Codename:)(.*)"

На выходе получим кодовое имя нашего дистрибутива:

Набирать такие команды с клавиатуры посимвольно немного неудобно, поэтому давайте сразу разберёмся с основами управления терминалом. Начнём с копирования/вставки. Стандартные сочетания клавиш Ctrl+C и Ctrl+V в терминале не работают, вместо них используется старая добрая пара Ctrl+Insert с Shift+Insert или же сочетания с Shift: Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки. Что ж, теперь вы умеете целиком копировать команды из руководств.

Кстати, в большинстве руководств и инструкций вы встретите именно терминальные команды. Это связано с тем, что, графических оболочек очень много, и объяснить, как выполнить какое-то действие для каждой из них бывает очень непросто. А терминал — один для всех, и одна и та же команда работает во всех оболочках (естественно, кроме команд по настройке самой оболочки). К тому же, намного проще дать одну команду, чем объяснить где и как 10 раз нажать мышкой.

Однако, часто всё-таки команды приходится набирать вручную, а не вставлять откуда-то. И вот тут на помощь приходит великолепное свойство терминала, называемое автодополнением. Наберите в терминале символы apt-g, а потом нажмите клавишу Tab. Терминал автоматически дополнит за вас команду. Кстати, apt-get — это основная консольная утилита управления пакетами, но об этом после.

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

Удобно, не правда ли? Особенно, если привыкнуть.

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

Еще одна хитрость. Откройте терминал нажмите сочетание клавиш Ctrl+R и начните набирать нужную команду. Терминал автоматически подставит подходящие варианты из набранных ранее команд.

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

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

Узнать, в какой же папке вы сейчас находитесь, очень просто, достаточно посмотреть на приглашение терминала, то есть на те символы, которые печатаются автоматически в начале каждой строки:

Текущий каталог — это то, что между символами : и $. Кстати, обратите внимание, перед : стоит имя пользователя и имя компьютера, разделённые символом @. Но когда вы запускаете терминал, то между : и $ стоит символ ~:

При запуске терминала текущим каталогом становится домашняя папка пользователя, так вот, символ ~ — это синоним адреса домашней папки текущего пользователя2). Кстати, если вы ещё не знаете, полный адрес домашнего каталога выглядит как

/home/логин_пользователя

У меня это /home/san-alex.

Хорошо, как выяснить текущее местоположение, вроде разобрались, а как же его сменить? Для этого предназначена команда cd, выполните, например, команду

cd Музыка

Видите, текущее местоположение изменилось:

На всякий случай напоминаю, что имена файлов и каталогов в Linux чувствительны к регистру символов, то есть Музыка и музыка — эта два совершенно разных имени.

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

cd /etc/apt

Хочу сразу обратить внимание на несколько важных особенностей. Во-первых, при наборе путей так же работает автодополнение по Tab, это очень удобно. Во-вторых, использовать различные небуквенные символы и пробелы напрямую при наборе путей нельзя. Например, для того, чтобы перейти в каталог, содержащий в имени символ пробела, надо при наборе пути к такому каталогу перед пробелом поставить символ обратного слеша \. Вот так:

cd Каталог\ с\ плохими\ символами\ в\ имени\<\>

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

cd "Каталог с плохими символами в имени<>"

Но в этом случае автодополнение работать не будет.

Заменитель адреса домашнего каталога ~ можно использовать и при наборе путей, например:

cd ~/Музыка

А для перемещения непосредственно в домашний каталог достаточно просто набрать cd без аргументов.

Для перемещения на каталог выше можно использовать команду

cd ..

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

cd ../..

В принципе, всё можно как угодно комбинировать, в разумных пределах, конечно. Ну и напоследок про cd. Переместиться в предыдущий посещённый каталог можно командой

cd -

Как перемещаться по каталогам в первом приближении вроде разобрались, теперь же я расскажу про некоторые другие полезные операции. Посмотреть содержимое текущего каталога можно командой ls:

Обычно командам можно передавать различные модификаторы, например:

Кстати, эта команда показывает различную дополнительную информацию о содержимом каталога.

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

cat ~/text.txt

Получение справки

Начинающих пользователей Linux очень часто любят пугать так называемыми манами. Дело в том, что man — это система справки о командах для терминала. Пользоваться ей очень легко, просто наберите в терминале

man команда

Например:

man ls

Появится собственно текст справки3), разбитый на разделы. Перемещаться по нему можно с помощью стрелок и клавиш PgUp и PgDown, а для выхода просто нажмите Q.

Кроме man-страниц у многих утилит4) есть встроенная справка, которую обычно можно посмотреть, запустив программу с ключом --help:

утилита --help

Например:

ls --help

Есть и другие способы получения помощи, например похожая на man утилита info. Но чаще всего наиболее полную информацию о программе можно получить именно из man-страниц, а краткую справку — указав ключ --help при вызове5).

История введённых команд

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

history

У каждой команды в истории есть номер, выполнить снова команду с определённым номером можно набрав в терминале восклицательный знак и номер нужной команды:

А повторить предыдущую набранную команду можно просто написав два восклицательных знака !! Двигаться по истории набранных команд можно стрелочками вверх/вниз клавиатуры. Нажав один раз на стрелку вверх — терминал покажет последнюю набранную команду, два раза — предпоследнюю, и так далее. Если нужно вернуться назад — нажмите стрелочку вниз.

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

Разные полезности терминала

На всякий случай немного коснусь ещё одной темы. Бывает так, что вы что-то запустили в терминале и хотите прервать работу этого чего-то. Обычно это сделать очень просто, достаточно нажать на клавиатуре сочетание клавиш Ctrl+C6).

Есть и другие управляющие сочетания, например Ctrl+D посылает сигнал конца файла запущенному приложению, а без запущенных утилит делает тоже, что и терминальная команда exit. Ну а если вы хотите более подробно управлять работающими программами, то посмотрите на системный монитор htop, который, правда, нужно доустанавливать отдельно.

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

И напоследок, в качестве примера, рассмотрим простой консольный файловый менеджер. Помните, в одной из предыдущих глав мы установили в нашу систему Midnight Commander. Введите в терминале команду

mc

и увидите, что получится:

У пользователей постарше, успевших поработать в DOS, это окно может вызвать острый приступ ностальгии.

Консоль

Не путайте терминал с консолью. Для работы консоли графическая оболочка не нужна совсем. Именно так работают серверные версии Ubuntu. Терминал — это только одна из программ, которые эмулируют работу консоли. В «настоящую» консоль можно попасть набрав комбинацию клавиш Ctrl+Alt+Fx (где Fx — клавиши от F1 до F6). После этого нужно ввести свой логин и пароль (пароль никак отображаться не будет, ни звездочками, ни черточками — вообще никак). Обратно в графическую оболочку — Ctrl+Alt+F7.

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

Вы, наверное, подумали: а зачем эта консоль нужна, если есть терминал? Приведу только два примера:

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

  • иногда какая-то программа может зависнуть и «повесить» все графическую оболочку (хоть и случается такое нечасто). Тогда можно перейти в консоль, командой

top

посмотреть номер зависшего процесса и командой

kill -9 номер процесса

завершить зависший процесс.

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

Основные команды Linux для начинающих пользователей терминалов Linux

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

Разблокируйте любой международный веб-сайт, просматривайте анонимно и загружайте фильмы и Mp3 в полной безопасности с помощью CyberGhost всего за 2 доллара.75 в месяц:

Мы подготовили это руководство для Linux Mint 18.1 и Ubuntu 16.04 LTS.

Основные команды Linux, однако, универсальны, и они должны работать в любом прошлом и будущем дистрибутиве. Они будут работать даже с операционными системами, отличными от Linux, основанными на Unix, такими как FreeBSD или терминал macOS / OS X.

Важная информация о терминале Linux

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

Чтобы быстро открыть терминал из графического интерфейса пользователя, сочетание клавиш Ctrl + Alt + T будет работать в большинстве дистрибутивов и сред рабочего стола.

Это основная анатомия большинства команд Linux:

 [sudo]  команда  [необязательный переключатель] [путь к файлу или каталогу] 

При использовании sudo запускает любую команду с правами администратора.Большинство команд Linux, которые имеют дело с системными файлами и установкой / удалением программ, требуют sudo.

Команды linux чувствительны к регистру.

Важно помнить, что все, что написано в терминале, чувствительно к регистру. Когда используется команда «sudo», ни «Sudo», «SUDO», ни «sUdO» не будут работать.

Basic Linux Commands for Linux Terminal Beginners 02

Большинство команд Linux пишутся в нижнем регистре, но есть ключи с заглавной буквы, такие как «chown -R».

Имена файлов и каталогов также чувствительны к регистру.«Файл1» и «файл1» — это разные файлы, даже если они находятся в одном каталоге.

Остерегайтесь пробелов

Пробелы не менее важны. «chown-R» вернет только ошибку. Если мы хотим создать / получить доступ / удалить файл или каталог, у которого есть пробел в имени файла, мы можем либо поместить все имя файла в кавычки …

Basic Linux Commands for Linux Terminal Beginners 03

… или «экранировать» пробел, используя обратная косая черта «\».

Basic Linux Commands for Linux Terminal Beginners 04

Если бы мы ничего не сделали, конкретная команда mkdir, которая создает каталоги, создала бы два каталога, «Папка» и «Имя».Другие команды Linux просто не работают.

Basic Linux Commands for Linux Terminal Beginners 05

Поиск предыдущих команд Linux

Нажатие клавиши клавиатуры «Вверх» приведет к циклическому просмотру последних команд Linux, которые мы успешно использовали, по порядку. Здесь не отображаются неудачные команды.

Basic Linux Commands for Linux Terminal Beginners 06

Мы также можем использовать команду history , чтобы увидеть все команды Linux, которые мы когда-либо использовали на терминале.

Невидимый пароль

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

Basic Linux Commands for Linux Terminal Beginners 07

Если вы хотите изменить поведение по умолчанию и чтобы при вводе пароля появлялись звездочки, ознакомьтесь с нашим руководством:

Показывать звездочки при вводе пароля Linux в терминале

Используйте вкладку для автозаполнения

Кнопка Tab на клавиатуре позволяет значительно сэкономить время при выполнении команд Linux, поскольку она автоматически подставляет имена файлов и каталогов.

Если мы хотим удалить файл с именем «whydidIgivethisfilesuchalongname», нам просто нужно ввести «rm w», и нажатие Tab автоматически завершит оставшуюся часть имени файла.

Если файлов, начинающихся с одинаковых букв, несколько, например «whydidIgivethisfilesuchalongname» и «whydidIeatsomuch», нажатие Tab на «rm w» приведет к автозаполнению общего «whydidI».

Basic Linux Commands for Linux Terminal Beginners 08

Затем нам нужно ввести дополнительный символ — «g» или «e» в примере — и снова нажать клавишу Tab, чтобы возобновить автозаполнение.

Копирование и вставка команд Linux

Чтобы скопировать или вставить в терминал, Ctrl + C и Ctrl + V не работают.

Вместо этого мы должны использовать Ctrl + Shift + C и Ctrl + Shift + V.Или мы можем щелкнуть правой кнопкой мыши и использовать команды из контекстного меню.

Basic Linux Commands for Linux Terminal Beginners 09

Подстановочные знаки

При использовании команд Linux символы «?» и «*» — символы подстановки.

«?» заменит любой одиночный символ. Итак, если у нас есть два файла с именами test1file и test2file, мы можем удалить их оба с помощью «rm test? File». Но это не удалит test12file.

Basic Linux Commands for Linux Terminal Beginners 10

«*» заменяет любую строку символов. «rm test * file» удалит test1file, test12file, testBLABLABLAfile.Он также удалит любые другие имена файлов, начинающиеся с «test-» и заканчивающиеся на «-file», включая testfile.

Basic Linux Commands for Linux Terminal Beginners 11

Очевидно, что мы должны быть очень осторожны при сочетании команд удаления с подстановочными знаками. «rm *» удалит все файлы в текущем каталоге и не будет использовать корзину.

Дополнительная информация о командах Linux

Мы можем узнать больше о любой из команд Linux с помощью [команда] —help и man [команда] .

[команда] —help покажет использование команды, а также доступные параметры и переключатели.

Basic Linux Commands for Linux Terminal Beginners 12

man [команда] покажет руководство по команде, которое является расширенной версией вывода —help.

Basic Linux Commands for Linux Terminal Beginners 13

Однако не все команды Linux имеют параметр вручную или —help.

Basic Linux Commands for Linux Terminal Beginners 14

Основные команды Linux для терминала

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

Базовая навигация

Эти команды Linux помогут нам переходить к определенным каталогам и искать файлы.

  • ls — перечислить все содержимое текущего рабочего каталога.
    Обязательно прочтите ls —help, потому что есть много вариантов, как показать содержимое каталога.

Basic Linux Commands for Linux Terminal Beginners 14a

  • cd [каталог] — изменить каталог
  • pwd — вывести полный путь к текущему рабочему каталогу.Он означает «Рабочий каталог печати»
  • find [файл или каталог] — поиск определенного файла или каталога внутри текущего рабочего каталога
    Мы можем использовать его с подстановочными знаками, такими как find * .png
  • найти [файл или каталог] — искать определенный файл или каталог повсюду в файловой системе и возвращать все пути, которые его содержат.
    Мы можем использовать его с подстановочными знаками, такими как locate * .png
Ярлыки доступа к каталогу

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

  • «~» представляет наш личный / домашний каталог, например cd ~ и cd ~ / Documents
  • «..» представляет родительский каталог, то есть каталог, который содержит тот, который мы сейчас находим. Если мы находимся в / home / test / public и набираем cd .. , это приведет нас к / home / test /
  • Мы также можем использовать полный путь для перехода в конкретный каталог, например cd / home / test / public / .Кнопка Tab может помочь нам на каждом этапе автозаполнения каталогов.
Что делать с командами, которые возвращают слишком много результатов

Если мы запустим «ls» в каталоге с 1000 файлов или воспользуемся «locate * .png» на диске с большим количеством изображений png, мы тоже получим много результатов.

В этом случае мы можем использовать вертикальную черту с символом « | » (доступный с помощью «Shift + \») и больше или меньше .

С найдите *.png | more мы будем получать результаты постранично, и мы можем открывать следующие страницы, нажимая пробел. Выходим нажатием «q».

Basic Linux Commands for Linux Terminal Beginners 15

С найти * .png | меньше , мы все равно получим первую страницу результатов, но перемещайтесь вверх и вниз с помощью клавиш со стрелками. Опять же, мы завершаем работу с помощью «q».

Basic Linux Commands for Linux Terminal Beginners 16

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

Это способ создания, удаления и поиска файлов и каталогов.

  • mkdir [имя каталога] — создать новый каталог
    Мы можем включить полный путь к каталогу, чтобы создать его где угодно на диске, например.грамм. mkdir ~ / public / dir1
    Если мы создадим каталог с помощью sudo mkdir, мы не сможем создавать файлы или каталоги внутри без прав администратора.
  • touch [имя файла] — создать пустой файл
    Это особенно полезно с командой «echo», которую вы найдете в следующем разделе руководства.
    Если файл уже существует, прикосновение не удалит его содержимое, оно просто изменит время последнего доступа на текущее.
  • cp [file1] [file2] — скопировать file1 и создать новый файл с именем file2.Эквивалент Копировать -> Вставить.
    Чтобы скопировать каталоги и их содержимое, нам нужно использовать cp -r [dir1] [dir2] .
    Мы можем включить полные пути к файлам или каталогам для копирования и вставки из разных частей диска, например cp ~ / file1 ~ / public / file2 .
  • mv [/ dir1 / file1] [/ dir2 / file1] — переместить файл1 из каталога1 в каталог2. Эквивалент Вырезать -> Вставить.
    mv будет работать так же для каталогов, без необходимости в дополнительном переключателе.
    Команда mv также является единственным способом переименовать файл / каталог с помощью команд Linux. Мы просто набираем mv file1 file2 , чтобы переименовать file1 в file2.
  • rm [файл] — удалить файл
    Чтобы удалить каталог и все его содержимое, нам нужно использовать rm -r [dir] .
    Команда rm немедленно удалит все файлы / каталоги без использования корзины. Так что будьте осторожны, особенно если вы используете подстановочные знаки.
    sudo rm удалит системные файлы и папки.
  • ln -s [файл] [ссылка] — создать символическую ссылку для файла или папки
    Символьная ссылка — это более мощная версия ярлыка, который мы создаем в Windows. Есть некоторые отличия, которые мы рассмотрим в другом руководстве.
  • zip [archive.zip] [файл] — создает заархивированную папку, содержащую сжатый файл.
    Используя подстановочные знаки, мы можем сжать все в каталоге с zip archive.zip * .
  • распаковать [архив.zip] — распаковывает сжатую папку.
    По умолчанию при распаковке распаковываются все файлы в рабочем каталоге.
  • tar -cf [archive.tar] [file] — создает сжатую папку, содержащую сжатый файл, с использованием алгоритма, отличного от zip.
    Используя подстановочные знаки, мы можем сжать все в каталоге с помощью tar -cf archive.tar * .
  • tar -xf [archive.tar] — распаковывает архив .tar.
    По умолчанию tar -xf извлекает все файлы в рабочий каталог.С tar — zxf [archive.tar.gz] мы можем распаковать архивы tar.gz
  • gzip [файл] — заменяет файл архивом .gz, содержащим файл.
    Как zip, так и tar сохраняют исходный файл, но gzip оставляет только архив .gz и удаляет исходный файл.
  • gzip -d [archive.gz] — распаковывает архив .gz.
    По умолчанию gzip -d распакует все файлы в рабочий каталог.
  • unrar e [архив.rar] — распаковывает архив .rar.
    В большинстве дистрибутивов нет предустановленного rar для создания архива .rar, и его можно установить только как пробную версию, для которой требуется платная регистрация. Однако мы обнаружим, что unrar предустановлен почти во всех дистрибутивах для распаковки архивов .rar.

Basic Linux Commands for Linux Terminal Beginners 18

Содержимое файла

Можно создавать и удалять файлы и каталоги. Но что, если мы хотим получить доступ к содержимому файла в Терминале Linux?

  • echo «текст»> [файл.txt] — создает файл, который включает любой «текст», который мы написали с помощью команды
    Echo просто печатает «текст» на экране. При использовании символа перенаправления «>» результат эха перенаправляется в файл .txt
    Внимание! Если файл file.txt уже существует, echo «text»> file.txt перезапишет его, удалив все предыдущее содержимое.
  • echo «текст» >> [file.txt] — добавляет «текст» в конец файла.txt content
    Это более безопасный способ запуска echo. Если файл file.txt существует, echo «текст» >> file.txt просто добавит «текст» в конец содержимого файла, не перезаписывая предыдущее содержимое.
    Части команды > file.txt и >> file.txt могут использоваться со всеми командами Linux, которые выводят результат на экран, например ls , locate и т. Д. Это будет перенаправлять или добавлять результат в файл.
  • cat [текстовый файл] — отображать все содержимое текстового файла на терминале.
    Для больших файлов мы можем использовать cat [текстовый файл] | подробнее и кот [текстовый файл] | меньше , таким же образом мы направляем вывод ls или locate.
    Мы также можем использовать head [текстовый файл] для отображения только первых десяти строк и tail [текстовый файл] для отображения последних десяти строк.
  • grep «шаблон» [файл] — поиск определенного текстового шаблона внутри текстового документа. Если шаблон найден, команда печатает строку, содержащую шаблон, на терминале.
    Мы также можем искать шаблон во всех файлах в каталоге, используя grep -r «pattern» [dir] .
  • nano [текстовый файл] — nano — это относительно удобный текстовый редактор терминала. Мы также можем запустить nano без параметров, чтобы создать новый текстовый файл.
    Просто помните, что все команды внизу работают с Ctrl, например мы нажимаем Ctrl + X для выхода, Ctrl + G для получения справки и т.д.

Basic Linux Commands for Linux Terminal Beginners 17

  • sort [текстовый файл] — распечатает строки отсортированных текстовых файлов.
  • wc [текстовый файл] — выполнит подсчет слов для текстового файла, распечатывая номера новых строк, слов и байтов в указанном порядке.

Ищете другие команды Linux?

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

Поддержка шагов ПК

Вы хотите поддерживать шаги ПК, чтобы мы могли публиковать высококачественные статьи в течение недели?

Вы можете лайкнуть нашу страницу в Facebook, поделиться этим сообщением с друзьями и выбрать наши партнерские ссылки для покупок на Amazon.com или Newegg.

Если вы предпочитаете покупки в Китае, мы сотрудничаем с крупнейшими международными интернет-магазинами:

Follow us on Facebook

Изучите и практикуйте Linux онлайн, программирование онлайн

[

]

Добро пожаловать в Webminal, бесплатный онлайн-терминал GNU / Linux и IDE для программирования

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

Используя webminal, вы можете практиковать команды Linux, писать сценарии bash, создавать таблицы MySQL и получать к ним доступ, изучать программирование на Python, C, Ruby, Java, Rust и выполнять основные задачи пользователя root с помощью виртуальной платформы. С помощью функции «Webminal Play» вы можете смотреть скринкасты (вместо чтения документов) и практиковаться.

Быстрые факты!

Более

200000

пользователей из

128

разных стран практиковали более

16,7 миллиона

команд Если быть точным его

16792514

команд выполнено !!! Webminal также помог профессорам и студентам из

117

университетов по всему миру изучить Linux в своих классах.(Обновлено 20 августа 2020 г.)

\ .--.
\ | о_о |
|: _ / |
// \ \
(| |)
/ '\ _ _ / `\
знак равно

 

Как получить доступ к терминалу Linux?

Создайте новую учетную запись бесплатно за 2 минуты! а затем войдите в систему для доступа к онлайн-терминалу, никакого другого программного обеспечения не требуется !!

Бесплатные функции

 - Онлайн-терминал Linux / bash, установка не требуется.

 - Практикуйте свои навыки работы с Linux, включая навигацию по файловой системе,
   управление файлами, создание сценариев в bash / awk / sed и MySQL.- Пользователь получает 100 МБ памяти.


 - Пользователь может создавать файлы до 1000.

 - Пользователь может поделиться файлом с другим членом сообщества и попросить их
   проверить / отладить проблему с вашим скриптом / программой :).

 - Максимальный размер файлов, которые может создавать пользователь, составляет 1 МБ.

 - Максимальное количество файлов, которые может открыть процесс, - 15.

 - Одновременно пользователь может запускать до 10 процессов (для предотвращения вилки бомбы
   злоумышленником / программой).

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

Возможности MySQL

- Вы можете создать до 4 таблиц.

- Размер вашей базы данных должен быть меньше 200 КБ.

- Вам разрешено выполнять до 200 запросов в час.

- Вам разрешено выполнять до 100 запросов на обновление в час.

- У вас может быть только одно соединение mysql.

- Вам _НЕ_ разрешено обнюхивать другие пользовательские базы данных.

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

 

Скринкастинг терминала MySQL

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

для начинающих — Совет по Linux

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

Кому:

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

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

Настройка цвета клемм

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

Хорошая новость заключается в том, что многие приложения эмуляции терминала, такие как GNOME Terminal или Konsole, поставляются с приличным выбором тем, и все, что вам нужно сделать, это перейти в «Настройки» и выбрать ту, которая вам больше всего нравится.

В Ubuntu вы можете легко настроить цвет текста и фона и выбрать соответствующую цветовую палитру:

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

Если вы используете облегченный терминал, который не имеет эквивалента окна настроек, например xterm или URxvt, вы можете изменить его цвета, изменив файл конфигурации Xresources, который обычно находится в ~ / .Xresources.

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

Установить переменные приглашения Bash

Большинство дистрибутивов Linux используют Bash в качестве оболочки по умолчанию. Bash имеет четыре настраиваемых приглашения, но только основное приглашение (называемое PS1) стоит настраивать, потому что оно отображается перед каждой командой. Остальные три командной строки отображаются только в особых случаях, например, когда команде требуется дополнительный ввод или при отладке сценариев bash, поэтому вы можете спокойно игнорировать их.

Это то, что PS1 отображает по умолчанию в Ubuntu:

Чтобы увидеть значение PS1 по умолчанию, используйте следующую команду:

$ echo «Bash PS1:» $ PS1

Вы должны увидеть что-то вроде этого:

PS1 = ‘$ {debian_chroot: + ($ debian_chroot)} \ [\ 033 [01; 32m \] \ u @ \ h \ [\ 033 [00m \]:
\ [\ 033 [01; 34m \] \] \ w \ [\ 033 [00m \] \ $ ‘

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

\ u имя текущего пользователя
@ символ «@»
\ ч имя хоста до первого символа «.»
: символ «:»
\ w текущий рабочий каталог
$ символ «$»

Поскольку PS1 является переменной Bash, вы можете изменять ее на лету прямо со своего терминала:

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

долларов

\ д дата в формате «День недели Месяц Дата» (например, «Вт, 26 мая»)
\ e escape-символ ASCII (033)
\ H имя хоста
\ j Количество рабочих мест, обслуживаемых в настоящее время
\ л Базовое имя имени терминального устройства оболочки
\ п новая строка
\ v версия bash (e.г., 2.00)
\ Вт базовое имя текущего рабочего каталога
\ , если эффективный UID равен 0, #, иначе
\ обратная косая черта

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

Красный цвет имеет значение 31 и заключен в следующий тег: \ [\ 033 [COLOR] m \]

Вот еще несколько цветов и соответствующие им значения:

Цвет Значение Пример
Цвет переднего плана по умолчанию 39 echo -e «По умолчанию \ e [39mDefault»
Черный 30 echo -e «По умолчанию \ e [30mBlack»
Красный 31 echo -e «По умолчанию \ e [31mRed»
Зеленый 32 echo -e «По умолчанию \ e [32mGreen»
Желтый 33 echo -e «По умолчанию \ e [33mYellow»
Синий 34 echo -e «По умолчанию \ e [34mBlue»
Пурпурный 35 echo -e «По умолчанию \ e [35mMagenta»
Голубой 36 echo -e «По умолчанию \ e [36mCyan»
Светло-серый 37 echo -e «По умолчанию \ e [37mLight grey»
Темно-серый 90 echo -e «По умолчанию \ e [90mТемно-серый»
Светло-красный 91 echo -e «По умолчанию \ e [91mLight красный»
Светло-зеленый 92 echo -e «По умолчанию \ e [92mLight green»
Светло-желтый 93 echo -e «По умолчанию \ e [93mLight yellow»
Голубой 94 echo -e «По умолчанию \ e [94mLight blue»
Светло-пурпурный 95 echo -e «По умолчанию \ e [95mLight magenta»
Светло-голубой 96 echo -e «По умолчанию \ e [96mLight cyan»
Белый 97 echo -e «По умолчанию \ e [97mWhite»

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

PS1 = «\ [\ e [93m \] \ W \ [\ e [m \]: / \ [\ e [34m \]> \ [\ e [m \] \ [\ e [37m \] \] \ \ $ \ [\ e [m \] «

Осталось только отредактировать файл.bashrc файл (обычно в ~ / .bashrc):

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

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

Заключение

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

.

Добавить комментарий

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