На Линуку можете пронаћи неколико наредби са необичним функционалностима. Једна таква наредба је сек која даје низ бројева у зависности од наведених аргумената.
Али шта можете учинити с услужним програмом за командну линију који баца гомилу цифара на вас? Сазнаћете у овом водичу.
Шта је наредба сек?
Као што је горе поменуто, наредба сек у Линуку брзо генерише секвенцу нумеричких знакова. Корисници могу да предају аргументе наредби да би генерисали различите комбинације бројева. На пример, увећану листу можете добити једноставним прослеђивањем додатног аргумента у сек.
Каква је практична употреба наредбе? Иако се сек можда не чини моћним алатом у целини, команду можете искористити тако што ћете је применити са другим услужним програмима за Линук. Такође можете да користите сек у басх скрипте да открије своју истинску моћ.
Како користити сек у Линуку
Сек узима само неколико аргумената, што га чини лако научивим алатом за било кога.
Основна синтакса
Основна синтакса наредбе је:
сек бројеви опција
...где Опције су заставице које можете одредити за позивање различитих метода наредбе и бројеви су аргументи које прослеђујете за генерисање нумеричког низа.
Генеришите листу бројева
Аргументи секвенце следе доњи формат уноса:
сек ласт
сек прво последње
сек први прираштај последњи
Када наведете само један број, сек га тумачи као горњу границу листе и генерише секвенцу која почиње од једног до наведеног броја.
сек. 5
Поменута команда ће дати следеће:
1
2
3
4
5
Када сек прими два броја као улаз, тумачи их као доњу и горњу границу низа. Да бисте генерисали листу бројева од четири до осам:
даље 4 8
Излаз:
4
5
6
7
8
Али када наредби пренесете три броја, она други аргумент тумачи као број прираста. На пример:
даље 3 2 13
Поменута наредба ће приказати листу бројева који почињу од три до 13 са кораком од два.
3
5
7
9
11
13
Додајте сепаратор између бројева
Подразумевано, сек користи знак новог реда као сепаратор листе. То је разлог зашто се сваки број на листи налази у посебном реду.
Можете променити ово подразумевано понашање и користити прилагођени сепаратор помоћу -с застава. Да бисте користили Раздобље (.) знак као сепаратор:
сек -с. 3 7
Излаз:
3.4.5.6.7
Имајте на уму да неки ликови попут Тилде (~) мора бити приложено у наводнике. То је зато што терминал користи Тилде знак за означавање /home директоријума, а то ће се одразити на излаз ако не додате наводнике.
сек -с ~ 3 7
Излаз:
3 / дом / 4 / дом / 5 / дом / 6 / дом / 7
С друге стране, када сепаратор умотате под наводнике:
сек -с '~' 3 7
Излаз:
3~4~5~6~7
Подешавање излазног формата
Такође можете променити формат излазне секвенце помоћу -ф застава. Подразумевано, сек извлачи стил формата из корисничког уноса. На пример, ако наведете бројеве 0,1 и 0,5, задати излаз ће имати формат броја са помичном тачком.
сек. 0,1 0,5
Излаз:
0.1
0.2
0.3
0.4
0.5
Можете одредити прилагођени излазни формат користећи разне спецификације претворбе као што су% а,% е,% ф,% г,% А,% Е,% Ф и% Г.
Можете користити % ф спецификатор ако желите да излаз следи формат броја са помичном зарезом.
сек-ф% ф 4 7
Излаз:
4.000000
5.000000
6.000000
7.000000
Да бисте изменили прецизност до две децимале:
сек -ф% 0,2ф 4 7
Излаз:
4.00
5.00
6.00
7.00
Такође можете потпуно трансформирати излаз тако што ћете навести предложак излаза. На пример, да бисте добили листу свих ИП адреса које почињу са 192.168.5.к:
сек -ф 192.168.5.% г 1 233
Излаз:
Да бисте додали облоге на излаз, можете користити -в застава. Тхе -в флаг одржава ширину излаза у складу са највећим бројем наведеним.
Да бисте генерисали низ бројева између један и 1.000 са прираштајем од 100 уз одржавање константне ширине:
сек -в 1 100 1000
Излаз:
0001
0101
0201
0301
0401
0501
0601
0701
0801
0901
Потражите помоћ за наредбени ред сек
Иако је сек једноставан за употребу, понекад корисници могу осетити потребу проверите страницу са упутствима за наредбу. Тхе --помоћ застава ће приказати сек ман страницу:
сек --помагање
Излаз:
Практични примери
Као што је већ поменуто, сек се првенствено користи са другим Линук наредбама, на пример, тоуцх и екпр.
Извршите математичке операције
Ако желите брзо да додате или одузмете одређени распон бројева, то можете лако учинити користећи сек унутра експр, која је Линук наредба која третира улаз као израз и приказује одговарајући излаз.
Да бисте додали све бројеве између један и 100:
израз `(сек-с" + "1 100)`
Команда сек генерише излаз на следећи начин:
1 + 2 + 3 + 4 + 5 + 6...
Екпр га третира као улазни израз и даје решење.
5050
Можете извршити друге математичке операције једноставном заменом сепаратора у наредби сек другим операторима.
Брзо креирајте више датотека
Ако желите да направите више датотека на Линуку чија имена следе сличан образац, то можете лако учинити користећи команда додира и даље.
На пример, да бисте креирали 10 датотека са именом филе-к.ткт, где Икс је број од један до 10:
додирните $ (сек -ф "датотека% г.ткт" 1 10)
Додир ће створити датотеке за вас у тренутку.
Имплементација сек у скрипте
Узмите у обзир да пишете а алат за мрежни скенер попут Нмап у басх, можда бисте желели да добијете листу свих отворених портова у мрежи. Али за то треба да пингујете сваки порт (укупно 65535) и анализирате одговор.
Да бисте уштедели мало времена, можете одабрати да користите сек и генерирати листу ИП адреса и комбинација портова које можете користити у својој скрипти.
Претпоставимо да желите да добијете листу свих портова уређаја са ИП адресом 1.2.3.4. Ево брзе наредбе за генерисање жељеног резултата:
сек -ф 1.2.3.4:%г 1 65535
Излаз:
Затим можете користити овај излаз као листу и прелазити кроз њега, проверавајући сваки порт помоћу своје скрипте и анализирајући да ли је отворен или не.
Колико брзо сек генерише бројеве?
Можда размишљате да ли можете постићи сличне резултате користећи фор петљу у басх, зашто одабрати сек за задатак? То је зато што стварна снага сека лежи у његовој брзини. Сек је бржи од било које друге наредбе која генерише секвенцу бројева на Линуку.
Можете чак да тестирате његову брзину помоћу услужног програма за време на Линуку. Да видимо колико времена треба сек-у да генерише листу од милион бројева почев од једног.
време сек 1000000
Гледајући излаз испод, можете видети да је требало само четири секунде да се генерише листа од милион бројева.
Снага Линук командне линије
Сек није једини алат у Линуку који се усредсредио на постизање брзих и тачних резултата. Иако можете да генеришете листу бројева помоћу петља фор у басх-у, није препоручљива пракса с обзиром на то колико су заправо брзе сек.
Линијска командна линија даје вам већу контролу над оперативним системом и његовим функционалностима, што је такође разлог зашто бисте требали почети да користите терминал преко ГУИ-а већ данас.
Линук командна линија има високо место када су у питању перформансе, контрола и једноставност употребе.
Прочитајте следеће
- Линук
Деепесх је млађи уредник за Линук у МУО. На Интернету пише информативни садржај више од 3 године. У слободно време ужива у писању, слушању музике и свирању гитаре.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!
Још један корак…!
Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.