The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Работа в консоли

   Корень / Пользователю / Работа в консоли

----* Использование less вместо tail для отслеживания хвоста файла (доп. ссылка 1)   [комментарии]
 
Для отслеживания добавляемых в хвост файла изменений, например, для наблюдения
за наполнением лог-файла, вместо традиционной команды "tail -f" удобно
использовать утилиту less  с опцией "+F" (less +F имя_файла). Преимущество
состоит в том, что утилита less предоставляет переключаться между режимом
перемещения по файлу и отслеживанием изменений.

Например, при появлении важной информации можно прервать отслеживание хвоста,
нажав "Ctrl+C", после чего выполнить поиск или переместиться в верхнюю часть
файла. Для возобновления отслеживания изменений достаточно нажать "F".
Аналогичным образом, нажав "F", можно проверить появление новых данных в хвосте
и для файла, открытого в less без предварительного указания опции "+F".

Недостатком less является поддержка отслеживания только одного файла, в то
время как "tail -f" позволяет одновременно следить за хвостами нескольких файлов.
 
----* Динамическое изменение заголовков окон в screen (доп. ссылка 1)   [комментарии]
  Как известно, screen умеет динамически менять заголовки окон, исследуя каждую выводимую строку приложения на наличие esc-k. Вот этого в .bashrc достаточно, чтобы научить screen менять заголовок в зависимости от запущенного приложения:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Автодополнение ssh-хостов в командной строке (доп. ссылка 1)   Автор: bthemad  [комментарии]
  Простейшим способом упрощения набора параметров для частоиспользуемых хостов является задание псевдонимов в ~/.ssh/config:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Раскраска man-страниц в Linux (доп. ссылка 1)   [комментарии]
 
Для того чтобы насладиться системными руководствами в цвете, можно подключить к
man программу для листания текста "most":

в Debian-подобных дистрибутивах:

  apt-get install most

в [Red Hat]-подобных дистрибутивах:

  yum install most

Настраиваем вывод в man, в ~/.profile добавляем или выполняем в командной
строке для текущей сессии:

  export MANPAGER="/usr/bin/most -s"

Смотрим результат:

  $ man bash
 
----* Отображение числа непрочитанных писем Gmail в строке статуса Screen (доп. ссылка 1)   Автор: itbg  [комментарии]
  Итак, нам потребуется установленный GNU Screen и Wget
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Выборка и копирование файлов по дате в Linux   Автор: Sclif13  [комментарии]
 
Столкнулся с такой задачей: из каталога необходимо выбрать и скопировать кучу
файлов за один месяц.
Вооружившись командами cp, ls  и awk я приступил и вот что получилось:

   cp $(ls -l | grep 2009-01 | awk '{print $8}') /home/temp/

ls -l выводит содержимое каталога с датой
grep соответственно выбирает файлы за месяц
awk '{print $8}' выводит имя файла для команды cp

Дальше больше ...
Есть каталог в котором куча подкаталогов и в которых соответственно файлы,
которые надо скопировать.
Тут на помощь приходит утилита du:

   cp $(du -a --time | grep 2009-01 | awk '{print $4}') /home/temp/
 
----* Обработка XML данных в командной строке при помощи xmlstarlet   [комментарии]
  В составе Debian, Ubuntu и других Linux дистрибутивах можно найти пакет xmlstarlet (http://xmlstar.sourceforge.net/), представляющий собой набор утилит командной строки для преобразования, выборки данных и проверки XML документов. Реализует для работы с XML функции похожие на утилиты grep, tr, sed, awk, diff, patch, join и т.п., что очень удобно для разбора XML документов в скриптах.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Настройка работы кнопок home и end при работе во FreeBSD через ssh-клиент Putty (доп. ссылка 1)   [комментарии]
 
При работе во FreeBSD по ssh через putty не работают кнопки Home и End. 

Для решения проблемы в настройках putty (Connection / Data / Terminal-type string) 
нужно поставить putty вместо xterm.
Это позволит использовать описание терминала putty, которое уже присутствует в
termcap из состава FreeBSD.


Другой вариант, в .cshrc можно прописать:

   bindkey "\e[3~" delete-char
   bindkey "\e[1~" beginning-of-line
   bindkey "\e[4~" end-of-line
 
----* Команды для поиска больших файлов в заданной директории   [комментарии]
 
Для вывода отсортированного списка файлов размером больше 500Мб, находящихся 
в дереве файловой системы начиная с текущей директории можно использовать команду:

   find . -type f -size +500M -exec ls -l {} \; | sort -k5 -n -r| less

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

   find . -type d -maxdepth 1 -exec du -s {} \;|sort -k1 -r -n| less

Для выявления конечной директории с большими файлами можно снять ограничение на
рекурсивную проверку:

   find . -type d -exec du -s {} \;| sort -k1 -r -n| less

Найти все avi, mpg, wmv файлы можно так:

   find . \( -iname "*.avi" -o -iname "*.mpg" -o  -iname "*.wmv" \) -type f -exec ls -l {} \;| less

PS. Вместо ls можно было использовать встроенные опции -ls или -printf "%s %P\n", 
но %P не всегда легко вспомнить, а вывод -ls не совсем привычен.
 
----* Удобный поиск по истории команд в консоли в Debian GNU Linux   Автор: Karbofos  [комментарии]
  C помощью кнопок PgUp, PgDwn (страница ввсерх/вниз) можно листать хистори введенных ранее команд, при этом в отличии от использования клавиш управления курсором, при наличии в строке ввода каких-то символов они будут использованы в качестве маски для фильтра. Т.е. введя "ssh" и нажав PgUp/PgDwn можно просмотреть введенные ранее команды с использованием ssh.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Использование Vim для просмотра файлов с подсветкой синтаксиса   [комментарии]
 
В поставке vim присутствует сценарий /usr/share/vim/vim71/macros/less.sh:

#!/bin/sh

if test $# = 0; then
  vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' -
else
  vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@"
fi

Который можно использовать для замены less с подсветкой синтаксиса.

В .bashrc добавляем:

   alias less=/usr/share/vim/vim71/macros/less.sh
 
----* Подборка полезных консольных команд и приемов работы в bash   [комментарии]
  Быстрый поиск PID идентификатора запущенного процесса по имени:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как хранить дату выполнения в истории команд bash (доп. ссылка 1)   Автор: kpblca  [комментарии]
  По умолчанию bash, а точнее утилита history, не сохраняет в .bash_history время исполнения каждой команды.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Отдельный файл истории работы в bash для пользователя работающего через SU (доп. ссылка 1)   [комментарии]
 
Чтобы поместить в отдельный лог команды выполненные в режиме su:

.bash_profile
   export HISTSIZE=3000
   export HISTFILESIZE=99999
   export HISTFILE=/root/.bash_hist-$(who am i|awk '{print $1}';exit)

Получим два файла истории: .bash_hist-user и .bash_hist-root
 
----* Как задать задержку выключения дисплея для консоли Linux и FreeBSD   Автор: Johny  [комментарии]
 
Установка времени гашения консоли Linux:

   setterm -blank <минуты>

Или чтоб экран не гас совсем:

   setterm -blank 0  

Для FreeBSD в /etc/rc.conf: blanktime="NO", saver="NO"  или blanktime="секунды"

Команда:

   vidcontrol  -t секунды < /dev/ttyv0

или 

   vidcontrol  -t off < /dev/ttyv0
 
----* Как подключиться к уже открытой сесии screen (доп. ссылка 1)   [комментарии]
  Для дублирования двух screen сессий, например, для удаленной демонстрации каких-то консольных операций:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Изменение графической заставки, отображаемой в процессе загрузки Linux. (доп. ссылка 1)   Автор: Alexander Kuprin  [комментарии]
  Настройка bootsplash для AltLinux (темы берутся с http://bootsplash.de/) В качестве примера взята тема AquaMatrix для разрешения 1024x768).
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как выделить цветом определенное слово, используя "tail -f" (доп. ссылка 1)   [комментарии]
 
Пример, выделения слова Reject при просмотре хвоста почтового лога:
    tail -f /var/log/maillog |perl -p -e  's/Reject/\033\[46;1mReject\033[0m/gi;'

Если нужно не только выделять цветом, но и подавать звуковой сигнал при появлении test@test.ru:
    tail -f /var/log/maillog |perl -p -e  's/(test\@test.ru)/\033\[46;1m$1\033[0m\007/gi;'
 
----* Решение проблем со screen под FreeBSD (доп. ссылка 1)   Автор: Vladimir Kurtukov  [комментарии]
 
Иногда приложения перестают запускаться из-под screen в FreeBSD.
Например, midc ругается "subshell.c: read (subshell_pty...): Unknown error: 0".
Для решения проблемы достаточно выполнить  "killall -CONT <your shell>", например:
   killall -CONT bash
 
----* Выполнение команды раз в N сек. с перерисовкой результата (доп. ссылка 1)   [комментарии]
 
  watch -n1 "cat /proc/interrupts" 
 
----* Как осуществить форматирование файла ограничив число символов в строке   [обсудить]
 
Жестко разбить по 60 символов в строке: fold -w 60 test.txt
Разбивать только по пробелам, не разбивая слова на части: fold -s -w 60 test.txt
Для форматирования текста программы на Си можно воспользоваться утилитой indent.
Разбить на параграфы поможет fmt из textutils.
 
----* Некоторые полезные клавишные комбинации в Midnight Commander'е   [обсудить]
 
Ctrl-\ - возможность ведения списка часто используемых директорий, включая FTP.
Сtrl-s или Meta-s - интерактивный поиск файла в панели.
Meta-Tab  - дополнение имени файла в любом диалоге.
Ctrl-q - вставить в редакторе непечатный символ по коду.
F1...F10 эмулируются ESC-1...ESC-0
F11..F12..F13.. эмулируются нажатием Shift-F1..Shift-F2..Shift-F3..
Meta-! - запустить программу и посмотреть ее вывод во встроенном просмотрщике.
Meta-c - быстрый переход в директорию
Meta-t - изменить тип отображения файлов в панели.
В редакторе: Shift-! - выход в командную строку на время, ctrl+T - перекодировка.
Выделить только директории можно добавив / после * в блоке пометки.
midc -s - для работы на медленных терминалах.
 
----* Как в screen скопировать многостраничный текст в буфер и обратно.   [обсудить]
 
Ctrl+A,Esc
Подвести курсор к нужной позиции (можно использовать для просмотра предыдущих страниц) 
и нажать Enter.
Отметить нужный фрагмент и нажать Enter.
Для вставки сохраненного блока необходимо нажать Ctrl+A,].
 
----* Сброс терминала   [обсудить]
 
# echo -ne "\033c" >/dev/tty1

или

$ stty sane

или

$ reset
 
----* Использование нескольких буферов обмена в консоли при помощи GNU Screen (доп. ссылка 1)   Автор: Владимир Кунщиков  [комментарии]
  Довольно часто возникает потребность в нескольких буферах обмена между открытыми консольными сессиями. Задача легко решаема при помощи [[https://www.gnu.org/software/screen/manual/html_node/Registers.html#Registers регистров]] в [[https://www.gnu.org/software/screen/ GNU Screen]]. Для создания и быстрого доступа к дополнительным буферам необходимо задать в файле $HOME/.screenrc команды копирования в регистр [[https://www.gnu.org/software/screen/manual/html_node/Paste.html readreg]] и чтения из регистра [[https://www.gnu.org/software/screen/manual/html_node/Paste.html paste]]. Ниже пример добавления буферов, закрепленных за клавишами 1 и 2:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 

 Версия для печати




  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor TopList