Настольная книга по Linux: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 46:
=== Алиасы и функции .*shrc ===
<source lang="bash">
# Поиск запущеных приложений по имени
alias psgrep='ps aux | grep --color $(echo $1 | sed «s/^\(.\)/[\1]/g»)'
* '''alias dirsz='du -s `pwd`/* | sort -nr | cut -f 2- | while read a; do du -sh «$a»; done'''' — покажет отсортированный размеру список директорий в `pwd`▼
# или
alias psgrep='ps aux | egrep -i $1'
* '''alias hh='history | egrep -i''' — Поиск в истории команд по ключевому слову без учета регистра▼
* '''alias p='ping 8.8.8.8 -A'''' — Пинг публичного dns-сервера▼
# Список отсортированных по размеру директорий в текущей рабочей директории
* '''myip(){ lynx --dump 2ip.ru | egrep -o <nowiki>'([[:digit:]]{1,3}\.){3}[[:digit:]]{1,3}' | uniq</nowiki>; }''' — Выводит внешний ip-адрес вашего интернет-шлюза▼
▲
* '''myip(){ curl -s checkip.dyndns.org | sed 's/[^0-9.]//g' }''' — менее костыльный вариант▼
# Открыть доступ к директории через HTTP-сервер в библиотеке Python.
# Сервер слушает порт 8000.
alias sharethis='python -m SimpleHTTPServer'
[[ $1 = '' ]] || [[ $1 = '-h' ]] || [[ $1 = '--help' ]] && echo "usage: $0 <program1..programN>" && return 1▼
for process in $*; do ▼
▲
{ kill -9 `pidof $process` 2>/dev/null && echo "$process" killed; } ||▼
alias hh='history | egrep -i'
{ echo $process not found: seems like nothing to kill; }▼
done▼
alias p='ping 8.8.8.8 -A'
* '''gr(){ egrep -v '^#|^$' $1; }''' — Вывести в стандартный вывод файл без комментариев и пустых строк (например, gr /etc/fstab)▼
* '''alias pwg='pwgen -cnB 8 10 | while read PASS; do echo -n -e «$PASS\t»; echo -n «$PASS» | md5sum | cut -f1 -d" «; done'''' — Генерирование 10-ти запоминаемых восьмизначных паролей (pwgen -B 8 10), c цифрами (-n), с буквами из верхнего регистра (-с) и хэш md5 к нему (linux only). Хэш подходит для mysql▼
# Выводит внешний IP-адрес вашего интернет-шлюза
▲
# или
init_path="/etc/rc.d"▼
if [ -f ${init_path}/${1} ]; then service=${1}▼
# или
if [ "$uid" != "0" ] && {command -v sudo 2>&1 >/dev/null;}; then▼
myip(){ curl ifconfig.me }
sudo_cmd="sudo"▼
fi▼
# Убить процессы по имени исполняемого файла
ki() {
case "$2" in▼
▲ [[ $1 = '' ]] || [[ $1 = '-h' ]] || [[ $1 = '--help' ]] && echo "usage: $0 <program1..programN>" && return 1
force-restart)▼
▲ for process in $*; do
▲ done
}
▲
# Пример: gr /etc/fstab
gr(){ egrep -v '^#|^$' $1; }
▲
alias pwg='pwgen -cnB 8 10 | while read PASS; do echo -n -e "$PASS\t"; echo -n "$PASS" | md5sum | cut -f1 -d" "; done'
# Эмуляция утилиты service в Red Hat
service()
{
▲ init_path="/etc/rc.d"
▲ if [ -f ${init_path}/${1} ]; then service=${1}
▲ sudo_cmd="sudo"
fi
▲ case "$2" in
${sudo_cmd} ${init_path}/${service} force-restart;;
${sudo_cmd} ${init_path}/${service} force-reload;;
${sudo_cmd} ${init_path}/${service} reload;;
${sudo_cmd} ${init_path}/${service} setup;;
${sudo_cmd} ${init_path}/${service} start;;
${sudo_cmd} ${init_path}/${service} stop;;
${sudo_cmd} ${init_path}/${service} restart;;
${sudo_cmd} ${init_path}/${service} setup;;
echo "usage: $0 <service name> <action>" ;;
esac
}
screenshot() {
scrot -s "%Y-%m-%d_$wx$h.png" -e 'ompload $f ; rm $f'
}
</source>
=== Скрипты ===
|