Уважаемые посетители блога linuxweb.in, если вы хотите, чтобы сайт продолжал существовать отправьте любую сумму через PayPal на taras.shkodenko@gmail.com
Ubuntu apt list установленные пакеты
Чтобы посмотреть список установленных пакетов можно использовать команду apt list.
Например, чтобы найти пакеты в названии которых встречается строка php:
# apt list --installed |grep php
libapache2-mod-php5/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 amd64 [installed]
php-auth-sasl/trusty,now 1.0.6-1 all [installed,automatic]
php-mail/trusty,now 1.2.0-6 all [installed]
php-mail-mime/trusty,now 1.8.8-1 all [installed]
php-net-smtp/trusty,now 1.6.1-1 all [installed,automatic]
php-net-socket/trusty,now 1.0.14-1 all [installed,automatic]
php-pear/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 all [installed,automatic]
php5/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 all [installed,automatic]
php5-cli/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 amd64 [installed]
php5-common/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 amd64 [installed]
php5-curl/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 amd64 [installed]
php5-gd/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 amd64 [installed]
php5-json/trusty,now 1.3.2-2build1 amd64 [installed]
php5-mcrypt/trusty,now 5.4.6-0ubuntu5 amd64 [installed]
php5-mysql/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 amd64 [installed]
php5-readline/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.29 amd64 [installed]
OSX команды для работы с буфером обмена
Чтобы скопировать текст в буфер обмена в терминале OSX можно воспользоваться командой pbcopy:
pbcopy < ~/.ssh/id_rsa.pub
Чтобы вставить текущее содежримое буфера обмена в терминале используйте команду:
pbpaste
split разбить большой файл по строкам
Чтобы разбить большой файл на меньшие, можно воспользоваться командой split
Например, если у вас есть большой файл big_log_file.log с миллионами строк (размером в несколько гигабайт) и нужно поделить его на меньшие файлы по 1000000 строк каждый, то это можно сделать такой командой:
split -l 1000000 big_log_file.log split_log_prefix_
Где -l количество строк в каждом файле, big_log_file.log — имя лог файла, а split_log_prefix_ — префикс имени для разбиваемых файлов.
В результате разбиение вы получите несколько меньших по размеру файлов с именами split_log_prefix_aa, split_log_prefix_ab и split_log_prefix_ac по 1000000 строк каждый.
ssh-copy-id логин без пароля по ssh
Для того, чтобы подключаться к серверу без пароля можно воспользоваться командой ssh-copy-id, которая копирует публичный ключ в файл $HOME/.ssh/authorized_keys на сервер, к которому вы планируете подключаться.
Ключ можно предварительно сгениерировать с помощью команды ssh-keygen например, так:
# ssh-keygen -t rsa -b 4096 -C "your@email.com"Пример использования команды ssh-copy-id ниже:
# ssh-copy-id -i /root/.ssh/id_rsa.pub user@hostOrIp
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user@hostOrIp's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user@hostOrIp'"
and check to make sure that only the key(s) you wanted were added.
Вместо user — поставляете имя пользователя, который будет заходить без пароля, а вместо hostOrIp хост или IP-адрес целевого сервера
Приостановить или заморозить процесс kill
В случае, если необходимо приостановить или заморозить какой-то процесс, а потом продолжить его работу помогут команды ps и kill
С помощью ps мы можем узнать PID процесса:
# ps auxwww |grep -v grep |grep -i 'process_name'
Команда должна вернуть запись содержащую такие колонки:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
Далее приостанавливаем подходящий процесс командой *:
# kill -STOP PID
Чтобы продолжить остановленный процесс необходимо выполнить команду *:
# kill -CONT PID
* Вместо PID нужно подставить цифровой идентификатор процесса.
Подсчитать количество файлов в папке
Чтобы подсчитать количество файлов в папке с огромным количеством файлов можно выполнить команды:
# cd /path/to/folder_with_huge_number_of_files1 # ls -f | wc -l
или для любитерей Perl есть еще такой способ:
# cd /path/to/folder_with_huge_number_of_files2 # perl -e 'opendir D, "."; @files = readdir D; closedir D; print scalar(@files)."\n"'
Linux find: найти файлы в папке, которые изменялись сегодня
Чтобы в Linux найти файлы в папке, которые изменялись сегодня необходимо выполнить find с такими параметрами:
# find /path/to/search -mtime -1
Linux bash: переменная окружения TMOUT автоматический Log Out пользователя
Чтобы реализовать автоматический выход из сессии Linux bash через 5 минут отсутсвия активности необходимо добавить такие настройки:
# set a 5 min timeout policy for bash shell TMOUT=300 readonly TMOUT export TMOUT
в файл ~/.bash_profile или /etc/profile
Чтобы отключить таймаут необходимо выполнить команду
# export TMOUT=0
или
# unset TMOUT
Учтите тот факт, что readonly переменная может быть отключена только админ пользователем root в глобальном файле конфигруации bash /etc/profile или пользовательском файле настройки bash ~/.bash_profile.
Linux bash: конвертировать строку разделенную проблеми в массив
Недавно возникла необходимость конвертировать первый параметр, который передавался bash скрипту из строки разделенной пробелами в массив.
Это можно сделать так:
#/bin/bash declare -a PARAMS="( $1 )" # нумерация элементов массива начинается с индекса со значением 0 PARAM1="${PARAMS[0]}" PARAM2="${PARAMS[1]}"