Почему?
😪Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
Автодополнение команд
Чтобы выполнить автодополнение команды или аргумента нужно дважды нажать клавишу TAB
Если вариантов дополнения несколько, то они будут выведены на экран.
Аргументы командной строки
Почти все команды принимают какие-либо аргументы командной строки.
Аргументы могут быть следующих типов-v — короткая опция.–version — длинная опцияsometext — текст (аргумент, параметр)
Базовые команды
Некоторые базовые команды:
Горячие клавиши
Копирование команд
Часто вам придётся следовать каким-либо инструкциям, которые требуют копирования команд в терминал. Наверное, вы удивитесь, когда обнаружите, что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш Ctrl С, не вставляется в терминал при нажатии Ctrl V. И что, неужели придётся перепечатывать все эти команды и имена файлов вручную? Нет, расслабьтесь! Вставить текст в терминал можно тремя способами: Ctrl Shift V, нажатием средней кнопки мыши или правой кнопки мыши и выбором строки «Вставить».
Экономия набора
↑ или Ctrl P | прокрутка недавно использованных команд вверх |
↓ или Ctrl N | прокрутка недавно использованных команд вниз |
Enter | выполнение выбранной команды |
Tab | крайне удобная возможность – автозаподстановка команд и имён файлов. Если с выбранных символов начинается только одна команда, подставится именно она, а если их несколько,то по двойному нажатию tab выведется список всех возможных вариантов. |
Ctrl R | поиск по командам, которые вы вводили раньше. Если вам нужно повторно выполнить очень длинную и сложную команду, вы можете ввести только её часть, а эта комбинация клавиш поможет найти команду целиком. |
History | Команда history выводит список всех команд, которые вы вводили. Каждой команде будет присвоен номер. Чтобы выполнить команду под номером x, просто введите «!x». Если у вас получилась слишком длинная история, можно попробовать «history I less», это сделает список прокручиваемым. |
Изменение текста
Здесь мышь не работает. Используйте стрелки влево/вправо, чтобы перемещаться по строке.
Ввод с клавиатуры будет добавлять символы. Существующий текст удаляться не будет.
Дисковое пространство
df -h | отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах) |
ls -lSr |more | выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр |
du -sh dir1 | подсчитывает и выводит размер, занимаемый директорией ‘dir1’ (Прим.переводчика. ключ -h работает не во всех *nix системах) |
du -sk * | sort -rn | отображает размер и имена файлов и директорий, с соритровкой по размеру |
rpm -q -a –qf ‘{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 т.п.) |
Другие полезные команды
apropos …keyword | выводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду |
man ping | вызов руководства по работе с программой, в данном случае, – ping |
whatis …keyword | отображает описание действий указанной программы |
mkbootdisk –device /dev/fd0 `uname -r` | создаёт загрузочный флоппи-диск |
gpg -c file1 | шифрует файл file1 с помощью GNU Privacy Guard |
gpg file1.gpg | дешифрует файл file1 с помощью GNU Privacy Guard |
wget -r www.example.com | загружает рекурсивно содержимое сайта www.example.com |
wget -c www.example.com/file.iso | загрузить файл www.example.com/file.iso с возможностью остановки и продолжения |
echo ‘wget -c www.example.com/files.iso‘ | at 09:00 | начать закачку в указанное время |
ldd /usr/bin/ssh | вывести список библиотек, необходимых для работы ssh |
alias hh=’history’ | назначить алиас hh команде history |
find . -maxdepth 1 -name *.jpg -print -exec convert | Изменение размеров всех изображений в папке, передача утилите «convert» из ImageMagick для создания уменьшенных копий изображений (предварительный просмотр) |
swapon /dev/hda3 | активировать swap-пространство, расположенное на разделе hda3 |
swapon /dev/hda2 /dev/hdb3 | активировать swap-пространства, расположенные на разделах hda2 и hdb3 |
Запуск предыдущих команд
Чтобы получить доступ к командам, которые вы уже вводили можно использовать клавиши Вверх и Вниз. С их помощью можно «перелистывать» команды в истории команд.
Как закрыть терминал
Чтобы закрыть окно терминала можно просто нажать крестик в заголовке окна, или ввести команду:
exit
Как открыть командную строку (терминал, консоль) в ubuntu?
Также эмулятор терминала Gnome terminal в Ubuntu можно запустить из окна запуска приложений. Для этого нажмите Alt F2 и введите в открывшемся окне название программы — «gnome-terminal».
Чтобы получить доступ к настоящей текстовой консоли, можно воспользоваться комбинациями клавиш Ctrl Alt F1… Ctrl Alt F6. Ctrl Alt F7 — переход обратно в графический режим.
Команды
Команды – это предопределенный набор букв, цифр, символов, которые можно ввести в командной строке и выполнить нажав энтер.
Команды делятся на два вида:
Команды для управления программами строятся по такой схеме:
название_программы -ключ значение
Название програмы – это название исполняемого файла из каталогов записанных в переменной $PATH (/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin и др.) или полный путь к исполняемому файлу (/opt/deadbeef/bin/deadbeef)
Ключ – пишется после названия программы, например -h, у каждой программы свой набор ключей, они перечислены в справке к программе, ключи используются для указания какие настройки использовать или какое действие выполнить
Значение – адрес, цифры, текст, спецсимволы (*, ~, , &, « », _ ), переменные ($HOME, $USER, $PATH)
Выполнить команды можно следующим образом:
Помните, что терминал чувствителен к регистру! Слова User, user и USER в Linux различаются!
Команды secure shell (ssh)
SSH (англ. Secure Shell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол. Таким образом, можно не только удалённо работать на компьютере через командную оболочку, но и передавать по шифрованному каналу звуковой поток или видео (например, с веб-камеры)[2]. Также SSH может использовать сжатие передаваемых данных для последующего их шифрования, что удобно, например, для удалённого запуска клиентов X Window System.
Большинство хостинг-провайдеров за определённую плату предоставляют клиентам доступ к их домашнему каталогу по SSH. Это может быть удобно как для работы в командной строке, так и для удалённого запуска программ (в том числе графических приложений).
Команды для работы с файлами и папками
Символ тильда (~) обозначает вашу домашнюю папку. Если вы user, то тильда (~) — это /home/user.
Команда
cd
меняет рабочую директорию. Когда вы только запускаете терминал, вы будете находиться в вашей домашней папке. Чтобы перемещаться по файловой системе, нужно использоватьcd
. Примеры:Команда
rm
удаляет файл.Команда
rmdir
удаляет пустую папку. Чтобы удалить папку вместе со всеми вложениями, используйтеrm -r
вместо этого.mkdir
Эта команда создаёт директорию. Командаmkdir music
создаст вам папку, которая будет называться «music».
Манипуляции с текстом
cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt | общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый |
cat file_originale | [operazione: sed, grep, awk, grep и т.п.] » 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 ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ | преобразовать символы из нижнего регистра в верхний |
sed -e ‘1d’ result.txt | удалить первую строку из файла example.txt |
sed -n ‘/string1/p’ | отобразить только строки содержашие «string1» |
sed -e ‘s/ *$‘ example.txt |удалить пустые символы в в конце каждой строки | |sed -e ‘s/string1g’ 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 | сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах |
Полезные программы
Примечание: Данный пункт в видео не представлен.
Получение справки
Для получения справки по любой команде можно использовать команду man Например:
man cp
Для выхода из режима справки, нажмите клавишу q
Прервать выполнение команды
Чтобы досрочно прервать выполнение команды можно использовать сочетание клавиш Ctrl C
Приглашение ко вводу команд
В терминале слева от курсора выводится приглашение ко вводу или Shell Promt.
В зависимости от дистрибутива или других настроек приглашение может выглядеть по разному.
Программная оболочка
Консоль и терминал обрабатывают команды с помощью программной оболочки. Программная оболочка – интерпретатор команд, он распознает команды введенные в командной строке, и запускает программы для выполнения команды. В Ubuntu по умолчанию используется оболочка bash, он распознает команды на языке bash.
Bash можно заменить на другую оболочку, их существует несколько. Каждая оболочка имеет свой набор настроек и возможностей. (автовыполнение команд при входе в оболочку, внутренние команды оболочки, ведение истории, можно назначать сокращенные команды – алиасы).
Просмотр истории и поиск по истории команд
Для вывода истории команд используется команда:
history
Для запуска команды из истории по ее номеру выполните (вместо 123 укажите номер команды):
!123
Просмотр справки и руководства по программе
Названия программ используемых в командах, которые могут пригодиться, нужно выучить или распечатать, а как ими пользоваться можно узнать в любой момент вызвав справку или руководство (man) по программе.
Для получения краткого руководства по программе, нужно выполнить:
man программа
Перемещаться можно клавишами со стрелками, а выйти из него, нажав клавишу Q.
Подробнее в смотрите в man man
Для получения справки, в которой указаны ключи, нужно выполнить:
программа -h
программа --help
Оба варианта должны работать одинаково, но некоторые авторы программ оставляют один один из этих ключей, так что пробуйте оба если что.
Рабочий каталог
Все действия в терминале всегда выполняются в рамках рабочего каталога.
Для вывода текущего рабочего каталога используется команда:
pwd
Для изменения рабочей директории (для перехода в другую директорию) используется команда:
cd
Терминал
Терминал – графическая программа эмулирующая консоль.
Такие программы позволяют не выходя из графического режима выполнять команды.
Терминал по сравнению с консолью имеет дополнительный функционал (управление мышью, контекстное меню, полоса прокрутки, вкладки, запуск нескольких окон, главное меню, графические настройки).
Запустить терминал можно следующим образом:
В Unity:
Главное меню → Набрать в поисковой строке слово Терминал
или нажать комбинацию клавиш: Ctrl Alt T
В Gnome Fallback
Приложения → Стандартные → Терминал
В Xfce (Xubuntu):
Главное меню → Приложения → Система → Терминал
В KDE (Kubuntu):
Главное меню → Приложения → Система → Терминал
В LXDE (Lubuntu):
Главное меню → Системные → LXTerminal
После запуска терминала мы видим строку с приглашением к вводу команд, например:
vladimir@Zotac-Zbox-Nano:~$
vladimir – имя учетной записи пользователя
@ – разделитель между учетной записью и именем компьютера
Zotac-Zbox-Nano – имя компьютера
: – разделитель
~ – в какой папке выполняется команда, ~ это домашняя папка пользователя, если выполните команду ls то получите список файлов из этой папки
$ – приглашение к выполнению команды с правами простого пользователя (# будет означать приглашение на выполнение команд с правами администратора)
Заключение
Мы рассмотрели некоторые базовые навыки, которыми полезно обладать при работе в командной строке Linux. Для получения дополнительных знаний рекомендуем вам прочитать наши статьи из раздела Командная строка, там много интересного.