вторник, 4 февраля 2014 г.

Linux tips & tricks

Массовые действия над файлами

rename 's/\.foo$/\.bar/' * - переименовать все файлы с расширением foo в bar
rename 's/^flag_//' * - убрать у всех файлов из начала имени flag_
rename 's/-[A-Za-z0-9_]+.m4a$/.m4a/' * - удаление фрагмента текста из имени файла
for f in *.jpg; do convert $f -resize 1024  - массовая конвертация картинок
find / -nmin -3 - файлы изменённые за последние 3 минуты
find ~/oggs/ -iname \*.mp3 -exec rm {} \; - удаление файлов
find . -maxdepth 1 -type f -exec sed -i 's/abc/abcd/g' {} \; - замена текста в найденых файлах

File encoding

file -bi file.txt - показать кодировку указанного файла

Бенчмарки

Iperf - измерение скорости сети между узлами
sar - статистика нагрузки системы

Linux

cat /etc/lsb-releast - какой дистрибутив линуха используется

cat /etc/issue - какой дистрибутив линуха используется

type - показать описание программ
cal - показ календарика
nl - фильтр для текста. Добавляет номера строк

Alt+SysRq+ - последовательность нажатий при зависании системы
R - возвращение управления клавиатуре
E - прекращение процессов
I - остановка процессов с ошибками
S - синхронизация дисков
U - размонтирование дисков
B - ребут

dpkg

dpkg -S /path/file - показать какому пакету принадлежит файл

Утилиты

bc - текстовый калькулятор
cloc - подсчет строчек кода в проекте
watch -n 1 cat /proc/mdstat - с интервалом в одну секунду выводить значение команды в консоль
hexdump -C имя_файла - показать в 16ом виде файл
echo '1' | sudo tee /proc/any_file - запись данных от судо в запрещенный файл
tac  - аналог cat, только выводит текст наоборот
sudo !! - выполнить прошлую команду с судо

Системные действия

strace -f bash -c ‘/bin/echo foo | grep bar’ - просмотр лога системных вызовов
cat /proc/cmdline - параметры загрузки ядра
cat /proc/partitions - разделы в системе
sysctl -a - показать список переменных ядра
их также изменять. например обнулить
sysctl -w net.ipv4.ip_forward или sysctl net.ipv4.ip_forward=0
эти настройки системы хранятся в /etc/sysctl.conf и оттуда же читаются при перезагрузке
sysctl -p или -w - прочесть файл с настройками и применить
gpasswd -a <USER> games - добавить юзера в группу. Сделать релог

Работа с дисками

smartctl - показать smart дисков
blkid - показать ид дисков
iotop - просмотр загрузки ввода вывода в системе
dd if=/dev/sda of=mbr.bin bs=512 count=1 - сохранение mbr
dd if=mbr.bin of=/dev/sda bs=512 count=1 - восстановление mbr

Сеть

ab -kc 10 -t 30 http://localhost/app.php/esi/get_navbar - тестирование нагрузки сайта
ethtool - инфа о сетевой карте, дуплекс, скорости.
mtr - замена пингу и трейсроуту
ifconfig/ip - новая/старая утилиты для настройки уровня ip
ifconfig eth0 192.168.0.12 - сменить ip
ip link show dev eth0 или ip link - показать инфу по интерфейсам
ip a - показать адреса
ip -4 a - все адреса ip4
ip route - показать маршрут
ip route del default - удалить маршрут
ip route add default via 213.222.12.34 - установить гейт
sudo pi -4 a add 192.168.1.12 dev eth0 - можно присвоить на одну карту разные адреса. (ifconfig не может)

Grep

http://habrahabr.ru/post/229501/ - статья о grep в FreeBSD
есть параметр годный --color
grep -v ^# имя_файла - не выводить (-v) строки, начинающиеся с #
grep ^#.*ip_forward - уже через регэкспы
grep -o '/[0-9]*' file.html - выводить совпадения, а не строки.
cat access.log | grep '200 [0-9]\{5\}' > jslow.txt

Скрипты

#!/usr/bin/env ruby -w - пишем в начале файла. и юзаем как скрипт
 

Включаем все bashcomp в gentoo
eselect bashcomp enable --global  $(eselect bashcomp list | sed -e 's/ //g'| cut -d']' -f2 | sed -e 's/\*//'| xargs)

for x in $(eselect bashcomp list | sed -e 's/ //g' | cut -d']' -f2 | sed -e 's/\*//');do eselect bashcomp enable $x --global;sleep 0.5s;done

for i in `eselect bashcomp list | awk '{print $2}'`; do eselect bashcomp enable $i; done

Комментариев нет:

Отправить комментарий