Terminal linux: Лучшие терминалы Linux и bash-редакторы, доступные онлайн
Лучшие терминалы Linux и bash-редакторы, доступные онлайн
Перевод статьи
«Best Online Linux Terminals and Online Bash Editors».
Возможно, вы хотели бы попрактиковаться в использовании команд Linux или просто протестировать свои скрипты. Все это можно сделать при помощи онлайн-терминалов Linux и компиляторов bash.
В частности, пользоваться такими
онлайн-сервисами удобно, если у вас на
машине стоит Windows. Конечно, можно
установить Linux на виртуальной машине,
но зачастую удобнее просто воспользоваться
онлайн-терминалом.
Но где найти бесплатную консоль Linux?
Какие оболочки Linux можно использовать
онлайн?
Об этом не беспокойтесь! Чтобы помочь
вам с выбором, мы собрали список лучших
онлайн-терминалов Linux и отдельный список
лучших bash-компиляторов.
Примечание: все онлайн-терминалы
поддерживают разные браузеры, включая
Google Chrome, Mozilla Firefox, Opera и Microsoft Edge.
Лучшие онлайн-терминалы для
отработки команд Linux
В первой части мы рассмотрим
онлайн-терминалы. Это веб-сайты,
позволяющие запускать в браузерах
обычные команды Linux (например, с целью
проверки). В некоторых случаях для
сохранения сессий может потребоваться
регистрация и вход на сайт.
1. JSLinux
JSLinux предлагает не просто терминал.
Он больше похож на полномасштабный
Linux-эмулятор. Как следует из названия,
он написан полностью на JavaScript.
При заходе на сайт вам нужно выбрать
онлайн-систему Linux — графическую или
консольную. Для отработки команд подойдет
консольная.
Чтобы иметь возможность коннектиться
к своему аккаунту, придется
зарегистрироваться.
JSLinux также позволяет загружать файлы
в виртуальную машину. В основе этого
терминала лежит Buildroot
— вспомогательный инструмент для
создания Linux-среды для встроенных систем.
2. Copy.sh
Copy.sh предлагает один из лучших
онлайн-терминалов Linux и, таким образом,
быстрый и надежный способ тестировать
и запускать команды Linux.
Вы можете найти Copy.sh на GitHub.
Мейнтейнеры продолжают активно работать
над проектом, а это хороший знак. Copy.sh
поддерживает разные операционные
системы, включая
- KolibriOS
- FreeDOS
- Windows 1.01
- Archlinux
3. Webminal
Webminal это впечатляющий онлайн-терминал
Linux, отлично подходящий для новичков,
желающих попрактиковаться в использовании
команд.
Этот сайт предлагает несколько уроков
прямо в том же окне, где вы вводите
команды. Так что вам не понадобится
переключаться на другой сайт в поисках
инструкций, здесь у вас будет все
необходимое, причем в той же вкладке.
4. Tutorialspoint
Unix Terminal
Возможно, вы уже слышали о Tutorialspoint,
ведь это один из самых популярных сайтов
с высококачественными и при этом
бесплатными уроками практически по
любому языку программирования.
Но кроме самих руководств Tutorialspoint
предоставляет бесплатную онлайн-консоль
Linux, чтобы вы могли отрабатывать применение
команд, о которых читаете. Вам также
дается возможность загрузки файлов.
Это довольно простой и при этом
эффективный онлайн-терминал. Но если
он вас чем-то не устроит, на странице
Coding
Ground можно посмотреть список других
терминалов, доступных онлайн.
5. JS/UIX
JS/UIX это еще один Linux-терминал, доступный
онлайн и написанный полностью на
JavaScript, без всяких плагинов. Он содержит
виртуальную Linux-машину, виртуальную
файловую систему, оболочку и т. д.
Чтобы посмотреть список реализованных
команд, обратитесь к странице руководства.
6. CB.VU
Если хотите протестировать команды
для стабильной версии FreeBSD 7.1, cb.vu будет
самым простым решением.
В нем нет ничего замысловатого. Вы
просто вводите команды, которые хотите
испытать, и получаете их вывод. К
сожалению, здесь нет возможности загрузки
файлов.
7. Linux
Containers
Linux Containers позволяет вам запускать
демо-сервер (с 30-минутным ограничением
по времени), который работает как один
из лучших онлайн-терминалов Linux. Этот
проект фактически спонсируется Canonical.
8. Codeanywhere
Codeanywhere это сервис, предлагающий
кросс-платформенные облачные IDE. Но
чтобы запустить бесплатную виртуальную
машину Linux, вам придется сначала
зарегистрироваться, выбрав бесплатный
план. Затем нужно будет создать новое
соединение и настроить контейнер с
нужной операционной системой. После
этого бесплатная Linux-консоль будет к
вашим услугам.
Лучшие редакторы bash, доступные
онлайн
Погодите-ка! А разве терминалы Linux недостаточно хороши для bash-скриптов? Вполне! Но создавать bash-скрипты в редакторах терминала, а затем выполнять их не так удобно, как просто использовать онлайн-редактор bash.
Bash-редакторы из этого списка помогут
вам с легкостью писать онлайн shell-скрипты,
которые вы сможете сразу же запускать
для проверки корректности их работы.
Bash-компилятор
Tutorialspoint
Tutorialspoint, о котором мы уже упоминали,
кроме онлайн-терминала предлагает еще
и bash-компилятор. Это очень простой
компилятор, позволяющий выполнять
bash-скрипты онлайн.
JDOODLE
Еще один полезный онлайн-редактор для
тестирования bash-скриптов называется
JDOODLE. Он предлагает также и другие IDE, но
мы здесь фокусируемся на bash. На странице
редактора вы увидите, собственно, сам
редактор, строку для ввода команд и поле
для вывода результатов.
Paiza.io
Paiza.io это хороший онлайн-редактор bash,
который можно испытать бесплатно. Для
использования более продвинутого
функционала (например, создания расписания
задач) нужно сначала зарегистрироваться.
Paiza.io поддерживает совместную работу
в режиме реального времени, но этот
функционал пока в экспериментальной
фазе.
На paiza.cloud также
можно найти онлайн-терминал Linux.
ShellCheck
Это интересный редактор bash, позволяющий
находить баги в скриптах. Проект доступен
на GitHub.
ShellCheck можно установить локально на
поддерживаемых
платформах.
Rextester
Если вам нужен простейший bash-компилятор,
выбирайте Rextester. Он также поддерживает
и другие языки программирования.
Learn Shell
Как и Webminal, Learnshell предоставляет ресурсы
как для изучения shell-программирования,
так и для запуска (испытаний) кода.
Обучающие ресурсы раскрывают и базовые,
и продвинутые темы.
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
Осталось только насладиться модификацией вашего терминала.
Команда | Описание |
Системная информация | |
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 user@ip_addr ‘dd of=hda.gz’ | сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель |
tar -Puf backup.tar /home/user | создать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий |
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ | копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/ |
( tar c /home ) | ssh -C user@ip_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» не будут работать.
Большинство команд Linux пишутся в нижнем регистре, но есть ключи с заглавной буквы, такие как «chown -R».
Имена файлов и каталогов также чувствительны к регистру.«Файл1» и «файл1» — это разные файлы, даже если они находятся в одном каталоге.
Остерегайтесь пробелов
Пробелы не менее важны. «chown-R» вернет только ошибку. Если мы хотим создать / получить доступ / удалить файл или каталог, у которого есть пробел в имени файла, мы можем либо поместить все имя файла в кавычки …
… или «экранировать» пробел, используя обратная косая черта «\».
Если бы мы ничего не сделали, конкретная команда mkdir, которая создает каталоги, создала бы два каталога, «Папка» и «Имя».Другие команды Linux просто не работают.
Поиск предыдущих команд Linux
Нажатие клавиши клавиатуры «Вверх» приведет к циклическому просмотру последних команд Linux, которые мы успешно использовали, по порядку. Здесь не отображаются неудачные команды.
Мы также можем использовать команду history , чтобы увидеть все команды Linux, которые мы когда-либо использовали на терминале.
Невидимый пароль
Когда нас спрашивают пароль, например после того, как мы использовали «sudo», при вводе пароля на экране ничего не будет отображаться, ни звезд, ни точек, ни чего-либо еще.Просто набираем пароль и нажимаем Enter.
Если вы хотите изменить поведение по умолчанию и чтобы при вводе пароля появлялись звездочки, ознакомьтесь с нашим руководством:
Показывать звездочки при вводе пароля Linux в терминале
Используйте вкладку для автозаполнения
Кнопка Tab на клавиатуре позволяет значительно сэкономить время при выполнении команд Linux, поскольку она автоматически подставляет имена файлов и каталогов.
Если мы хотим удалить файл с именем «whydidIgivethisfilesuchalongname», нам просто нужно ввести «rm w», и нажатие Tab автоматически завершит оставшуюся часть имени файла.
Если файлов, начинающихся с одинаковых букв, несколько, например «whydidIgivethisfilesuchalongname» и «whydidIeatsomuch», нажатие Tab на «rm w» приведет к автозаполнению общего «whydidI».
Затем нам нужно ввести дополнительный символ — «g» или «e» в примере — и снова нажать клавишу Tab, чтобы возобновить автозаполнение.
Копирование и вставка команд Linux
Чтобы скопировать или вставить в терминал, Ctrl + C и Ctrl + V не работают.
Вместо этого мы должны использовать Ctrl + Shift + C и Ctrl + Shift + V.Или мы можем щелкнуть правой кнопкой мыши и использовать команды из контекстного меню.
Подстановочные знаки
При использовании команд Linux символы «?» и «*» — символы подстановки.
«?» заменит любой одиночный символ. Итак, если у нас есть два файла с именами test1file и test2file, мы можем удалить их оба с помощью «rm test? File». Но это не удалит test12file.
«*» заменяет любую строку символов. «rm test * file» удалит test1file, test12file, testBLABLABLAfile.Он также удалит любые другие имена файлов, начинающиеся с «test-» и заканчивающиеся на «-file», включая testfile.
Очевидно, что мы должны быть очень осторожны при сочетании команд удаления с подстановочными знаками. «rm *» удалит все файлы в текущем каталоге и не будет использовать корзину.
Дополнительная информация о командах Linux
Мы можем узнать больше о любой из команд Linux с помощью [команда] —help и man [команда] .
[команда] —help покажет использование команды, а также доступные параметры и переключатели.
man [команда] покажет руководство по команде, которое является расширенной версией вывода —help.
Однако не все команды Linux имеют параметр вручную или —help.
Основные команды Linux для терминала
В этот список мы не включили все возможные команды, только команды Linux, которые были бы более полезны для новичка в Linux. В будущем мы создадим отдельное руководство с расширенными командами Linux.
Базовая навигация
Эти команды Linux помогут нам переходить к определенным каталогам и искать файлы.
- ls — перечислить все содержимое текущего рабочего каталога.
Обязательно прочтите ls —help, потому что есть много вариантов, как показать содержимое каталога.
- 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».
С найти * .png | меньше , мы все равно получим первую страницу результатов, но перемещайтесь вверх и вниз с помощью клавиш со стрелками. Опять же, мы завершаем работу с помощью «q».
Работа с файлами и каталогами
Это способ создания, удаления и поиска файлов и каталогов.
- 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.
Содержимое файла
Можно создавать и удалять файлы и каталоги. Но что, если мы хотим получить доступ к содержимому файла в Терминале 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 для получения справки и т.д.
- sort [текстовый файл] — распечатает строки отсортированных текстовых файлов.
- wc [текстовый файл] — выполнит подсчет слов для текстового файла, распечатывая номера новых строк, слов и байтов в указанном порядке.
Ищете другие команды Linux?
Если вы хотите узнать больше об одной из упомянутых нами команд Linux, или вам интересно узнать о другой команде Linux, оставьте нам комментарий.
Поддержка шагов ПК
Вы хотите поддерживать шаги ПК, чтобы мы могли публиковать высококачественные статьи в течение недели?
Вы можете лайкнуть нашу страницу в Facebook, поделиться этим сообщением с друзьями и выбрать наши партнерские ссылки для покупок на Amazon.com или Newegg.
Если вы предпочитаете покупки в Китае, мы сотрудничаем с крупнейшими международными интернет-магазинами:
Изучите и практикуйте 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 с интерфейсом перетаскивания, включая это и это.
Заключение
Используя информацию, представленную в этой статье, вы сможете настроить внешний вид вашего терминала в соответствии с вашими личными предпочтениями.Помните, что меньше иногда лучше, поэтому избегайте чрезмерной настройки и сохраняйте простоту и функциональность.
.