# Xargs Cheatsheet The `xargs` command is used to execute a command with arguments read from standard input or from a file. ## Basic Syntax ``` command | xargs [options] executable ``` - `command`: The command whose output will be used as input for `xargs`. - `executable`: The command to be executed with arguments. ## Examples - Copy all files with a specific extension to a new directory: ``` find /path/to/source -type f -name "*.txt" | xargs -I {} cp {} /path/to/destination ``` - Delete all files with a specific extension: ``` find /path/to/directory -type f -name "*.log" -print0 | xargs -0 rm ``` - Find all files with a specific name and change their permissions: ``` find /path/to/directory -type f -name "file.txt" -print0 | xargs -0 chmod 644 ``` - Execute a command with arguments from a file: ``` cat file.txt | xargs -I {} command {} ``` ## Options | Option | Description | | ------ | ----------- | | `-I` | Replaces occurrences of a placeholder string with the input arguments. | | `-0` | Uses null characters as the delimiter instead of whitespace. | | `-n` | Limits the number of arguments passed to the command. | | `-P` | Limits the number of parallel processes. | | `-t` | Displays the command being executed. | ## Resources - [Official `xargs` command manual](https://man7.org/linux/man-pages/man1/xargs.1.html) - [Linuxize `xargs` command tutorial](https://linuxize.com/post/xargs-command-in-linux/)