DEV Community

Roshansahurk
Roshansahurk

Posted on

Xargs, Printenv, Nano and Pipe

Xargs

  • Xargs stands for extended arguments.
  • The function of Xargs is to build and execute command lines from standard input.
  • xargs is used in combination with rm, cp, mkdir, and other similar commands.
  • The synopsis for using Xargs command is:
xargs [options] [command [initial-arguments]] 
Enter fullscreen mode Exit fullscreen mode

Xargs executes the command one or more times with any initial-arguments followed by items read from standard input. The default command used by xarg is /bin/echo. Below are the some basic examples for a better understanding of xargs.

Combine Xargs

  • Let us consider the below two examples:

     find [location] -name "[search-term]" -type f | xargs [command] 
     find . -name '[search-term]' | xargs grep '[string-to-find-in-files]'
    

The first example above demonstrates using the find command to find all files. The list of files is then piped to xargs, which uses the reaspective command.
The last example above searched for all the files and piped them to xargs, which then executes the grep command on them.

Printenv

  • Printenv stands for print environment.
  • The function of the printenv is to print the values of the specified environment variables.
  • If no variable is specified, it prints out the name and value pairs.
  • The synopsis for using printenv command is:

    printenv [OPTION]... [VARIABLE]... 
    

Let's display the values of specific environment variables.

$ printenv HOME
 /root
$ printenv HOME SHELL
 /root 
 /bin/bash 
Enter fullscreen mode Exit fullscreen mode

Nano

  • Nano is a text editor loaded with several features such as opening multiple files, scrolling per line, undo/redo, syntax coloring, line numbering, and soft-wrapping overlong lines.
  • The synopsis for using nano command is:

    nano '[Complete-name-of-the-file-with-its-extesion]'
    

Use tab for autocompletion of file name

  • Commands are entered by using the Control (^) and the Alt or Meta (M-) keys.

Basic Commands :

Command Explanation
CTRL + V Scrolls page up.
CTRL + Y Scrolls page down.
CTRL + A Lets you jump to the beginning of the line.
CTRL + E Lets you to jump to the end of the line.
CTRL + G A Help window will pop out and show you all the available commands.
CTRL + O To save the file. Nano will ask you to edit or verify the desired file name.
CTRL + K It cuts the entire selected line to the cut buffer (similar to clipboard).
CTRL + U To paste the text from the cut buffer into the selected line.
CTRL + C Shows the current cursor position in the text (line/column/character).
CTRL + X To exit Nano text editor. It prompts a save request if you made any changes to the file.
ALT + A To select text. You can combine this command with CTRL + K to cut a specific part of the text to the cut buffer.

Pipe

  • Pipes are used for interprocess commmunication, i.e. it is used to combine two or more commands.
  • The output generated by the output acts as an input for another command.
  • Pipes are denoted by symbol |.
  • Below are few examples where pipes are used.

    cat [name-of-the-file] | less
    cat [name-of-the-file] | grep -v a | sort - r
    
  • Lets look at the output

    1. The cat command is used to open the contents of file.
    2. The less command shows the contents of file into a readable format.
    3. The grep command is used to find strings and values in a document.
    4. Sort command sorts out the contents of a file.
    5. In the first example the contents of a file are piped into the less command, which in further opens the file into a more readable format.
    6. In the last example the contents of the file are piped into grep. The output produced by grep is piped into sort. The output generated by grep will be specified words. The sort command will sort the output generated by grep in reverse order.
  • On success, zero is returned.

  • On error, -1 is returned.

  • You will see more about in above sections where pipes have been used with xargs.

Top comments (0)