Најмоћнија карактеристика Линук Басх љуске је њена способност да заобилази датотеке и ефикасно преусмерава њихов улаз и излаз. Линук користи специјалне знакове или симболе познате као метазнакови који додају посебно значење команди љуске у погледу претраге датотека и повезивања команди.
Метазнакови су од помоћи при навођењу, уклањању и копирању датотека на Линук-у. Међутим, функција сваког метазнака се разликује у зависности од наредбе са којом га користите.
Овај чланак пружа детаљан водич о различитим типовима метакарактера у Линуку. На крају, објашњавамо како ови специјални знакови помажу у повезивању и проширењу команди.
Линук љуска вам омогућава да сачувате притиске на тастере док куцате команде коришћењем метакарактера између датотека или имена директоријума. Ови знакови вам помажу да упутите на групу датотека или директоријум за листање, премештање или обављање других активности.
Ово су неки метазнакови који се подударају са датотекама које Линук шкољка може тумачити:
- * (звездица): Одговара једнократном или вишеструком појављивању знака
- ? (Знак питања): Одговара једном карактеру или појављивању обрасца
- [ ] (Угласте заграде): Одговара било којем броју, симболу или абецеди раздвојеним цртицом наведеним у углатим заградама
Идеалан начин за вежбање метакарактера у Линуку је креирање нове празне фасцикле унутар /tmp именик.
судо мкдир /тмп/мета
Сада идите у /tmp/meta именик користећи наредбу цд и креирајте нове празне датотеке користећи додир, као што следи:
додирните аппле.ткт цидер.сх винегар.пхп цат.ткт лемон.ткт јуице.сх цатфисх.сх
Користите следеће команде да бисте тестирали „*" метазнак и прикажи излазе:
је ц*
Излаз:
цатфисх.сх цат.ткт цидер.сх
лс ц*х
Излаз:
сом.ш јабуковача.ш
лс *р*
Излаз:
цидер.сх винегар.пхп
судо рм *п*
Горе поменута команда ће избрисати све датотеке које садрже слово "п" у свом називу. Можете да проверите промену користећи команду лс на следећи начин:
лс
Излаз:
цатфисх.сх цат.ткт јабуковача.сх јуице.сх лемон.ткт
Ево неколико примера "?" метазнак за подударање шаблона:
Је ли?*
Излаз:
аппле.ткт
лс ц? т*
Излаз:
цатфисх.сх цат.ткт
Последња команда одговара било којој датотеци која почиње са ц и има т као треће слово (цат.ткт, цатфисх.сх, итд.).
Сада користите [ав]* опцију са командом лс да бисте приказали све датотеке које почињу са било којим од њих а или в, као што следи:
лс [ав]*
Излаз:
аппле.ткт винегар.сх
Можете да измените горњу команду да наведе само датотеке које се завршавају словом т:
лс [ац]*[т]
Излаз:
аппле.ткт цатфисх.ткт цат.ткт
Слично, можете користити слова раздвојена цртицом да дефинишете опсеге и датотеке са списком на следећи начин:
лс [а-ј]*
Излаз:
аппле.ткт цатфисх.сх цат.ткт цидер.сх јуице.сх
За боље разумевање преусмеравања у Басх-у, сваки процес у Линуку има дескрипторе датотека, познатих као стандардни унос (стдин/0), стандардни излаз (стдоут/1), и стандардна грешка (стдерр/2). Они одређују порекло уноса команде и одлучују где ће послати излаз и поруке о грешци.
Метазнакови преусмеравања вам помажу да измените ове радње преусмеравањем тока У/И садржаја. Генерално, Линук љуска чита командни унос са тастатуре и записује излаз на екран. Преусмеравање улаза омогућава команди да прочита садржај из датотеке уместо са тастатуре, док преусмеравање излаза чува излаз команде у датотеку.
Другим речима, метазнакови за преусмеравање Линук датотека омогућавају вам да преусмерите садржај на (>) и од (<) датотеке. Три примарна метазнака за преусмеравање су:
- <: Усмерава садржај датотеке на команду. На пример, излаз команде за мање .басхрц исто је као мање < .басхрц.
- >: Усмерава излаз команде у датотеку. Команда лс /етц > листе.ткт чува излаз у датотеку листс.ткт.
- >>: Додаје излаз команде садржају датотеке.
вц је скраћеница за број речи и можете је користити да прикажете разлику између датотеке пре и после додавања са излазом.
Повезан: Разумевање стандардног И/О-а на Линук-у
Метазнак проширења заграда вам омогућава да проширите знакове преко директоријума, имена датотека или других аргумената командне линије. На пример, можете направити нови директоријум грлити унутар /tmp фолдер и креирајте скуп датотека користећи команду додиром на следећи начин:
судо мкдир /тмп/браце; цд /тмп/браце
тест додиром{1,2,3,4,5}
Сада можете да проверите да ли је додир креирао датотеке или не користећи команду лс.
лс
Излаз:
тест1 тест2 тест3 тест4 тест5
Можете да наведете више листа да бисте генерисали имена датотека на основу комбинација елемената на листи. На пример:
додирните {јабука, јабуковача, сирће}.{воће, течност, кисело}
додирните {а, б, ц}.{1,2,3}
Последња команда ће креирати следеће датотеке у тренутном директоријуму:
Прва команда користи два скупа заграда за повезивање имена датотека у сваком скупу са другим. Последњу команду можете написати и као додирните {а..ц}.{1..3} да одредите опсег између а и ц и 1 и 3.
Поред креирања датотека, можете користити и проширење заграда за уклањање или копирање датотека на друге локације.
Ево табеле неких метакарактера који се морају познати за повезивање и проширење команди са њиховим именима, описом и примерима за вежбање:
Име | Опис | Пример |
---|---|---|
цев (|) | Повезује излаз команде као улаз са другом командом. | мачка /етц/пассвд | греп роот |
Тацка зарез (;) | Омогућава извршавање узастопних команди, једну за другом. | цд /етц; лс -ла; цхмод +к /тмп/сцрипт.пхп |
амперсанд (&) | Покреће процесе или команде у позадини. | пронађи / -перм -у=с -типе ф & |
долар ($) | Проширује аритметички израз и прослеђује га љусци | ецхо "укупни фајлови у овом директоријуму су: $(лс | вц -л)" |
Нулл Редирецтион (2>) | Усмерава стандардне поруке о грешци у /дев/нулл датотеку | ваша_команда 2>/дев/нулл |
циркумфлекс (^) | Одговара било ком шаблону који почиње изразом праћеним ^ | цд /етц/ссх; лс | греп ^с |
Линук метакарактери су такође познати као џокер знакови који додају посебно значење командама и контролишу њихово понашање. Метазнакови оптимизују радни учинак корисника у продуктивном окружењу док раде око датотека/директорија и повезују/проширују команде Линук љуске.
Осим тога, метакарактери су такође градивни блокови регуларних израза. Такође, учење о метакарактерима и њиховој употреби је важна вештина ако желите да постанете про-Линук корисник.
Желите да убрзате свој Питхон радни ток са неколико једноставних команди? Регуларни изрази су твој пријатељ.
Реад Нект
- Линук
- Линук Елементари
- Линук Басх Схелл
Румаиса је слободни писац у МУО. Носила је много шешира, од математичара до ентузијасте информационе безбедности, а сада ради као аналитичар СПЦ. Њена интересовања укључују читање и писање о новим технологијама, дистрибуцијама Линука и било чему око информационе безбедности.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили