Шутка в командной строке
Обновлено: 22.11.2024
1) Открой программу Блокнот.
Скопируй и вставь вот этот текст:
setlocal enabledelayedexpansion
:: Отключаем вывод.
echo off
:: Задаём заголовок окошка.
title It's Matrix
color 02
:: Отчищаем экран командной строки.
cls
:: Ставим метку для создания замкнутого цикла.
:prodolgit
:: Задаём цикл со сменой цветов в случайном порядке, но в заданном диапазое.
set stroka=
for /l %%i in (0,1,78) do (
set /a vremenno=!random!%%2
set stroka=!stroka!!vremenno!
)
set /a generate=!random!%
if %generate%==0 (color 0A) else (color 02)
:: Выводим матрицу на экран.
echo %stroka%
:: Переходим по метке.
goto prodolgit
echo off
title It's Matrix
color 02
cls
:prodolgit
set stroka=
for /l %%i in (0,1,78) do (
set /a vremenno=!random!%%2
set stroka=!stroka!!vremenno!
)
set /a generate=!random!%
if %generate%==0 (color 0A) else (color 02)
echo %stroka%
goto prodolgit
@echo off
pause
color a
mode 1000
A;
@echo %random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%%random%
Goto a
Пишем в открывшемся окошке без кавычек: "cmd.exe"
В новом открывшемся окошке пишем без кавычек: "color a"
Далее пишем без кавычек: "cd \"
Далее пишем без кавычек: "tree" и нажимаем Enter☻☺☻
(цвета можно менять от: "a" до "f" и цифрами от "0" до "7" но только до запуска
4. stdin прямо из командной стоки
Не поняли, что это была за фигня (<<<)? Баш позволяет слать процессам стандартный ввод прямо из командной стоки.
Плюсы: позволяет писать команды с командной стоки, даже для альтернативно дружественных программ, которые требуют ВСЁ со стандартного ввода. [Грозит кулаком MySQL-ю].
Совместимость: bash 3 и новее.
Минусы: всё ещё немало систем с bash 2.
3. Ловля утечек памяти через крон
Утечки памяти в линуксе нечасты, но бывают, особенно с бета-дистрибутивами или самодельным софтом. Часто выявить программу с подтёком не так-то просто. В линуксе есть программа Out-Of-Memory, позволяющая отыскивать и убивать такие процессы, но пока она сработает, система уже может начать сильно тормозить — настолько, что вы теряете терпение и перезагружаетесь.
Обычный способ узнать потреблении памяти программой это запуск top (или его графического эквивалента, наподобие System Monitor), и проверка Размера Резидентной Части (Res или RSS) интересующих процессов (память, отведённая программой, вам не нужна — утечки происходят от использования, а не от отведения, и программа может отвести (allocate) кучу памяти без вреда для системы). Большинство граждан не в курсе, что top можно запускать пакетно, что означает, что можно использовать cron и top для создания простого отчёта об использовании программой памяти:
запустите top
кнопками < и > добейтесь сортировки процессов по RSS (размер резидентной части)
нажмите W для записи конфигурации в файл
добавьте крон-задачу:
crontab — <<< '*/15 * * * * top -n 1 -b'
И каждые 15 минут будете получать письмо с выводом топа.
Плюсы: куда как проще чем ставить софт наподобие SAR.
Совместимость: любой линукс.
Минусы: некоторые ограничения на количество одновременных задач.
5 Удаление встроенных приложений Windows 10
Многие пользователи желают избавиться от предустановленных приложений в Windows 10. Сделать это можно всего одной командой.
Get-AppxPackage | Remove-AppxPackage
Эта команда удаляет все приложения из магазина, а также сам магазин.
Бонус
Чтобы не вводить команды постоянно, можно написать нужную команду в обычном блокноте и сохранить этот файл в формате cmd. Для того, чтобы запустить команду, просто двойным щелчком откройте сохраненный файл.
3 IP адрес
Команда ipconfig показывает информацию о вашем IP адресе.
Также, с помощью команды ipconfig /flushdns можно очистить кэш DNS, который постоянно накапливается в вашей системе. Эта команда может решить некоторые проблемы с интернетом, такие как ошибка ERR_NAME_NOT_RESOLVED и другие
Следующий анекдот
Если под никсами - то сохранить это в файл, сказать на него chmod +x, запустить.
8. Изменился ли файл с момента поставки
Это простой способ узнать, не менялся ли файл из пакета. Сперва определите пакет, в который входит файл:
Потом разверните оригинальный пакет при помощи tar (DPKg) или трюка с rpm, данного выше (RPM), и запустите:
diff /etc/foo/foo.conf /tmp/deleteme/etc/foo/foo.conf
И найдите разницу.
Плюсы: быстрое нахождение плохих конфиг-файлов (strace тут тоже может пригодиться)
Совместимость: любой линукс.
Минусы: у вас остаётся больше времени на работе, чтобы читать Digg.
6. Простое добавление публичного ключа на удалённый хост
Для логина но новый хост по ключу надо сначала на этот хост записать публичную часть ключа. Конечно, это можно делать вручную, но вскоре это надоедает (и почему у ssh нет authorized_keys.d…), а ведь для этого есть специальная утилита:
ssh-copy-id -i .ssh/id_rsa.pub hostname
Введите пароль последний раз, ssh скажет:
Now try logging into the machine, with “ssh ‘hostname’”, and check in:
to make sure we haven’t added extra keys that you weren’t expecting.
Попробуйте. До свидания, пароли!
7. Распаковка RPM без дополнительного софта
На дебиано-подобных дистрибутивах это не проблема, потому что .deb файлы есть просто .ar архивы. Каждое руководство по РедХату упоминает rpm2cpio (идёт по умолчанию с rpm), но если честно, я не способен запомнить синтаксис cpio, античный формат, сейчас использующийся только, мм, пожалуй, только рпм-ом.
Эта команда ставит пакет во временную директорию, но не меняет RPM базу (только во временной диркетории, которую вы потом сотрёте). Поскольку в ней нет больше ничего, мы запрещаем зависимости и скрипты.
rpm -ivh –root /tmp/deleteme –nodeps –noscripts package.rpm
Следующий анекдот
Плюсы: легко запоминается, и проще чем «послать ошибки на вывод, а затем всё это в файл».
Совместимость: любой линукс.
9. — Первым делом отключите связь… Ало? ало? идиоты!
Ковыряетесь в файрволе удалённо? Нервно как-то, правда? Не то нажал, и связь потеряна.
Почему бы не откатить ошибку? Зарядите откат того, что вы собираетесь менять.
at now + 5 minutes <<< 'cp /etc/ssh/sshd_config.old /etc/ssh/sshd_config; service sshd restart'
Если ошибётесь, процесс выполнится и восстановит установки. А если не ошибётесь, запустите atq, и atrm <номер задачи> для удаления.
Плюсы: прикрывает задницу на случай ошибки.
Совместимость: любой линукс, в котором разрешён at, а он обычно да.
Минусы: помнить, что это надо сделать перед рискованным действием.
10. Открыт ли порт
Хотите проверить, запущен ли сетевой сервис? Netcat с опцией -w (сколько ждать) будет полезен:
nc -w 3 server ssh <<< ' '
Соединиться на ssh порт на хосте по имени server, ждать 3 секунды перед тем, как послать, мм, ничего, и закрыть соединение. Был ли порт открыт, будет отражено в статусе nc.
if nc -w 3 localhost 22 <<< ''&> /dev/null
then
echo 'Port is open'
else
echo 'Port is closed'
fi
А вот ещё несколько бонусных трюков… (Перевод воспоследует при благорпиятных отзывах на эту часть.)
2. Распараллеливание циклов
Почти любому администратору знакома мощь циклов — как сделать что-либо для одного, сотни или тысячи пользователей, файлов, машин, процессов, или чего угодно. Большинство строят циклы последовательно, так что каждое задание завершается перед стартом следующего. Но можно посылать каждое задание в фон, и не ждать его завершения:
for HOST in $(< ListOfHosts); do ssh $HOST ’sudo apt-get update’ & done
Может вам нужна куча ssh-туннелей одновременно:
for HOST in $(< ListOfHosts); do ssh -C -N -R 80:localhost:80 $HOST & done
Иногда вы не хотите видеть вывод сразу — в этом случае, сохраните по лог-файлу на каждой машине, а с помощью другого цикла потом их соберите.
Плюсы: сберегает метрическую туеву хучу (⅔ имперской туевой хучи) времени ожидания завершения.
Совместимость: любой линукс.
Минусы: у баша должны быть ограничения на количество одновременных задач, но пока автор (и переводчик) в них не упёрся.
4 Информация о системе
Команда systeminfo показывает информацию о вашей системе, например версия windows, дата установки, версия BIOS, разрядность системы, а также некоторые технические характеристики.
Следующий анекдот
Большинство пользователей Windows не используют командную строку. Но в ней есть множество интересных и полезных возможностей, которые делают использование компьютера проще.
Для запуска командной строки нажмите комбинацию win+R, в появившемся окне напишите cmd и нажмите enter.
1 Отключение компьютера через определенное время
Иногда бывает полезным задать компьютеру команду, чтобы он выключился сам через определенный промежуток времени. Для этого открываем командную строку и пишем команду:
shutdown /s /t 60
Где 60 - это время до выключения компьютера в секундах, задайте нужное значение.
После ввода команды нужно нажать Enter
2 Сканирование системных файлов и выявление проблем
SFC /scannow
После запуска этой команды будет произведено сканирование системных файлов и исправление в случае обнаружения повреждений.
5. Установить первичный пароль, который надо поменять
Многие организации имеют хорошие и надёжные политики паролей. Пароли хранятся на виндозных машинах. Линукс либо не не покрывается политикой, либо политика не соблюдается — люди не в курсе авторизации под линукс (большинство граждан не понимают PAM, а линуксовые админы часто не осознают, что линукс может чудесно авторизоваться через Active Directory), и было время, что разработчики OpenSSH не любили PAM (это с тех пор поменялось).
Поставить пароль, который должен быть поменян при первом логине:
umask u=rw,go=
openssl rand -base64 6 | tee -a PasswordFile | passwd –stdin joe
chage -d 0 joe
Пароль сохранён в файл PasswordFile, который доступен для четния только под своим акаунтом. После этого сообщите начальный пароль пользователю по надёжному каналу, вроде телефона или зашифрованного письма (Переводчику приходилось встречать систему, при которой начальный пароль высылался по обычному емэйлу. Пикантность была в том, что это был не фейсбук и не одноклассники. Это был онлайн-банк.)
Плюсы: пользователи не будут с начальным паролем бесконечно.
Совместимость: любой линукс с обновлённым OpenSSH (если ваши пользователи заходят в первый раз по SSH). РедХат утверждает, что это всё ещё не работает в RHEL 3/4, но после приложения их обновлений, всё хорошо.
Минусы: нет.
Читайте также: