Как добавить быстрые клавиши для повышения и понижения громкости в xfce?

Go to Settings->Keyboard->Application Shortcuts and bind the volume up and volume down keys you want to use to:

amixer set Master 5%+ 
amixer set Master 5%-

Оптимизация изображений Linux

find . -name ‘*.jpg’ | xargs jpegoptim -m85 *.jpg
рекурсивно пройдет по текущему каталогу и всем подкаталогам и применит сжатие

jpegoptim --strip-all --all-progressive -ptm85 *.jpg

Для рекурсивного (во всех вложенных подкаталогах) преобразования запускаем

find -type f -iname "*.jpg" -exec jpegoptim --strip-all --all-progressive -pm85 {} \;

VIM: шпаргалка

Файл настройки: ~/.vimrc
Можно редактировать файлы через сеть, например
:e <scp|ftp|ftps>://user@host/path/to/the/file.txt
:Ex или :e ./ — файловый менеджер

== Основы ==
hjkl перемещение в разные стороны
i режим вставки
I добавление в начало строки
a режим добавления
A добавление в конец строки
o добавить строку сразу за текущей
O добавить строку перед текущей
R писать поверх имеющегося текста
u, :u[ndo] отмена предыдущего действия (undo)
CTR-R, :red[o] отмена отмены предыдущего действия (redo)
dd вырезать (удалить) строку
cc удалить и начать редактирование
yy копировать строку
p вставить из буфера обмена
<n>d удалить n+1 строку
<n>y скопировать n+1 строку
ESC перейти в режим просмотра
DEL удалить следующий символ
:<n> перейти на строку #n
% перейти к парной скобке
:e **/filename.c редактировать файл (с поиском по имени)
:w [fname] записать изменения
:wa сохранить изменения во всех файлах
:q выйти из редактора
:q! выйти из редактора, не сохраняя изменения
:color <name> выбор цветовой схемы. цветвые схемы:
/usr/local/share/vim/vim72/colors/*.vim
:pwd текущий каталог
:cd [path] перейти в другой каталог
:!команда выполнить команду — man, git, и так далее
стрелочками веерх и вниз можно автодополнять
команды и искать по истории
CTR+p или CTR+n автоматическое дополнение текста
(в режиме редактирования)
CTR+r,=,<expr> вставить выражение, например 5*2 — 3
(в режиме редактирования)
CTR+u, CTR+d Page Up / Page Down
CTR+y, CTR+e Перемотка вверх/вниз без движения курсора

== Подсветка синтаксиса ==
:syntax on включить подсветку
:syntax off выключить подсветку (по умолчанию)

== Перенос строк ==
:set wrap разрешить word wrap (по умолчанию)
:set nowrap запретить word wrap

== Печать ==
:ha[rdcopy] распечатать документ
:set printoptions=duplex:off отключить двустороннюю печать

== Сворачивание ==
zc свернуть блок
zo развернуть блок
zM закрыть все блоки
zR открыть все блоки
za инвертирование
zf см :set foldmethod=manual
:set foldenable включить свoрачивание
:set foldmethod=syntax сворачивание на основе синтаксиса
:set foldmethod=indent сворачивание на основе отступов
:set foldmethod=manual выделяем участок с помощью v и говорим zf
:set foldmethod=marker сворачивание на основе маркеров в тексте
:set foldmarker=bigin,end задаем маркеры начала и конца блока

== Маркеры ==
ma установить локальный маркер a
mB установить глобальный маркер B
`c перейти к локальному маркеру c
`0 вернуться на позицию, на которой закончили
работу при закрытии vim
:marks просмотр маркеров
set viminfo=’1000,f1 маркеры пишутся в ~/.viminfo, восстанавливаясь
при следующем запуске vim. маркер » хранит
последнюю позицию курсора в файле
== Сессии ==
mksession file.session сохранить текущую сессию
source file.session восстановить ранее сохраненную сессию

== Макросы ==
qa записать макрос с именем a
q в режиме записи макроса: закончить запись
@a выполнить макрос с именем a
@@ повторить последний макрос

== Регистры ==
«ayy скопировать строку в регистр a
«bdd вырезать строку и поместить в регистр b
«С2d вырезать три строки и дописать в конец
регистра C
:reg [name1][name2][…] просмотреть содержимое регистров

== Выделение ==
v + hjkl выделение текста
SHIFT + v выделить строку
CTR + v выделение прямоугольника
p вставить
y копировать
d удалить
gu к нижнему регистру
gU к верхнему регистру

== Отступы ==
[#]> сдвинуть выделенное вправо
[#]< сдвинуть выделенное влево
[#]>> сдвинуть строку вправо
[#]<< сдвинуть строку влево
set tabstop=# для табуляции используется # пробелов
set shiftwidth=# в командах отступа используется # пробелов
set [no]expandtab заменять ли табуляцию на соответствующее
число пробелов

== Поиск и замена в файле ==
/Выражение поиск выражения в файле
\cВыражение поиск без учета регистра
n следующее совпадение
N предыдущее совпадение
:%s/foo/bar/gi замена строк, см http://eax.me/regular-expr/

== Поиск по всему проекту ==
:vimgrep /EXPR/ **/*.c поиск по регулярному выражению
:copen показать все найденные места
:close скрыть все найденные места
:cn переход к следующему результату
:cp переход к предыдущему результату

== Нумерация строк ==
:set number включить нумерацию строк
:set nonumber отключить нумерацию строк

== Работа с вкладками (a.k.a табами) ==
:tabnew [fname] создать таб
:tabs вывести список табов
:tabn следующий таб
:tabp предыдущий таб
<n>gt перейти на таб #n
gt следующий таб
gT предыдущий таб
:tabm +1 переместить таб вперед на одну позицию
:tabm -1 переместить таб назад на одну позицию
:tabm 2 переместить таб на заданную позицию
(нумерация начинается с нуля)

== Работа с окнами ==
:split горизонтальное разбиение
:vsplit вертикальное разбиение
Ctr+W, затем
с закрыть окно
+- изменение высоты текущего окна
<> изменение ширины текущего окна
= установить равный размер окон
hjkl или стрелочки перемещение между окнами

== Проверка орфографии ==
mkdir -p ~/.vim/spell
cd ~/.vim/spell
wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.sug
wget http://ftp.vim.org/vim/runtime/spell/ru.koi8-r.spl
wget http://ftp.vim.org/vim/runtime/spell/en.ascii.sug
wget http://ftp.vim.org/vim/runtime/spell/en.ascii.spl

:set spell spelllang=ru,en включить проверку орфографии
:set nospell выключить проверку орфографии
]s следующее слово с ошибкой
[s предыдущее слово с ошибкой
z= замена слова на альтернативу из списка
zg good word
zw wrong word
zG ignore word

== Работа с кодировкой ==
e ++enc=<имя кодировки> Редактирование файла в ??? кодировке
w ++enc=<имя кодировки> Сохранить файл в новой кодировке
set fileencodings=utf-8,koi8-r Список автоматически определяемых
кодировок в порядке убывания
приоритета

== Другое ==
:set [no]wildmenu При авто-дополнении в командной строке над
ней выводятся возможные варианты
:set list Отображать табуляцию и переводы строк
q: История команд
.

Как использовать команду Grep?

Принадлежащая к семейству Unix команда grep является одним из самых универсальных и полезных инструментов. Эта утилита выполняет поиск в текстовом файле за заданным нами паттерном. Другими словами, с помощью grep вы можете найти необходимое вам слово или значение. А содержащие ваш запрос строки или строка будут выведены в терминал.

На первый взгляд, может показаться, что эта утилита имеет слишком узкое применение. Однако она способна значительно облегчить жизнь системным администраторам, которым приходится обрабатывать множество служб с различными файлами конфигурации. С помощью команды они могут быстро найти необходимые им строки в этих файлах.

Сначала давайте подключимся к VPS с помощью SSH. Вот статья, в которой показано, как это сделать с помощью PuTTY SSH.

ssh vash-user@vash-server

Если на вашем компьютере вы используете Linux, просто откройте терминал.

Синтаксис команды grep при поиске в одном файле выглядит следующим образом:

grep [опции] значение [ФАЙЛ]
  • grep — команда
  • [опции] — модификаторы команды
  • значение — поисковый запрос
  • [ФАЙЛ] — файл, в котором вы выполняете поиск

Вы можете просмотреть документацию и пояснения к различным опциям команды, введя в командной строке:

grep –help

Как видите, команда предлагает нам множество опций. Однако наиболее важными и часто используемыми являются параметры:

  • -i — поиск не будет чувствителен к регистру. То есть, если вы хотите найти слово «автомобиль», написанные как «АВТОМОБИЛЬ» слова тоже будут найдены.
  • -c — покажет только количество строк, содержащих поисковый запрос
  • -r — включает рекурсивный поиск в текущем каталоге
  • -n — выведет номера строк, содержащих поисковый запрос
  • -v — обратный поиск, выводит только строки, в которых нет указанного поискового запроса

Полезные примеры Grep

Давайте разберём несколько практических примеров команды grep.

Поиск слова в текстовом файле

Чтобы найти слово в текстовом файле, просто введите команду:

grep запрос файл
  • запрос — слово, которое вы ищете
  • файл — файл, в котором вы ищете слово

В нашем случае мы ищем слово command в файле с именем grep:

grep command grep

В выводе, слова, соответствующие поисковому запросу будут выделены следующим образом:

Найденные с помощью команды Grep слова, віделенніе краснім в терминале Linux

Поиск слово, игнорируя регистр

Для этого необходимо добавить опцию -i.

grep -i запрос файл

Вот и всё!

Количество найденных слов по целевому запросу

Используя эту команду, вы также можете узнать, сколько раз определённое слово используется в текстовом файле. Просто добавьте опцию -c.

grep -c запрос файл

Поиск по нескольким ключевым словам

До сих пор мы искали только одно слово. Однако grep позволяет использовать несколько поисковых запросов в одной команде. Вот как это выглядит:

grep запрос1 файл | grep запрос2 файл

Команда работает очень просто. Сначала мы ищем запрос1, а затем с помощью вертикальной черты и grep продолжаем поиск  второго слова — запрос2.

Поиск слова в нескольких файлах

Также вы можете искать слово в нескольких файлах одновременно с помощью одной команды:

grep -l слово_которое_ищете ./*

Файлы, содержащие слово, которое вы искали, будут выведены в терминал.

Как поменять пароль пользователя в WordPress через базу данных MySQL

Может возникнуть такая ситуация, что вы вдруг забыли пароль от своей учетной записи на сайте запущенным под CMS WordPress, или что еще хуже — вас взломали, и поменяли пароль. Почтовый сервер не отправляет письмо с ссылкой на востановление, а если отправляет, то не вам… Но, если у вас есть доступ к серверу MySQL, где находится используемая база данных сайтом с WordPress, то это не будет проблемой.

В данной статье предполагается, что у вас есть доступ через ssh, и вы знаете логин:пароль пользователя MySQL, который имеет доступ к базе данных вашего сайта на WordPress.

Смена пароля через MySQL

И так, приступим:

  1. Сперва нужно запустить консольный клиент MySQL. Делается это простой командой mysql:
    mysql -p -u имя_пользователя

    После выполнения этой команды у вас попросит пароль выбранного пользователя.

  2. Теперь нужно выбрать нужную базу данных. Предположим, она называется wordpress:
    use wordpress;

    При успешном выполнении команды будет выведено сообщение Database changed.
    Если вы НЕ ЗНАЕТЕ, имя базы, то у вас доступны следующие способы прояснить ситуацию:

    • Посмотреть список баз данных на MySQL сервере, выполним следующую команду:
      show databases;
    • Посмотреть имя базы данных в файле конфига WordPress, который называется wp_config.php и лежит в корневой директории сайта на WordPress:
      cat wp-config.php | grep DB_NAME
  3. Осталось разобраться какому пользователю нужно поменять пароль. Для этого достаточно просто знать адрес электронной почты, или логин. Выполняем в MySQL команду:
    • Для смены пароля пользователя с логином Sysadmin:
      UPDATE `wp_users` SET `user_pass` = MD5('12345678') WHERE `wp_users`.`user_login` = Sysadmin;
    • Для смены пароля пользователю с адресом электронной почты sysadmin@sysadmin.ru:
      UPDATE `wp_users` SET `user_pass` = MD5('12345678') WHERE `wp_users`.`user_email` = sysadmin@sysadmin.ru;

    Как только появится примерно следующее сообщение:

    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    То значит пароль пользователя был изменен.

Как заставить браузер Internet Explorer 8 поддерживать HTML5-элементы

К сожалению, Internet Explorer 8 и его более ранние версии не распознают эти новые элементы и не будут реагировать на применяемый к ним код CSS. Действительно,
если использовать HTML5 и просматривать веб-страницы в Internet Explorer 8, эта книга не принесет никакой пользы. Но… это не совсем так. Есть один способ
включения устаревших версий Internet Explorer в список
поддержки, заставляющий их понимать весь CSS-код,
применяемый к HTML5-элементам. Нужно просто поместить перед закрывающим тегом , находящимся в верхней части кода вашего HTML-файла, следующий фрагмент:

<!— [if lt IE 9]> <script src=»//html5shiv. googlecode.com/ svn/trunk/html5.js»></script>
<![endif]—>