Командная строка Ubuntu: команды bash
В этой статье мы рассмотрим, что такое командная строка Ubuntu cmd (Ubuntu относится к семейству ОС Linux), как её открыть, а также опишем основные команды bash.
Командная строка Ubuntu
Работать в Ubuntu и других Linux-подобных операционных системах можно с помощью двух разных интерфейсов — графического интерфейса и командной строки.
Графический интерфейс пользователя (GUI — Graphical User Interface) — это привычное многим управление с помощью рабочего стола, графических окон, меню и кнопок. Пользователь может щелчками мыши открывать программы, копировать и удалять файлы, создавать папки и т. д.
Другой интерфейс — это командная строка (CLI — Command Line Interface). Пользователь вводит в неё определённые команды (набор букв, цифр и символов) с помощью клавиатуры, и компьютер запускает соответствующие процессы.
Открыть командную строку в Линукс-системах можно через консоль или терминал. В Ubuntu консоль запускается при загрузке системы. Терминал — это тоже консоль, но уже в графической оболочке. Его можно запустить, набрав слово Терминал в поисковой строке ОС, или через комбинацию клавиш Ctrl+Alt+T.
Консоль и терминал обрабатывают команды с помощью программной оболочки: в Ubuntu это командный интерпретатор bash. Он распознаёт команды, которые пользователь ввёл в командной строке, и выполняет их.
Ниже рассмотрим, из чего состоит команда, а также приведём используемый в bash список команд.
Основные команды bash
В общем виде в Ubuntu команды имеют такой вид:
программа -ключ значение
Программа — это сам исполняемый файл. Другими словами, это программа, которая будет выполняться по команде.
Ключ — обычно у каждой программы свой набор ключей. Их можно найти в мануале к программе.
Значение — параметры программы: цифры, буквы, символы, переменные.
Напомним, что для выполнения команды нужно ввести её в командную строку — Ubuntu console или эмулирующий работу консоли терминал.
Рассмотрим основные команды консоли Ubuntu:
- sudo
Промежуточная команда sudo (SuperUser DO — суперпользователь) позволяет запускать программы от имени администратора или root-пользователя.
Вы можете добавить sudo
перед любой командой, чтобы запустить её от имени суперпользователя.
- apt-get
Команда apt-get используется для работы с программными пакетами для установки программных пакетов (sudo apt-get install имя-пакета
), обновления репозитория с пакетами (sudo apt-get update
) и обновления пакетов, которые установлены в систему (sudo apt-get upgrade
).
- pwd
Команда pwd (print working directory — вывести рабочую директорию) показывает полное имя рабочей директории, в которой вы находитесь.
- ls
Команда ls (list — список) выводит все файлы во всех папках рабочей директории.
С помощью ls -a
можно вывести и скрытые файлы.
- сd
Команда cd (change directory — изменить директорию) позволяет перейти в другую директорию.
Можно ввести как полный путь до папки, так и её название. Например, чтобы попасть в папку Files, лежащую в директории /user/home/Files, введите cd Files
или cd /user/home/Files
.
Чтобы попасть в корневую директорию, введите cd /
.
- cp
Команда cp (copy — копировать) копирует файл.
Например, cp file1 file2
скопирует содержимого файла file1 в file2
.
Команда cp file /home/files
скопирует файл с названием file в директорию /home/files.
- mv
Команда mv (move — переместить) помогает перемещать файлы.
Также с помощью mv можно переименовывать файлы. Например, у нас есть файл file.txt. С помощью команды mv file.txt new_file.txt
мы можем перенести его в ту же директорию, но у файла уже будет новое название new_file.
- rm
Команда rm (remove — удалить) удаляет файлы и каталоги.
Так, команда rm file.txt
удалит текстовый файл с названием file, а команда rm -r Files
удалит директорию Files со всеми содержащимися в ней файлами.
- mkdir
С помощью mkdir (make directory — создать директорию) можно создать новую директорию.
Так, команда mkdir directory
создаст новую директорию с именем directory в текущей рабочей директории.
- man
Команда man (manual — мануал) открывает справочные страницы с подробной информацией о команде.
Введите man
, а затем через пробел название команды, о которой вы хотите узнать подробнее. Например, man cp
выведет справочную страницу о команде cp.
Мы рассмотрели, как вызвать командную строку в Linux — открыть терминал или запустить консоль в Ubuntu, а также перечислили основные команды терминала Ubuntu.
Помогла ли вам статья?
Да
21 раз уже помогла
20 приёмов работы в командной строке Linux, которые сэкономят уйму времени / Хабр
Тема полезных приёмов работы в терминале Linux неисчерпаема. Казалось бы — всё устроено очень просто: приглашение оболочки, да введённые с клавиатуры команды. Однако, в этой простоте кроется бездна неочевидных, но полезных возможностей. Именно поэтому мы регулярно публикуем материалы, посвящённые особенностям работы в командной строке Linux. В частности, сегодня это будет перевод статьи, автор которой увлечён экономией времени через повышение продуктивности труда.
Если вас интересует работа в командной строке Linux — вот некоторые из наших материалов на эту тему:
- [ +114 ] Самые полезные приёмы работы в командной строке Linux
- [ +70 ] 10 приёмов работы в терминале Linux, о которых мало кто знает
- [+65 ] Удивительно полезный инструмент: lsof
- [ +32 ] Linux: перенаправление
- [ +29 ] PDF-версия статей про Bash-скрипты
Приёмы работы в командной строке Linux и экономия времени
Вам когда-нибудь доводилось видеть, как коллега использует некие простые команды Linux для решения задач, решение которых занимает у вас несколько строк? Должно быть, когда подобное случалось, вы только и могли сказать себе: «Ну ничего ж себе! Я и не знал, что это можно сделать так просто».
В этом материале я покажу вам некоторые профессиональные приёмы работы в командной строке Linux, которые сэкономят вам уйму времени и в некоторых случаях избавят от плохого настроения. Мало того, что ваши друзья или коллеги скажут: «Ну надо же!», глядя на вас. Эти приёмы, кроме того, помогут вам увеличить личную продуктивность, так как вам понадобится вводить меньше команд и даже делать меньше щелчков мышью.
Нельзя сказать, что эти советы по Linux предназначены только для начинающих. Вполне возможно, что даже опытные пользователи найдут здесь что-нибудь полезное, то, о чём они не знали несмотря на то, что пользовались Linux многие годы. Linux изучают на основе опыта. Тут сгодится и собственный опыт, и опыт других людей.
Прежде чем мы начнём, хочется отметить, что некоторые из приведённых здесь методов зависят от настройки командной оболочки.
0. Автозавершение команд с использованием клавиши Tab
Я начну с кое-чего вполне очевидного, но весьма важного: с автозавершения команд с помощью клавиши Tab
.
Когда вы начинаете набирать что-то в терминале Linux, вы можете нажать клавишу
, после чего будет выведена подсказка, содержащая набор вариантов продолжения ввода, начинающихся с только что введённых символов.
Например, собираясь скопировать файл с именем my_best_file_1.txt
, вы можете просто ввести cp m
и нажать Tab
для того, чтобы увидеть возможные варианты продолжения команды.
Использование клавиши Tab для автозавершения ввода
Клавишу Tab
можно использовать и для автозавершения команд.
1. Переход в последнюю рабочую директорию
Представьте, что вы работали в директории, до которой не так уж и просто добраться, а потом перешли в другую директорию, расположенную совершенно в другом месте. Потом вы поняли, что вам нужно вернуться в предыдущую директорию. В этом случае достаточно воспользоваться следующей командой:
cd -
Она позволит вам оказаться в последней рабочей директории.
Теперь в подобных ситуациях вам не нужно больше будет вводить длинные пути, или пользоваться копированием и вставкой.Простое переключение между директориями
2. Возврат в домашнюю директорию
Этот приём тоже весьма очевиден. Вы можете использовать нижеприведённую команду для того, чтобы вернуться в домашнюю директорию из любого места:
cd ~
Однако, в домашнюю директорию можно вернуться ещё быстрее — с помощью команды cd
.
В большинстве современных дистрибутивов Linux оболочка предварительно настроена на именно такое восприятие команды cd
. Это сэкономит вам пару нажатий клавиш на клавиатуре.
Самый быстрый способ перехода в домашнюю директорию
3. Вывод на экран содержимого директории
ls -l
.Но в том-то всё и дело. Практически все используют команду ls -l
для вывода содержимого директорий, в то время как то же самое можно сделать с помощью следующей команды:
ll
Работоспособность этой команды зависит от дистрибутива Linux и от настройки оболочки, но весьма вероятно, что вы сможете воспользоваться ей в большинстве дистрибутивов.
Использование команды ll вместо команды ls -l
4. Вызов нескольких команд в одной строке
Представьте, что вам нужно последовательно выполнить несколько команд. Наверное, вы вводите одну команду, потом ждёте, когда она завершится, дальше — вводите следующую?
В подобной ситуации полезным окажется разделитель команд ;
(точка с запятой). При таком подходе вы можете ввести несколько команд в одной строке. При этом, в отличие от обычного ввода команд, для выполнения следующей команды не надо ждать завершения предыдущей.
command_1; command_2; command_3
5. Выполнение нескольких команд в одной строке и условие на успешное завершение предыдущей команды
Только что мы рассмотрели способ вызова нескольких команд в одной строке. Это экономит время. Но что если вам нужно, скажем, при вызове двух команд, чтобы следующая команда была выполнена только в том случае, если предыдущая завершится без ошибок?
Представьте себе, что хотите собрать код, а затем, если сборка оказалась успешной, вызвать make
?
В подобной ситуации можно использовать разделитель &&
. Этот разделитель позволяет гарантировать то, что следующая команда будет выполнена лишь в том случае, если предыдущая отработает успешно.
command_1 && command_2
Вот хороший пример использования &&
:
sudo apt update && sudo apt upgrade
6. Простой поиск и использование ранее введённых команд
Представьте себе, что вы, пару минут или пару часов назад, вводили длинную команду, и вам снова нужна эта команда. Причём, проблема заключается в том, что вспомнить точно эту команду вы не можете.
В подобной ситуации вас спасёт обратный поиск. Данная методика позволяет проводить поиск в истории команд по ключевому слову. Тут достаточно использовать комбинацию клавиш Ctrl + R
для запуска обратного поиска и ввести что-то, имеющее отношение к команде. Система просмотрит историю команд и покажет команды, соответствующие введённому запросу.
Ctrl + R search_term
По умолчанию показан будет лишь один результат. Для того, чтобы увидеть больше результатов, соответствующих запросу, вам понадобится использовать комбинацию клавиш Ctrl + R
снова и снова. Для того, чтобы выйти из режима обратного поиска, нажмите Ctrl + C
.
Обратный поиск по истории команд
Обратите внимание на то, что в некоторых оболочках Bash для перебора результатов поиска можно пользоваться клавишами Page Up
и Page Down
.
7. Разблокировка терминала после случайного нажатия Ctrl + S
Возможно, вы привыкли пользоваться комбинацией клавиш Ctrl + S
для сохранения файлов. Но если нажать эти клавиши в терминале Linux, вы его заблокируете.
Если раньше вы, для того, чтобы исправить положение, вынуждены были закрывать и снова запускать терминал — теперь может вздохнуть спокойно, больше вам этого делать не придётся. Для того, чтобы привести терминал в рабочее состояние, просто воспользуйтесь комбинацией клавиш Ctrl + Q
.
8. Перемещение к началу или концу строки
Представьте себе, что вы вводите длинную команду и где-нибудь посередине понимаете, что должны что-нибудь изменить в её начале. Вероятно, вы используете клавиши-стрелки для того, чтобы сначала переместиться в начало строки, а потом вернуться в конец.
Конечно, в подобной ситуации можно использовать клавиши Home
и End
, но, как вариант, с помощью комбинации клавиш Ctrl + A
можно перейти в начало строки, а с помощью комбинации Ctrl + E —
в конец.
Перемещение к началу или концу строки
Мне такой способ кажется удобнее, чем использование клавиш Home
и End
, особенно когда я работаю на ноутбуке.
9. Чтение лог-файлов в режиме реального времени
Когда вам нужно проанализировать файлы журналов, в которые, во время анализа, пишет данные какое-нибудь работающее приложение, вы можете использовать команду tail
с опцией -f
.
tail -f path_to_Log
Кроме того, вы можете использовать команду grep
в её обычном виде для отображения только тех строк, которые вас интересуют:
tail -f path_to_log | grep search_term
Также тут можно задействовать опцию F
. Это приведёт к тому, что утилита tail
продолжит работать даже в том случае, если просматриваемый лог-файл будет удалён. При таком подходе, если этот файл снова будет создан, tail
продолжит выводить данные из него на экран.
10. Чтение сжатых лог-файлов без их распаковки
Серверные журналы обычно сжаты с помощью gzip
для экономии места на диске. Это может привести к некоторым неудобствам при анализе логов разработчиками или системными администраторами. Вам может понадобиться использовать команду scp для копирования файла в свою локальную директорию, а после этого извлечь файл из архива для того, чтобы его просмотреть, так как у вас может не быть разрешения на запись туда, где хранится интересующий вас файл.
Тут нам на помощью приходит группа команд, имя которых начинается с буквы «z». Эти команды являются альтернативой обычным командам, которые используются для работы с файлами журналов. Среди них — less
, cat
, grep
, и другие.
Итак, используя команды zless
, zcat
, zgrep
и подобные им, вам не придётся явным образом распаковывать сжатые файлы. Подробности об этих командах можно посмотреть здесь.
Кстати, когда я рассказал об этих «секретных» командах коллеге, мне досталась чашка кофе.
11. Использование команды less для чтения файлов
Если вам нужно просмотреть файл, особенно — большой, можно попробовать команду cat
, но гораздо лучше поискать что-нибудь другое. Дело в том, что cat
выведет на экран весь файл, что не так уж и удобно.
Для просмотра файлов можно воспользоваться редакторами вроде Vi или Vim, работающими в терминале, но если вам просто нужно прочесть файл, очень кстати окажется команда less
.
less path_to_file
Во время сеанса работы с less
можно искать нужные фрагменты текста по ключевым словам, перемещаться по страницам, выводить данные с номерами строк, и так далее.
12. Повторное использование последнего элемента из предыдущей команды с помощью !$
Во многих ситуациях очень кстати оказывается возможность использования аргумента предыдущей команды.
Предположим, вам нужно создать директорию, а потом в неё перейти. Тут можно воспользоваться опцией !$
, вводя команду перехода после команды создания директории.
Применение !$ для использования аргумента последней команды
Ещё лучше то же самое делается с помощью сочетания клавиш Alt +.
(точка). Точку можно использовать несколько раз для перебора опций последней команды.
13. Использование предыдущей команды в текущей команде с помощью !!
С помощью !!
можно вызвать всю предыдущую команду. Этот приём оказывается особенно полезным, когда вам нужно выполнить команду и оказывается, что для её выполнения нужны привилегии суперпользователя. Например, на рисунке ниже показана ситуация, в которой команда sudo !!
позволяет сэкономить немало времени.
Воспользуйтесь!!! для подстановки последней команды в качестве аргумента
14.
Использование псевдонимов для исправления ошибок ввода
Возможно, вы уже знакомы с командой alias
. Её можно использовать для исправления ошибок во введённых командах.
Например, может случиться так, что вы часто вводите gerp
вместо grep
. Если с вредной привычкой справиться никак не удаётся, запишите псевдоним в свой файл bashrc
следующим образом:
alias gerp=grep
Теперь вам не придётся перенабирать эту команду если вы введёте её имя неправильно.
15. Копирование и вставка в терминале Linux
Этот совет несколько неоднозначен, так как он зависит от дистрибутива Linux и от терминала.
Но обычно команды копирования и вставки можно вызывать следующим образом:
- Выделите текст, который надо скопировать, и щёлкните правой кнопкой мыши для его вставки (работает в Putty и других SSH-клиентах для Windows).
- Выделите текст, который надо скопировать, после чего щёлкните центральной кнопкой мыши (колесом прокрутки) для того, чтобы его вставить.
- Используйте комбинации клавиш
Ctrl + Shift + C
для копирования, иCtrl + Shift + V
для вставки.
16. Завершение работы команды или процесса
Возможно, то, что я тут хочу посоветовать, совершенно очевидно, однако, всё равно об этом расскажу. Если команда выполняется на переднем плане и вы хотите из неё выйти, можете нажать клавиши Ctrl + C
для того, чтобы её остановить.
17. Использование команды yes для автоматизации интерактивных команд или скриптов
Если вам приходится работать с некоторыми командами или скриптами, которые предусматривают взаимодействие с пользователем, и вы знаете, что будете вводить Y
в ответ на каждый вопрос программы, можете автоматизировать этот процесс с помощью команды yes
. Делается это так:
yes | command_or_script
18. Очистка содержимого файла без удаления самого файла
Если вы хотите очистить содержимое текстового файла, не удаляя сам файл, можете использовать следующую команду:
> filename
19. Выяснение наличия в директории файлов, содержащих определённый текст
Командная строка Linux поддерживает множество способов поиска информации. Однако, если вам просто нужно узнать, имеются ли в некоей директории файлы, которые содержат определённый текст, вы можете воспользоваться такой командой:
grep -Pri Search_Term path_to_directory
Однако я советую всем, кому нужен поиск в Linux, разобраться как следует с командой find
.
20. Вызов справки для любой команды
Хочу завершить этот материал одним весьма очевидным, но, тем не менее, очень важным «трюком», который заключается в вызове справки для команды или инструмента командной строки.
Практически все средства командной строки содержат справочную информацию, раскрывающую особенности их использования. Обычно чтение справки помогает разобраться с основами команды. Вызвать справку можно так:
command_tool --help
Итоги: делитесь полезными советами!
Я намеренно не включил в этот материал команды вроде fuck, так как они не из тех стандартных средств, которые можно найти буквально повсюду. То, о чём я тут рассказал, может принести пользу при работе практически со всеми дистрибутивами Linux и оболочками командной строки без необходимости установки новых программ.
Уважаемые читатели! Возможно, вы уже знакомы с некоторыми из приведённых здесь методов использования команд Linux, а может и знаете их все. В любом случае, приглашаем вас поделиться вашими любимыми приёмами в комментариях.
новостей – LinuxConsole.org
Cuphead отлично работает с LinuxConsole 2018 (проверено с 6 ГБ оперативной памяти). Вы можете купить его у Gog, установить из установщика Windows, а затем запустить!
Янн Новости Читать далее
Вы можете запустить этот скрипт, чтобы установить все пакеты LinuxConsole wget http://jukebox.linuxconsole.org/official/update-all sh update-all
Янн Новости Читать далее
Minetest не запускается внутри LinuxConsole 2.5 (64 бита) Вам необходимо установить пакет mintest, чтобы это исправить
Янн Новости Читать далее
Установите пакет «mate-media», выйдите из системы, войдите в рабочий стол mate, вы найдете этот новый апплет
Янн Новости Читать далее
из linuxconsole 2.4 (от root) wget http://jukebox.linuxconsole.org/official/update-linuxconsole-2.5.sh sh update-linuxconsole-2.5.sh reboot из linuxconsole 2.5 cp /media/linuxconsole/root/etc/ shadow /etc cp /media/linuxconsole/root/etc/group /etc cp /media/linuxconsole/root/etc/passwd /etc cp -fR /media/linuxconsole/root/usr/etc/NetworkManager/system-connections/* /etc/NetworkManager/system-connections/ reboot Готово!
Янн Новости Читать далее
Обновите пакет флэш-памяти, и вы сможете установить «актуальный» плагин флэш-памяти для Firefox без обновления пакета флэш-памяти из корня
Янн Новости Читать далее
Путем обновления gvfs: http://forum.linuxconsole.org/viewtopic.php?f=3&p=138
Янн Новости Читать далее
Можно установить LinuxConsole в Windows 10. Вот скриншот (Windows 10 — Internet Explorer 11) из виртуального бокса
Янн Новости Читать далее
QT5.4.2 собран как пакет. Stellarium использует его
Янн Новости Читать далее
Янн Новости Читать далее
- « Предыдущий
console(4): консольный терминал/виртуальные консоли — справочная страница Linux
Имя
console — консольный терминал и виртуальные консоли
Описание
Система Linux имеет до 63 виртуальные консоли (символьные устройства с мажорным номером 4 и младший номер от 1 до 63), обычно называемый /dev/ttyn с 1 <= n <= 63. Текущая консоль также адресуется /dev/console или /dev/tty0 , символьное устройство со старшим номером 4 и младшим номером 0. Файлы устройства /dev/* обычно создаются с помощью сценария MAKEDEV или с помощью mknod (1) , обычно с режимом 0622 и владельцем root.tty.
До версии ядра 1.1.54 количество виртуальных консолей было скомпилировано в ядро (в tty.h: #define NR_CONSOLES 8) и могло быть изменено путем редактирования и перекомпилировать. Начиная с версии 1.1.54 виртуальные консоли создаются на лету, как только они нужны.
Распространенные способы запуска процесса на консоли: (a) сообщить init (8) (в inittab (5) ), чтобы запустить mingetty (8) (или agetty (8) ) на консоли; (b) попросить openvt (1) запустить процесс на консоли; (c) запустите X — он найдет первую неиспользуемую консоль, и отображать его вывод там. (Есть еще древний дошелл (8). )
Общие способы переключения консолей: (a) используйте Alt+F n или Ctrl+Alt+F n для переключения в консоль n ; AltGr+F n может привести вас к консоли n +12 [здесь Alt и AltGr относятся к левой и правой клавишам Alt соответственно]; (b) используйте Alt+Стрелка вправо или Alt+Стрелка влево для циклического переключения между текущими выделенные консоли; (c) использовать программу чвт (1) . (Сопоставление клавиш настраивается пользователем, см. loadkeys (1) ; вышеупомянутая клавиша комбинации соответствуют настройкам по умолчанию.)
Команда Deallocvt (1) (ранее disalloc ) освободит память, занятую экранными буферами для консолей, которые больше не имеют ассоциированный процесс.
Свойства
Консоли несут много состояния. Я надеюсь задокументировать это как-нибудь в другой раз. Самый важный факт заключается в том, что консоли имитируют терминалы vt100.