расставляй правильно приоритеты и не отвлекайся на мелочи

Linux. Мои любимые команды.

Решил поделиться своими любимыми командами командного интерпретатора, которыми я пользуюсь практически каждый день, может их и не так много, но они удовлетворяют львиную долю моих потребностей.

Забыл оговориться, я использую сервера на базе Linux Fedora Core 4.

1. Поиск, смотри предыдущую заметку.

2. Просмотр всех запущенных процессов, с возможность увидеть всю строку запуска демонов:

ps -ef —cols=256 | more

3. Просмотр только нужных мне процессов, с полной строкой их запуска:

ps -ef —cols=256 | grep -E «http|mysql»

4. Просмотр топ списка самых активных пользователей (IP) сетей проходящих через мой firewall:

iptables -nxvL | grep -E «192.168.1.|192.168.2.» | sort -n -k 2,2

5. Найти номера всех PPP сессий с адреса содержащего строку 56.222:

ifconfig|grep -B 1 56.222|grep -oE ‘ppp[0-9]+’

6. Ловим tcp сессии с адреса 192.168.1.2 приходящие на порт 80 (www), по возможности переводим адреса в имена (-a) :

tcpdump -a host 192.168.1.2 and tcp port 80

Подсмотренные полезные шел-скрипты в одну строку:

— Самая популярная команда. Подсчитывает из истории выполнения команд количество выполнений и сортирует результат:

history|awk ‘{print $2}’|awk ‘BEGIN {FS=»|»} {print $1}’|sort|uniq -c|sort -rg

— Замена строк в файлах

find -type f -name «*.[ch]» -print0 | xargs -r0 — perl -pi -e «s#str1#str2#g»

— Plaintext из Man

man foo | col -b >foo.mantxt

— Подсчитывает количество файлов, которые содержат тексты выходных программ на СС++

find . -name «*.c» -or -name «*.cc» | wc

Находит выходные тексты программ на С и выводит на экран имена всех файлов-заголовков(stdio.h,…) которые содержатся в них

find . -name «*.c» -or -name «*.cc» | xargs grep ‘#include’ | sed ‘s/#include//g’

— Расчитывает максимальную глубину дерева каталогов файловой системы.

find . -type d | awk -F ‘/’ ‘BEGIN {d=0;} NF > d {d = NF} END {print «max depth=» d »
«;}’

— Замена пробелов в именах файлов и каталогов на символ подчеркивания

for x in *; do mv «$x» ${x// /_}; done

— Перейти в директорию dir, запустить command и автоматически вернуться назад

(cd dir; command)

А здесь команды которые я редко использую и всегда забываю :), но они бывают очень необходимы:

  • mkdir — Создать директорию
  • rd -rf — Удалить директорию, рекурсивно и ни о чем не спрашивая
  • which ifconfig — Выдать полный путь, в примере, к ifconfig

Полезные ссылки:
An A-Z Index of the Linux BASH command line

Ответить
Обязательные поля помечены *