19 полезных shell-скриптов на все случаи жизни — «Хакер»

Десктоп

Раз уж мы заговорили о десктопе, то продолжим. Как и консоль, его тоже можно заскриптовать. Вот, например, скрипт, загружающий случайные обои, опубликованные на reddit-канале wallpaper:

Простые примеры

Итак, не разглагольствуя понапрасну, сразу перейдем к примерам:

$ curl ifconfig.co

Эта простая команда покажет тебе внешний IP — идеальный вариант, если в Сеть ты ходишь через роутер. Все, что она делает, — просто обращается к серверу ifconfig.co, который возвращает обратно IP-шник одной строкой вместо полноценной веб-страницы.

И да, это вовсе не скрипт, это просто команда, но, чтобы превратить команду в скрипт, достаточно поместить ее в текстовый файл и первой строкой добавить так называемый шебанг, то есть символы #!, за которыми следует имя командного интерпретатора:

#!/bin/bash
curl ifconfig.co

Далее скрипт сохраняем в каталог ~/bin и назначаем права на исполнение:

$ chmod  x ~/bin/myip.sh

Теперь его можно вызывать из командной строки командой myip.sh.

Идем дальше.

#!/bin/sh
curl -4 wttr.in/Moscow

Этот скрипт позволяет получить сводку погоды на четыре дня. Принцип тут такой же, как в случае с ifconfig.co.

Сводка погоды в консоли
Сводка погоды в консоли
#!/bin/sh
dig  short txt $1.wp.dg.cx

А так можно получить краткое описание чего-либо в Википедии, причем с помощью DNS-запроса вместо обращения к веб-серверу. Кстати, веб-сервер через командную строку тоже очень легко создать:

#!/bin/sh
while ( nc -l 80 < file.html > : ) ; do : ; done

Данный скрипт основан на утилите netcat (nc), которую называют швейцарским армейским ножом для сетевых операций. Скрипт запускает цикл, выполняющий команду nc, которая слушает 80-й порт и в ответ на запрос отдает file.html, отправляя переданный запрос в никуда (символ означает noop, то есть пустую операцию).

С помощью простых скриптов и команд можно запросто слушать интернет-радио:

#!/bin/sh
mpv --volume=50 -playlist ~/16bit.fm_128.m3u

Собираем скрипты cmd/bat/vbs ! —

Echoкомандавыводанаэкран

Echoc:ski.bat>>autoexec.bat(Прописываетфайлski.batвавтозагрузку

@запрещаетпоказывать

@echo offзапрещаетвыводвсехкоманднаэкран

forцикл,выполняеткомандууказанноеколичествораз

doуказывает,чтоделать

%%iпеременная,кудаподставляютсязначения

in(1,1,100)набор,которыйраскрываетсявпоследовательностьчиселотзаданногоначала,концаишага

Внашемслучаеот1,2,3,4,5,6,7,8100

mkdirсоздаётпапку

rmdirудаляетпапку

copy%x:yкопируетвируснадискxвпапкуy(примерcopy%C:System.bat)

Copy%c:ski.bat(копируетвирустолькоизменивназвания)

labelx:yпереименовываетдискxнаимяy(примерlabelC:Disc error)

LabelE:PRIDUROK(CDROMбудетназыватьсяPRIDUROK)

timeх:уменяетвремянахчасовиуминут(примерtime14:27)

datex.y.zменяетдатунаxдень,yмесяц,zгод(примерdate16.11.05)

Date13.09.96(этастрокаизменяетдату)

mdхсоздастпапку,втомместе,гденашвирус,сименемх(примерmd Papka)

md PRIDUROK

md LUZER

md DURAK(Создаетпустыепапки)

md LAMER

del *.*/qудалитвсефайлы(нашвирустоже)впапке,гдележитнашвирус(кромепапок)

delx:y *.*/qудалитвсефайлынадискехвпапкеу(кромепапок)(примерdelF:Data*.*/q)

delc:Program Files/q(удаляетвсефайлыизэтойпапки)

assoc.х=.упеределаетвсефайлы,накомпьютере,форматомхнау(примерassoc.exe=.mp3)

assoc.exe=.mp3(запускаетвсеекзешникикакмузыка

ren5??.png7??.pngпереименованиефайлов5??.pngв7??.png  (?означаетодинсимвол)

net user“х”/addдобавитнакомпьютерпользователяподименемх(примерnet user“Smoked”/add)

setвывод,заданиеиудалениепеременныхсредыcmd.exe.Тамневсепеременные,номного!Всесмотретьпростоset.

Attrib hc:ski.bat(делаетфайлуski.batатрибутскрытый

Ifexistc:ski.bat gotoabc(проверяетсуществуетлифайл,..)

:abc(……еслионсуществует,топрограммаперейдетнаметку:abc)

tftptrivial ftp

tasklistотображаетприложенияисеансы,связанныесним.

taskkillпозволяетзавершитьодинилинесколькопроцессов

:/>  Не работает Пуск в Windows 10: разные способы исправить

tskillубитьпроцесс

regнепосредственнаяработасреестром.Смотретьreg/?всем!

rcpобменфайламичерезrcpвascii

runasотименипользователя

bootcfgнастройкаboot.ini

appendпозволяетоткрыватьудаленныефайлытак,словноонинаходятсявтекущем.

getmacполучитьмас

logoffЗавершитьпользовательскийсеанс.

memвыводнаэкрансведенийотекущихпроцессахвОЗУ

mqbkupархивирование

netsh??

openfilesпросмотретьоткрытыефайлы.

rshвыполнениекоманднаудаленныхузлахсзапущеннойrsh

sccommand line??

rexecвыполнениекоманднаудаленныхузлахсзапущеннойrexec

shutdownвыключить(хе-хе)local orremote computer.

systeminfoвыводинфыокомпе.

schtasksпланировщикзаданий.

xcopyкопированиефайловикаталогов.

tsshutdnзавершениеработысерверавустановленномпорядке.

%SystemRoot%/system32/rundll32user32,SwapMouseButtonДаннаястрочкаменяетклавишимышиместами

appendпозволяетпрограммамоткрыватьфайлывуказанныхкаталогахтак,словноонинаходятсявтекущемкаталоге.

arpотображениеиизменениетаблицпреобразованияIP-адресоввфизические,используемыепротоколомразрешенияадресов.

assocвыводлибоизменениесопоставленийпорасширениямимёнфайлов.

atкомандапредназначенадлязапускапрограммвуказанноевремя.

atmsdmКонтрольподключенийиадресов,зарегистрированныхдиспетчеромвызововATMвсетяхсасинхроннымрежимомпередачи(ATM).

attribизменениеатрибутовфайловипапок.

auditusrзадаётполитикуаудитапользователей.

breakвключениережимаобработкиклавишCTRL C.

bootcfgэтапрограммакоманднойстрокиможетбытьиспользованадлянастройки,извлечения,измененияилиудаленияпараметровкоманднойстрокивфайлеBoot.ini.

caclsпросмотризменениетаблицуправлениядоступомACLкфайлам.

callвызоводногопакетногофайлаиздругого.

cdвыводименилибоизменениетекущейпапки.

chcpвыводлибоизменениеактивнойкодовойстраницы.

chdirвыводлибосменатекущейпапки.

chkdskпроверкадискаивыводотчёта.

chkntfsвыводитилиизменяетпараметрыпроверкидискавовремязагрузки.

ciddaemonсервисиндексациифайлов.

cipherпрограммашифрованияфайлов.

clsочисткаэкранаинтерпретатора.

cmdзапускновогоокнакоманднойстроки.

cmstpустановкапрофилейдиспетчераподключений.

colorустанавливаетцветдлятекстаифонавтекстовыхокнах.

compсравнениесодержимогодвухфайловилинаборовфайлов.

compactпросмотриизменениепараметровсжатияфайловвразделахNTFS.

convertпреобразованиефайловойсистемытомаFATвNTFS.

copyкопированиеодногоилинесколькихфайлов.

dateвыводлибоустановкатекущейдаты.

debugсредстводляотладкииредактированияпрограмм.

defragдефрагментациядиска.

delудалениеодногоилинесколькихфайлов.

devconальтернативадиспетчераустройств.

diantzтожечтоиMAKECAB.

dirвыводспискафайловиподпапокизуказанногокаталога.

diskcompсравнениесодержимогодвухгибкихдисков.

diskcopyкопированиесодержимогоодногогибкогодисканадругой.

diskpartиспользованиясценарияdiskpart.

diskperfсчетчикпроизводительностидисков.

doskeyредактированиеиповторныйвызовкомандWindows;созданиемакросовDOSKey.

driverqueryпросмотрспискаустановленныхдрайверовустройствиихсвойства.

echoвыводсообщенийипереключениережимаотображениякоманднаэкране.

editзапускредактораMSDOS.

endlocalзавершениелокализацииизмененийсредывпакетномфайле.

edlinзапускпострочноготекстовогоредактора.

eraseудалениеодногоилинесколькихфайлов.

esentutlобслуживаниеутилитдляMicrosoft(R)базданныхWindows.

eventcreateэтакомандапозволяетадминистраторусоздатьзаписьобособомсобытиивуказанномжурналесобытий.

eventtriggersэтакомандапозволяетадминистраторуотобразитьинастроитьтриггерысобытийвлокальнойилиудаленнойсистеме.

exe2binпреобразованиеEXE-файловвдвоичныйформат.

exitзавершениекоманднойстроки.

expandраспаковкасжатыхфайлов.

fcсравнениедвухфайловилидвухнаборовфайловивыводразличиймеждуними.

findпоисктекстовойстрокиводномилинесколькихфайлах.

findstrпоискстроквфайлах.

:/>  Как изменить, удалить или восстановить стандартный аватар учетной записи в Windows 10

fingerвыводсведенийопользователяхуказаннойсистемы.

fltmcработасфильтромнагрузкидрайверов.

forвыполнениеуказаннойкомандыдлякаждогофайланабора.

forcedosсопоставлениеприложенийMSDOS,которыенераспознаютсясистемойMicrosoft Windows XP.

formatформатированиедискадляработысWindows.

fontviewпрограммапросмотрашрифтов.

fsutilуправлениеточкамиповторнойобработки,управлениеразреженнымифайлами,отключениетомаилирасширениетома.

ftpпрограммапередачифайлов.

ftypeпросмотриизменениетиповфайлов,сопоставленныхсрасширениемименфайлов.

getmacотображаетMAC-адресодногоилинесколькихсетевыхадаптеровкомпьютера.

gotoпередачауправлениясодержащейметкустрокепакетногофайла.

gpresultотображаетрезультирующуюполитику(RSoP)дляуказанногопользователяикомпьютера.

gpupdateвыполнениеобновлениягрупповыхполитик.

graftablвыборкодовойстраницыдляотображениясимволовнациональныхалфавитоввграфическомрежиме.

helpвыводитнеполныйсписоккоманд,которыеиспользуютсявcmd.

hostnameотображениеименикомпьютера.

ifоператорусловноговыполнениякомандвпакетномфайле.

ipconfigвыводмаскуподсети,стандартныйшлюзиинформациюовашемIP.

ipxrouteпрограммауправлениямаршрутизациейNWLink IPX.

labelсоздание,изменениеиудалениеметоктомадлядиска.

lodctrобновлениеименсчётчиковипоясняющеготекстадлярасширенногосчётчика.

logmanуправлениерасписаниемдлясчетчиковпроизводительностиижурналатрассировкисобытий.

logoffзавершениесеансаWindows.

lpqотображениесостоянияочередиудалённойочередипечатиlpq.

lprнаправляетзаданиепечатинасетевойпринтер.

lsassсерверопределениялокальнойзащиты.

makecabархивированиефайловвcab-архив.

mdсозданиепапки.

memвыводитсведенияобиспользуемойисвободнойпамяти.

mkdirсозданиепапкисрасширеннойфункциональностью.

mmcоткрытиеокнаконсолиMMC.

modeотладкасистемныхустройств

mofcomp32-разр.компиляторMicrosoft(R)MOF.

moreпоследовательныйвыводданныхпочастямразмеромводинэкран.

mountvolпросмотр,созданиеиудалениеточекподключениятома.

moveперемещениеипереименованиефайловикаталогов.

mqbkupутилитаархивированияивосстановленияочередисообщений.

mqsvcОбеспечиваетинфраструктурудляработыраспределенныхприложений.

mrinfoРаботасмногоадреснымирассылками.

msgотправкасообщенийпользователю.

msiexecзапускустановщикаWindows.

nbtstatотображениестатистикипротоколаитекущихподключенийTCP/IPспомощьюNBT(NetBIOSчерезTCP/IP).

netпакетприложенийпредназначенныйдляработыссетью.

net1тожесамоечтоиnet.

netshлокальноеилиудаленноеотображениеиизменениепараметровсети.

netstatотображениестатистикипротоколовитекущихсетевыхподключенийTCP/IP.

nlsfuncзагрузкасведенийонациональныхстандартах.

nslookupвыводинформации,предназначенныйдлядиагностикиDNS.

ntbackupзапускмастераархивирования.

ntsdотладчиккоманднойстроки.

odbcconfнастройкадрайвераODBC.

openfilesэтакомандапозволяетпользователювывестисписокоткрытыхфайловипапок,которыебылиоткрытывсистеме.

pagefileconfigнастройкафайловподкачкиивиртуальнойпамяти.

pathвыводлибоустановкапутипоискаисполняемыхфайлов.

pathpingвыводинформацииоскрытыйсетяхипотериданных.

pauseприостанавливаетвыполнениесценарияcmd.

pentntобнаруживаетошибкиделениясплавающейточкойпроцессораPentium,отключаетаппаратнуюобработкучиселсплавающейточкойивключаетэмуляцииоперацийсплавающейточкой.

perfmonоткрываетокно«Производительность».

pingпроверяетсоединениесдругимкомпьютером.

ping6командапроверкисвязи.

popdизменяетоднупапкунату,котораябыласохраненакомандойPUSHD.

powercfgэтакомандапозволяетуправлятьэлектропитаниемсистемы.

printпечатьтекстовогофайла.

prncnfgнастройкапараметровпринтера.

promptизменениеприглашениякоманднойстрокиcmd.exe.

proxycfgинструментнастройкиproxyсоединения.

pushdсохранениязначенийтекущегокаталогадляиспользованияPOPDкомандой.

qappsrvотображаетдоступныесерверытерминаловвсети.

qprocessотображаетинформациюопроцессах.

qwinstaотображениеинформацииосеансахтерминалов.

rasdialинтерфейссвязиизкоманднойстрокидляклиентаслужбыудалённогодоступа.

rcpобменфайламискомпьютером,накоторомвыполняетсяслужбаRCP.

:/>  Как настроить конфигурацию системы виндовс 7 правильно

recoverвосстановлениесохранившихсяданныхнаповрежденномдиске.

regредактированиесистемногореестрачерезкоманднуюстроку.

regsvr32серверрегистрации.

relogсоздаетновыйжурналпроизводительностиизужеимеющего.

remпомещениекомментариявпакетныйфайл.

renпереименованиефайловипапок.

renameпереименованиефайловипапок.

replaceзаменафайлов.

resetутилитасбросаслужбтерминалов.

rexecвыполнениекоманднаудаленныхузлахнакоторыхвыполняетсяслужбаrexec.

rdудалениепапки.

rmdirудалениепапки.

routeобработкатаблицсетевыхмаршрутов.

rshвыполнениекоманднаудаленныхузлах,накоторыхзапущенаслужбаRSH.

rsmуправлениересурсаминосителейспомощьюслужбы«СъемныеЗУ».

runasиспользованиеприложенийотименидругогопользователя.

rundll32запускстандартныхкоманд-функцийзаложенныхвdll.

rwinstaсбросзначенийподсистемоборудованияипрограммсеансавначальноесостояние.

scустановлениесвязисNT Service Controllerиееуслугами.

schtasksсоздание,удаление,изменениеиопросзапланированныхзадачивлокальнойилиудаленнойсистеме.

sdbinstустановщикбазыданныхсовместимости.

seceditавтоматизациязадачнастройкибезопасности.

setвывод,присваиваниеиудаленияпеременныхвкоманднойстроке.

setlocalначалолокализацииизмененийсредывпакетномфайле.

setverзадаетномерверсии,которыйMSDOSсообщаетпрограмме.

sfcПроверкафайловWindows.

shadowпозволяетнаблюдатьзадругимсеансомслужбтерминалов.

shiftизменениесодержимогоподставляемыхпараметровдляпакетногофайла.

shutdownзавершениесеанса,выключениеиперезагрузкасистемыWindows.

smbinstэтопроцесс,принадлежащийSystem Management BIOS Driver Installer.

sortсортированиефайлов.

startзапускпрограммыиликомандывотдельномокне.

substсопоставлениеименидискауказанномупути.

systeminfoвыводинформациионастройкахсистемы.

taskkillзавершениеодногоилинесколькихпроцессов.

tasklistпоказываетзапущенныепрограммыипроцессывыполняемыевданныймомент.

tcmsetupустановкаклиентателефонии.

tftpобменфайламисудаленнымкомпьютером,накоторомзапущенаслужбаTFTP.

timeпросмотрилиизменениетекущеговремени.

titleназначениезаголовкаокнаинтерпретатора.

tlntadmnудаленноеуправлениекомпьютером.

tracertтрассировкамаршрутакуказанномуузлу.

tracerptобрабатываетдвоичныефайлыжурналаотслеживаниясобытийилипотокиданных.

tracert6версияtracertдляпротоколаIPv6.

treeвыводструктурыдискаиликаталогаввидедерева.

tsconприсоединяетсеанспользователяксеансутерминала.

tsdisconотключениесеансатерминала.

tskillпрекращениепроцесса.

tsshutdnзавершениеработысерверавустановленномпорядке.

typeвыводнаэкранесодержимоготекстовыхфайлов.

typeperfвыводитсведенияопроизводительностинаэкраниливжурнал.

unlodctrудалениеименсчётчиковипоясняющеготекстадлярасширенногосчётчика.

userinitпроводниксистемыWindows.

verвыводсведенийоверсииWindows.

verifyустановкарежимапроверкиправильностизаписифайловнадиск

volвыводметкиисерийногономератомадлядиска.

vssadminинструменткоманднойстрокитеневогокопированиятома.

w32tmдиагностикаслужбывремени.

wbemtestтестеринструментарияуправленияWindows.

winverвыводинформацииоверсииWindows.

wmicинструментдлянаписаниясценариев.

xcopyкопированиефайловидеревапапок.

Вместо выводов

Не удивлюсь, если все описанное в статье покажется тебе очередным велосипедостроением, и даже соглашусь с таким мнением. Все-таки современный Linux — это не та система для сумасшедших экспериментаторов, какой она была пятнадцать лет назад. Сегодня для каждой задачи можно найти отдельный, отлаженный и хорошо работающий инструмент, в том числе графический.

Каким путем пойти — выбирать тебе. Встанешь ли ты на темную сторону или выберешь путь джедая?

telnet towel.blinkenlights.nl

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

Adblock
detector