Содержание
- 1 Как запустить графическую оболочку Ubuntu
- 2 Команды Linux окружения пользователя
- 3 Чтение текстовых файлов
- 4 Регулярные выражения в терминале Linux
- 5 Причины, по которым в Ubuntu не загружается рабочий стол
- 6 Работа с файлами и директориями
- 7 3. Оператор перенаправления >
- 8 Повторить последнюю команду
- 9 Настройка командной оболочки Ubuntu
- 10 Пользователи и группы
- 11 Выключение компьютера в Linux
- 12 Операции с пакетами
- 13 Специальные пакеты
- 14 sed: синтаксический анализ и преобразование текста
- 15 История команд Linux
- 16 Раскрашиваем и изменяем строку приглашения:
Как запустить графическую оболочку Ubuntu
Запуск интерфейса также имеет 2 известных метода с различной технологией решения проблемы.
Запуск графической оболочки Ubuntu из консоли
- Войти систему.
- Авторизироваться, то есть ввести конкретный логии пользователя и его пароль.
- Убедиться в подключении к виртуальному пространству.
- Открыть консоль на платформе Линукс сочетанием клавиш Alt, Ctrl, F1 и ввести выражение: $sudo apt-get install ubuntu-desktop .
- Ввести пароль пользователя.
- На вопрос системы об установке нового программного обеспечения следует сначала нажать Y, а потом Enter.
- В конце процесса в командной строке нужно ввести выражение: $sudo service gdm start.
В итоге пользователь спокойно может работать на Убунту.
Внимание! Для установки в качестве менеджера рабочего стола KDE нужно заменить слово ubuntu-desktop словом kubuntu-desktop, тем самым, в итоге, получив Kubuntu Linux
Запуск рабочего стола Ubuntu из терминала
- Запустить терминал с помощью сочетания клавиш Alt, Ctrl, T.
- Посмотреть содержимое директория с помощью команды ls /etc/init.d/ . То же самое можно получить с помощью программы rcconf.
- Просматривая список, нужно найти имя ДМ, помеченное звездочкой – это рабочее оборудование.
- Установить еще один. Войти в виртуальный терминал клавишами Alt, Ctrl, F Ввести выражение в командную строку: sudo apt-get install имя_ДМ . Указать тот ДМ, который c помощью команды rcconf был выше определен, как работающий. Здесь имя_ДМ – это имя одного из ДМ: kdm, slim и т. д. Можно в качестве нового ДМ установить kdm, gdm, lightdm и slim.
- Для последующего изменения после перезагрузки ввести выражение: sudo dpkg-reconfigure имя_ДМ. ДМ должен совпадать с версией операционной системы, kdm, если первоначальный ОМ – KDE, gdm, если первоначальный ОМ – GNOME2, GNOME3, lightdm, если первоначальный OM – KDE, GNOME3, Unity, Cinnamon, XFCE4, LXDE, awesome, slim, если первоначальный ОМ – XFCE4, openbox, blackbox, awesome.
- Добавить менеджеры с помощью команд: sudo apt-get install kubuntu-desktop и sudo apt-get install хubuntu-desktop .
- Перезагрузить гаджет.
В итоге графическая оболочка запускается.
Команды Linux окружения пользователя
Операционная система Linux позволяет обновить свой рабочий интерфейс и включить в него необходимые инструменты. Они облегчают работу за компьютером благодаря гибкой настройке и удобному расположению. Самые популярные:
- «date» — команда, которая выводит текущую дату. Есть возможность опциональной настройки формата времени (12/24 ч.);
- «alias» сокращает наименование указанной команды, даёт возможность пользователю установить её синоним;
- «uname» демонстрирует информацию об операционной системе, её имени, профиле;
- «sudo» — запуск приложений и программ от любого из зарегистрированных пользователей;
- «sudo su» включает режим суперпользователя;
- «sleep» переводит систему в спящий режим;
- «shutdown» настраивает время включения компьютера. По умолчанию немедленно запускает систему;
- «reboot» помогает перезагрузить операционную систему. Благодаря опциональной настройке позволяет задать необходимое время для планируемой перезагрузки.
Чтение текстовых файлов
cat
— конкатенация (склеивание) файлов. Часто используется для простого просмотра текстового файла.
cat
cat /etc/passwd
— просмотр содержимого файла.
cat > essay.txt
— копирует содержимое стандартного ввода в файл. Позволяет печатать короткие тексты в файл прямо в консоли, для прекращения печати нажмите Ctrl+D (EOF).
cat -n file1.txt file2.txt
— объединить два файла и вывести номера строк.
grep
— поиск заданной строки в текстовых файлах.
grep
grep -i jane /etc/passwd
— поиск слова jane в файле /etc/passwd, без учета регистра символов.
grep ‘Sep 02 .* Updated’ yum.log
— поиск строки из нескольких слов с использованием маски.
grep ‘green apple’ pricelist1.txt pricelist2.txt
— поиск строки green apple в нескольких файлах.
grep -c 1994 bdaylist.txt
— показать количество строк, в которых нашлось совпадение с числом 1994.
grep -n 1994 bdaylist.txt
— показать строки и их номера, в которых нашлось совпадение с числом 1994.
grep -r jane /etc
— рекурсивный поиск слова jane во всех файлах и подкаталогах в директории /etc.
grep -w pop songs.txt
— поиск целого слова pop (kpop, poprock, latinpop не будут показаны в результатах).
grep -v pop songs.txt
— поиск наоборот, будут показаны строки, в которых не встречается слово pop.
grep -lr TODO /var/www/example.ru
— поиск файлов в каталоге /var/www/example.ru, в которых встречается слово TODO.
grep -Lr ‘<title>’ /var/www/example.ru
— поиск файлов в каталоге /var/www/example.ru, в которых не встречается слово <title>.
man ps | grep — -f
— поиск значение ключа для команды .
head
— вывод первых 10 строк файла.
head
head ~/documents/essay.doc
head -n5 ~/documents/essay.doc
— вывод первых 5 строк файла.
less
— мощная утилита для просмотра содержимого файла, более функциональный вариант утилиты more.
less
less -c pricelist.txt
— вывести содержимое файла с очисткой экрана.
more
— старая утилита просмотра содержимого файла. Не позволяет скролить вверх.
more
more -5 -p pricelist.txt
— вывести пять строк файла с очисткой экрана.
tac
— тоже самое, что и команда cat только вывод текста происходит снизу вверх (последняя строка становится первой, предпоследняя становится второй и т.д.).
tac
tac pricelist.txt
tac part1.txt part2.txt > whole.txt
— конкатенация (склеивание файлов) и запись результата в файл whole.txt
tail
— вывод последних 10 строк файла.
tail
tail /var/log/nginx/error.log
tail -n7 /var/log/nginx/error.log
— вывод последних 7 строк файла.
tr
— осуществляет посимвольную замену, удаление, преобразование символов строки из стандартного ввода.
tr
tr b v
— заменить все ‘b’ на ‘v’.
tr abc op
— заменить все ‘a’ на ‘o’, все ‘b’ и ‘с’ на ‘p’.
tr b v < source.txt > result.txt
— заменить все ‘b’ на ‘v’ в тексте файла source.txt и записать результат в файл result.txt (source.txt останется без изменений).
cat source.txt | tr b v > result.txt
— альтернативный вариант предыдущему примеру.
tr » »
— заменить последовательность ‘a-d’, на последовательность ‘w-z’.
tr » »
— заменить все символы в верхнем регистре на нижний регистр.
tr » »
— альтернативный вариант предыдущему примеру.
tr -s ‘ ‘ ‘ ‘
— замещает все повторяющиеся символы на один.
tr -s »
— альтернативный вариант предыдущему примеру.
tr -d »
— удалить все цифры из текста.
tr -c ‘a’ ‘o’
— всё, что не ‘a’ и не пустой символ, то ‘o’.
tr -cd »
— всё, что не цифра — удалить.
cat /etc/passwd | tr » ‘ ‘ | tr -s ‘ ‘ >> trash.txt- удалить все знаки пунктуации и отступы (пробелы и переводы строк) из текста файла /etc/passwd, заменить все повторения пробелов одним пробелом и записать результат в конец файла trash.txt.
uniq
— исключает повторяющиеся строки из сортированного текста.
uniq
sort buylist.txt | uniq
— исключает повторяющиеся строки из списка.
sort buylist.txt | uniq -d
— выводит повторяющиеся строки из списка.
sort buylist.txt | uniq -ic- выводит количество повторяющихся строк.
wc
— вывод количества строк, слов и символов в файле.
wc
wc /etc/passwd
wc -w /etc/passwd
— показать только количество слов в файле.
wc -L /etc/passwd
— показать количество символов в самой длинной строке.
Регулярные выражения в терминале Linux
Регулярные выражения (regex) — это язык описания шаблона строк.
Точка «» является специальным символом, который будет соответствовать любому символу (кроме новой строки). Например, будет соответствовать bat, bbt, b%t и так далее, но при этом сюда не подойдут bt, xbt.
Класс символов: один из элементов в квадратных скобках будет совпадать, при этом допускаются последовательности:
— соотносится с Cat и cat. — соотносится с fate, gate, hate.
Символ «» внутри класса символов означает отрицание, например:
будет соответствовать brat, но не boat или beat.
Расширенные выражения запускаются с помощью или , при этом:
«» соответствует нулю или более, «» соответствует одному или более, «» соответствует нулю или разовому появлению предыдущего символа, например:
будет соответствовать hat, cat, hhat, chat, cchhat и т. д.
«» является разделителем для нескольких шаблонов, а «» и «» позволяют группировать шаблоны, например:
будет соответствовать cat, Cat, dog и Dog.
«» может использоваться для указания диапазона повторения, например:
будет соответствовать baat, baaat и baaaat, но не bat.
Примеры grep
Строки, которые заканчиваются двумя гласными:
Проверка 5 строк до и после строки, где встречается «little»:
Комментируйте команды и выполняйте поиск последних использованных в истории:
Удостоверьтесь, что вы правильно написали все команды в терминале Linux и избежали возможных двусмысленностей:
— ещё одна очень полезная комбинация вам на заметку.
Причины, по которым в Ubuntu не загружается рабочий стол
После того, как произошло обновление гаджета пользователя и его последующая перезагрузка, возможно появление черного экрана. Дальнейшая перезагрузка операционной системы результата не дает. Кроме того, невозможно войти в меню Ubuntu через «пуск».
Иными словами, не обновляется рабочий стол на платформе Линукс. Причин того, что не запускается графическая оболочка Ubuntu, достаточно много:
- Проблема в самом оборудовании. Пользователя должно смутить не только то, что пропал рабочий стол Ubuntu, но и невозможность вообще войти в BIOS системы. Однако устранить эту неполадку можно только в сервисном центре.
- Неполадки в работе программы-загрузчика Grub. Неправильное обновление ведет к повреждению различных файлов этой программы, что в итоге выливается в невозможность запустить графическую оболочку Ubuntu.
- Конфликт драйверов различных базовых программ. В этом случае работа обновленных программ может не состыковываться с ранними версиями приложений. Именно поэтому возникает пустой рабочий стол Ubuntu. Решать эту проблему также стоит со специалистами компьютерного центра.
- Плохая работа самого интерфейса может приводить к тому, что Ubuntu не грузится после обновления.
- Отключение электроэнергии и источников питания оставляет Ubuntu без графической оболочки. В этом случае достаточно наладить электросеть и перезагрузить гаджет.
- Отсутствие необходимых дополнительных компонентов. Именно поэтому пользователь не заходит в Ubuntu после ввода пароля.
Исходя из вышеперечисленного, можно предположить, что способов решения проблемы тоже много.
Работа с файлами и директориями
Создать файл:
Если нужно внести изменения в дату и время создания, поможет такая команда:
Удалить файл:
Форсированное удаление файла:
Создать копию файла в другом файле:
Показать содержимое файла:
Так можно вывести 10 строк файла с начала…:
…а так — с конца:
Увидеть директорию, в которой вы находитесь сейчас, можно по команде:
Чтобы перейти в домашнюю директорию, выполните такую команду:
Создать новую директорию, а также 2 директории сразу:
Удалить каталог форсированным способом:
Удалить директорию:
Чтобы переименовать или переместить файл или директорию, есть такая команда:
Это основные команды для работы с элементами файловой системы. Как видно сразу, в Ubuntu команды консоли многообразны. Нет смысла запоминать их все — достаточно понять общие принципы построения. Чтобы лучше применять такие вещи, создайте «шпаргалку» из самых нужных параметров в отдельном месте. А лучше распечатайте её.
3. Оператор перенаправления >
Это, наверное, самая короткая команда для создания файла в Linux:
Оператор оболочки для перенаправления вывода позволяет записать вывод любой команды в новый файл. Например, можно подсчитать md5 сумму и создать текстовый файл в Linux с результатом выполнения.
Это рождает ещё несколько способов создания файла в Linux, например, выведем строку в файл с помощью команды echo:
Этот способ часто используется для создания конфигурационных файлов в Linux, так сказать, на лету. Но заметьте, что sudo здесь работать не будет. С правами суперпользователя выполниться echo, а запись файла уже будет выполнять оболочка с правами пользователя, и вы всё равно получите ошибку Access Denied.
Ещё тем же способом можно сделать примитивный текстовый редактор для создания файла. Утилита cat без параметров принимает стандартный ввод, используем это:
После выполнения команды можете вводить любые символы, которые нужно записать в файл, для сохранения нажмите Ctrl+D.
А ещё есть утилита printf, и здесь она тоже поддерживает форматирование вывода:
Этот способ создать файл в Linux используется довольно часто.
Повторить последнюю команду
Если мы уже начали говорить о возможностях Bash пойдем дальше. Символ !! означает выполнить последнюю команду. Часто ли у вас случалось такое, что вы набираете команду нажимаете Enter и понимаете, что для ее работы нужно было использовать sudo? Тогда приходиться набирать ту же команду только уже правильно. Но можно пойти другим путем, выполнить:
Кроме символа !! В Bash есть еще несколько указателей на команды:
- !^ — первый аргумент предыдущей команды;
- !$ — последний аргумент предыдущей команды;
- !* — все аргументы предыдущей команды;
- !-2 — вторая с конца команда;
- *— содержимое текущего каталога.
А вот так можно сохранить последнюю выполненную команду в скрипт:
Ещё о подобных возможностях Bash можно почитать .
Настройка командной оболочки Ubuntu
По умолчанию в Ubuntu используется командная оболочка Bash. Она была изобретена еще в далеких 80х годах для операционной системы Unix в лаборатории Bell Labs. Понятное дело, что с тех пор она была модифицирована и очень сильно улучшена, написана свободная реализация Bash, которую вы сейчас используете и так далее. Но все принципы остались те же.
За это время были разработаны лучшие оболочки, которые предоставляют пользователям намного более дружественный интерфейс и более удобны в использовании и написании скриптов.
Одна из таких оболочек — fish, или Frendly Interactive Shell. Рассмотрим вкратце ее преимущества. Очень важным моментом fish есть полная подсветка синтаксиса, каждая правильно введенная команда выделяется одним цветом, неизвестная другим, а правильный путь к файлу подчеркивается, таким образом, вы сразу понимаете правильно ли набрали команду, еще не нажимая Enter. Также здесь очень удобный поиск ранее введенных команд в истории, достаточно набрать первые несколько символов команды и начать листать кнопкой вверх, чтобы увидеть все ранее вводимые команды, начинающиеся с этих символов. Более того, когда вы начинаете набирать команду, то оболочка предлагает вам последнюю выполненную команду, начинающуюся на такие символы, достаточно нажать стрелку вправо, и команда готова к запуску. Автодополнение здесь намного лучше чем в Bash, fish дополняет не только команды и адреса файлов, но и опции команд, а это может быть очень полезно для новичков.
А про скрипты Fish вообще говорить не стоит, они намного легче и проще. Намного проще осваиваются новичками и легче для опытных пользователей, поскольку скрипты Bash славятся своей сложностью.
Если вы еще не уверенны, нужно ли ставить оболочку Fish в своей системе, вас никто не заставляет удалять Bash, вы можете просто установить fish и проверить ее возможности, может вам тоже понравиться. Настройка консоли Ubuntu должна включать установку нормальной оболочки.
Для установки Fish в Ubuntu наберите:
Протестировать оболочку не заменяя ее для вашего терминала можно просто выполнив:
Если же вы хотите, чтобы эта оболочка использовалась по умолчанию, откройте Параметры профиля, и перейдите на вкладку и там отметьте Запускать команду как оболочку входа и Запускать другую команду вместо моей оболочки. Дальше в поле пропишите адрес файла оболочки fish: /usr/bin/fish:
Теперь давайте немного настроим новую оболочку. Как вы уже видели, при запуске показывается сообщение, что нужно нажать help чтобы получить справку, предлагаю его убрать.
Для того чтобы изменить приглашение выполните:
set fish_greeting «Have a lot of fun»
Можно не передавать никакой фразы, и тогда приглашение останется пустым.
В Fish нет файла .bashrc. Но зато есть каталог с настройками и функциями ~/.config/fish/. Там вы найдете все функции, которые могут вызываться из оболочки, а также можете добавить туда свои функции, например создадим алиас для команды rm с помощью функции:
funcsave rmi
Конечно, как и раньше осталась возможность использовать команду:
Ее нужно добавить в конец файла .config/fish/config.fish
Еще одной замечательной особенностью этой оболочки есть возможность настройки через графический интерфейс. Просто наберите:
В открывшимся окне браузера вы можете очень просто настроить общую цветовую схему, а также формат приветствия не вникая в термины bash и коды цветов.
Пользователи и группы
whoami — имя, под которым вы залогиненыgroupadd group_name — создать новую группу с именем group_namegroupdel group_name — удалить группу group_namegroupmod -n new_group_name old_group_name — переименовать группу old_group_name в new_group_nameuseradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1 — создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognomeuseradd user1 — создать пользователя user1userdel -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 — установить дату окончания действия учётной записи пользователя user1pwck — проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadowgrpck — проверяет корректность системных файлов учётных записей. Проверяется файл/etc/groupnewgrp group_name — изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
Выключение компьютера в Linux
1. shutdown
Самая простая и самая часто используемая команда выключения компьютера linux, отключит компьютер немедленно:
Как видите, используется обычное выключение, и константа времени now, тоесть сейчас.
Теперь попробуем запланировать выключение компьютера linux через пять минут:
Мы запланировали вывод сообщения перед выключением. Чтобы отменить команду shutdown выполните:
Точно так же мы можем указать точное время выключения, например в девять вечера:
Как я уже говорил, не только команда shutdown linux умеет выключать компьютер, есть еще несколько утилит способных на это. Рассмотрим их тоже.
2. reboot
Команда reboot обычно используется для перезагрузки системы, но она также умеет выключать компьютер. Мы не будем ее подробно рассматривать, потому, что она еще проще команды shutdown. Для выключения нужно задать опцию -p:
3. halt
Эта команда тоже выключает компьютер. Только делает она это очень по-своему. Она не выполняет никаких подготовительных действий перед выключением, а просто отключает питание:
Использование halt может повредить систему
5. SysRQ
Помните, в начале статьи, я говорил о сочетании клавиш для включения компьютера? Рассмотрим этот вопрос подробнее.
SysRQ — это подсистема, реализованная на уровне ядра. Ядро обрабатывает все нажатия клавиш, а с помощью этой подсистемы, оно может принимать от пользователя команды, даже когда система полностью зависла. Основное предназначение этой подсистемы — работа с компьютером в проблемных ситуациях, например, если вы думаете что ваш компьютер заразил вирус, или компьютер завис и его нужно выключить. Для доступа к SysRq используются сочетания клавиш Alt+PrtScr+номер
Самое интересное, что мы можем выполнить безопасное выключение компьютера linux. Для этого зажмите клавиши Alt + PrtScr и поочередно нажимайте:
- R — разблокировать клавиатуру;
- E — послать всем процессам сигнал SIGTERM;
- I — послать всем процессам сигнал SIGKILL;
- S — перенести все данные из кеша файловых систем на диск;
- U — перемонтировать файловые системы только для чтения;
- B — перезагрузить.
Также вместо всего этого можно воспользоваться сочетанием клавиш Alt+PrtScr+O, в таком случае, вся процедура будет выполнена автоматически, эта команда поддерживается не всеми ядрами.
6. Графический интерфейс
Выключить компьютер в графическом интерфейсе ещё проще. Для этого кликните по иконке выключения в правом верхнем углу, а затем выберите Выключить/Завершить сеанс, затем Выключение.. и снова Выключить:
Операции с пакетами
Для работы с пакетами в Убунту предусмотрен специальный инструмент — Advanced Packaging Tool. Он также называется Пакетный менеджер. Инструкции для этой программы применяют, чтобы установить, обновить или стереть программные пакеты. Если нужно, приложение способно работать автоматически.
Установка и обновление пакетов:
Получить актуальные перечни пакетов:
Получить обновления для пакетов, которые уже установлены:
И также к команде apt-get можно дописать через пробел такие важные параметры:
- check, чтобы проверить, соблюдены ли зависимости;
- clean, чтобы удалить архивированные файлы пакетов, которые были загружены ранее;
- autoclean, чтобы автоматически стирать все архивные копии пакетов.
Специальные пакеты
ubuntu-desktop — стандартная среда Ubuntukubuntu-desktop — рабочий стол KDExubuntu-desktop — рабочий стол XFCEubuntu-minimal — основные утилиты Ubuntuubuntu-standard — стандартные утилиты Ubuntuubuntu-restricted-extras — несвободные, но полезные пакеты для Ubuntukubuntu-restricted-extras — несвободные, но полезные пакеты для Kubuntuxubuntu-restricted-extras — несвободные, но полезные пакеты для Xubuntubuild-essential — пакеты, используемые для компиляции программlinux-image-generic — последний образ ядра genericlinux-headers-generic —последние headers ядра
sed: синтаксический анализ и преобразование текста
sed — это специальный потоковый редактор, который ищет шаблон в тексте и применяет к нему необходимые изменения.
Данный редактор может быть в том числе пакетным или неинтерактивным редактором. Его функции заключаются в том, что он считывает из файла или из (при наличии каналов) по одной строке за раз. При этом исходный входной файл остается неизменным (так как sed также является фильтром), после чего результаты преобразуются в стандартные выходные данные.
Анатомия типичной sed-команды Linux-терминала
Опции sed:
- адрес — может быть номером строки, диапазоном или совпадением. Может быть оставлен по умолчанию, либо являться файлом целиком;
- команда — :substitute (замена), :print (печать), :delete (удалить), :append (добавить), :insert (вставить), :quit (завершить);
- regex — регулярные выражения;
- знак-разграничитель — в данном случае необязательно использовать «», можно также применять «» или «» или любой другой символ;
- модификатор — его роль может выполнять число , которое применяет команду к N-му вхождению, применяет ко всей строке в целом;
- общие признаки состояния sed — (без печати), (несколько операций), (чтение sed из файла), (на месте редактирования).
Полезные примеры sed:
- — печать строк с 5 по 9;
- — влияет на 1-е вхождение в стр. 20–30;
- — печать последней строки;
- — удалить первые 3 строки;
- — удалить все пустые строки;
- — заменить всё, кроме York;
- .
В следующей части разберём основные инструменты терминала Linux.
История команд Linux
Большинство задач, связанных с историей команд, мы будем выполнять либо с помощью команды history, либо с помощью оболочки. В истории хранится последняя 1000 команд, которые вы выполняли. Чтобы посмотреть всю историю для этого терминала просто запустите команду history без параметров:
Для дополнительных действий с историей вам могут понадобиться опции. Команда history linux имеет очень простой синтаксис:
$ history опции файл
В качестве файла можно указать файл истории. По умолчанию история для текущего пользователя хранится в файле ~/.history, но вы можете задать, например, файл другого пользователя. А теперь рассмотрим опции:
- -c — очистить историю;
- -d — удалить определенную строку из истории;
- -a — добавить новую команду в историю;
- -n — скопировать команды из файла истории в текущий список;
- -w — перезаписать содержимое одного файла истории в другой, заменяя повторяющиеся вхождения.
Наиболее полезной для нас из всего этого будет опция -c, которая позволяет очистить историю команд linux:
Так вы можете посмотреть только последние 10 команд:
А с помощью опции -d удалить ненужное, например, удалить команду под номером 1007:
Если вы хотите выполнить поиск по истории bash, можно использовать фильтр grep. Например, найдем все команды zypper:
На самом деле работать с историей еще более просто с помощью оболочки, возможно, вы уже используете многие ее функции, но о некоторых точно не знаете. Рассмотрим их:
Чтобы показать предыдущую команду просто нажмите стрелку вверх, так можно просмотреть список раньше выполненных команд.
Вы можете выполнить последнюю команду просто набрав «!!». Также можно выполнить одну из предыдущих команд указав ее номер «!-2»
Чтобы выполнить поиск по истории прямо во время ввода нажмите Ctrl+R и начните вводить начало команды.
Если вы знаете, что нужная команда была последней, которая начиналась на определенные символы, например, l, то вы можете ее выполнить, дописав «!l»:
Если нужная команда последняя содержала определенное слово, например, tmp, то вы можете ее найти, использовав «!?tmp»:
Если вы не хотите, чтобы выполняемая команда сохранилась в истории просто поставьте перед ней пробел.
Таким образом, вы можете очень быстро отыскать нужную команду, если помните как она была написана. История команд bash хранит очень много команд и этого вполне достаточно для комфортной работы.
Раскрашиваем и изменяем строку приглашения:
Разобравшись, как устанавливать цвета linux через esc-коды, не составит труда переделать и раскрасить строку приглашения. За ее вывод отвечает переменная PS1, которая определена в файле ~/.bashrc
В Linux Mint скрипт ее инициализации имеет следующий вид:
То-есть сперва определяется, запустил ли скрипт root или обычный пользователь. Поскольку в подавляющем большинстве случаев имеет место именно второй вариант, то и редактировать нужно строку, следующую после первого ‘else’. Формат строки расшифрован в документации по баш, в разделе «Promting». Из него следует, что esc-последовательность должна начинаться с «\». Таким образом:
- — устанавливает зеленый цвет;
- \u — выводит имя пользователя;
- \h — выводит имя хоста;
- — очищает установленные атрибуты;
- — устанавливает синий цвет;
- \w — выводит имя рабочей директории;
- Привет! — пример того, что может быть выведен любой производный текст.
Что ещё можно вывести в строке приглашения:
- \d — дату, в формате «Wed Dec 28»;
- \A — время в 24-часовом формате;
- \! — номер текущей команды в истории;
- \n — перенос вывода на другую строку;
Введем что нибудь поинтереснее:
И строка приглашения примет вид:
Так, не понял, а откуда взялась ёлка-то?
Ну ладно, на самом деле, если в конец .bashrc вставить echo -e «С Новым годом», то поздравление будет выводиться при каждом запуске терминала перед приглашением ввода. Соответственно, вывод можно раскрашивать каким угодно способом. А там уж и ёлку нарисовать не сложно.