Ако се опитате да прехвърлите изхода от една Linux команда в друга, може да се сблъскате с грешки, когато командата се провали, защото списъкът с аргументи е твърде дълъг.

За щастие има команда в системите на Linux, която правилно форматира аргументите на командите. Нарича се xargs и ето как да го използвате.

Защо да използвате xargs?

Това, което xargs прави, е, че получава стандартен изход и го форматира, така че друга команда да може да го получи. Докато много помощни програми на Linux могат да приемат стандартен вход, някои приемат само аргументи като вход.

Те може да се провалят, ако се опитате да пренасочите стандартния вход към командата. Някои команди все още приемат само определен брой аргументи и xargs се грижи за това вместо вас.

Как да използвате xargs в Linux

Можете да извикате xargs по този начин:

xargs [команда]

xargs следи дължината на аргументите, които командата приема, и форматира стандартния вход, за да изведе списък с аргументи, който да предостави на командата. Когато достигне границата на командния ред, ще стане извикайте командата отново с останалите аргументи.

instagram viewer

Използване на xargs в тръбопроводи

Полезността на xargs идва, когато се използва в тръбопроводи. Един измислен пример би бил изпращане на cat to echo, което е команда, която приема само аргументи, а не стандартен вход.

котка | ехо

Това ще накара ехо да отпечата каквото и да напишете на един ред веднага щом го ударите Ctrl + D.

xargs се използва най-често с командата find, with командата find се използва за изброяване на файлове и xargs, използвани за обработка на списъка с файлове по някакъв начин.

Синтаксисът на командата find е достатъчно космат, така че защо да въвеждате друга команда в него? Ако използвате find's "-exec", той ще стартира нов процес всеки път, когато търси файл в директорията. Използването на xargs е по-ефективно.

Може да искате да изтриете файлове в директория, които са по-стари от определена дата, като например 90 дни. За да направите това, ще използвате този тръбопровод:

намирам. -mtime +90 -print | xargs rm

xargs помага на командите на Linux да обработват правилно въвеждането

С xargs вече можете да сте сигурни, че командите ще приемат аргументи по начина, по който очаквате. В комбинация с find, това ще ви позволи бързо да обработвате файлове на вашата машина.

Възможността за пренасочване на вход и изход в обвивката е една от трайните силни страни на Linux като плод на философията на Unix. Ако искате да научите повече за това как работи пренасочването на вход/изход в Linux, прочетете нататък.

Разбиране на стандартния I/O в Linux

Подобрете своя работен поток от команден ред в Linux, като съберете множество команди заедно, като използвате стандартен I/O.

Прочетете Следващото

Дялтуителектронна поща
Свързани теми
  • Linux
  • Linux команди
  • Linux Bash Shell
За автора
Дейвид Делони (Публикувани 81 статии)

Дейвид е писател на свободна практика, базиран в северозападната част на Тихия океан, но първоначално произхожда от района на залива. Той е ентусиаст на технологиите от детството. Интересите на Дейвид включват четене, гледане на качествени телевизионни предавания и филми, ретро игри и събиране на записи.

Още от Дейвид Делони

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате