51 Useful Lesser Known Commands for Linux Users

Linux command line is attractive and fascinating, and there exists a flock of Linux user who are addictive to command Line. Linux command line can be funny and amusing, if you don’t believe me, you can check one of our article below.

  1. 20 Funny Commands of Linux or Linux is Fun in Terminal
Lesser Known Commands for Linux
51 Lesser Known Commands for Linux

As well as extremely powerful, at the same time. We brought to you, five articles on “Lesser Known Linux Commands” consisting of 50+ lesser known Linux command. This article aims at concatenating all those five articles as one, and lets you know, what is where, in brief.

11 Lesser Known Commands – Part I

This article was highly appreciated by our readers, which contains simple yet very important commands. The article summaries as.

  1. 1. sudo!! : Forgot to run a command with sudo? You need not re-write the whole command, just type “sudo!!” and the last command will run with sudo.
  2. 2. Python -m SimpleHTTPServer : Creates a simple web page for the current working directory over port 8000.
  3. 3. mtr : A command which is a combination of ‘ping’ and ‘traceroute’ command.
  4. 4. Ctrl+x+e : This key combination fires up, an editor in the terminal, instantaneously.
  5. 5. nl : Outputs the content of text file with lines Numbered.
  6. 6. shuf : Randomly selects line/file/folder from a file/folder.
  7. 7. ss : Outputs Socket Statistics.
  8. 8. Last: Want to know history of last logged in users? This command comes to rescue here.
  9. 9. curl ifconfig.me : Shows machine’s external IP Address.
  10. 10. tree : Prints files and folders in tree like fashion, recursively.
  11. 11. Pstree : Prints running processes with child processes, recursively.

11 Lesser Known Useful Linux Commands – Part I

The great response, received on this article, and requests to provide another list of ‘Lesser Known Linux Commands‘, from our readers, we wrote next article of the series is:

10 Lesser Known Commands – Part II

This article again was warm welcomed. The summary of the article, below is enough to describe this.

  1. 12. <space> command : A space before a bash command, is not recorded in history.
  2. 13. stat : Shows the status information of a file as well as of a file system.
  3. 14. <alt>. And <esc>. : A tweak which put the last command argument at prompt, in the order of last entered command, appearing first.
  4. 15. Pv : outputs simulating text, similar to hollywood movies.
  5. 16. Mount | column -t : Lists mounted file system, in nice formatting with specification.
  6. 17. Ctrl + l: clear shell prompt, instantaneously.
  7. 18. curl -u gmail_id –silent “https://mail.google.com/mail/feed/atom” | perl -ne ‘print “\t” if //; print “$2\n” if /(.*)/;’. This simple scripts, opens up, unread mail of an user, in the terminal itself.
  8. 19. screen : Detach and Reattach, long running process from a session.
  9. 20. file : Outputs information, regarding types of file.
  10. 21. id : Print User and Group Id.

10 Lesser Known Linux Commands – Part 2

Getting over 600 Likes on different social Networking sites and many thankful comments, we were ready with our third article of the series is:

10 Lesser Known Commands – Part 3

This article summaries as below:

  1. 22. ^foo^bar : Run last command with modification, without the need of rewriting the whole command again.
  2. 23. > file.txt : Flush the content of a text file, in a single go, from the command prompt.
  3. 24. at : Run a particular command, time based.
  4. 25. du -h –max-depth=1 Command : Outputs the size of all the files and folders within current folder, in human readable format.
  5. 26. expr : Solve simple mathematical calculations from the terminal.
  6. 27. look: Check for an English word, from the dictionary, in case of confusion, right from the shell.
  7. 28. yes : continues to print a sting, till interrupt instruction is given.
  8. 29. factor: Gives all the possible factors of a decimal number.
  9. 30. ping -i 60 -a IP_address : Pings the provided IP_address, and gives audible sound when host comes alive.
  10. 31. tac : Prints content of a file, in reverse order.

10 Lesser Known Commands for Linux – Part 3

Our Hard-work was paid by the response we received and fourth article of the series was:

10 Lesser Known Linux Commands – Part IV

Need not say, again this article was appreciated. The article summarises below:

  1. 32. strace : A debugging tool.
  2. 33. disown -a && exit Command : Run a command in background, even after terminal session is closed.
  3. 34. getconf LONG_BIT Command : Output Machine Architecture, very clearly.
  4. 35. while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done & : The script outputs date and time on the top right corner of shell/ terminal.
  5. 36. convert : converts the output of a command in picture, automatically.
  6. 37. watch -t -n1 “date +%T|figlet” : Show animated digital clock at the prompt.
  7. 38. host and dig : DNS lookup utility.
  8. 39. dstat : Generates statistics regarding system resource.
  9. 40. bind -p : Shows all the shortcuts available in Bash.
  10. 41. Touch /forcefsck : Force file-system check on next boot.

10 Lesser Known Effective Linux Commands – Part IV

10 Lesser Known Linux Commands- Part V

The commands from here was getting biased towards scripts, yes single line powerful shell scripts and we thought to provide at least one more article on this series.

  1. 42. lsb_release : Prints distribution specification information.
  2. 43. nc -ZV localhost port_number : Check if a specific port is open or not.
  3. 44. curl ipinfo.io : Outputs Geographical Information, regarding an ip_address.
  4. 45. find .-user xyz : Lists all file owned by user ‘xyz’
  5. 46. apt-get build-dep package_name: Build all the dependency, automatically while installing any specific package.
  6. 47. lsof -iTCP:80 -sTCP:LISTEN. The script, outputs all the service/process using port 80.
  7. 48. find -size +100M : This command combination, Lists all the files/folders the size of which is 100M or more.
  8. 49. pdftk : A nice way to concatenate a lot of pdf files, into one.
  9. 50. ps -LF -u user_name : Outputs Processes and Threads of a user.
  10. 51. Startx — :1 (This command creates another new X session).

10 Lesser Known Useful Linux Commands- Part V

That’s all for now. Don’t forget to give us your valuable feedback in our comment section. This is not an end of lesser known Linux commands, and we will keep them bringing to you, from time to time, in our articles. I’ll be coming with another article, very interesting and useful for our readers. Till then stay tuned and connected to Tecmint.com.

If you read this far, tweet to the author to show them you care. Tweet a thanks
Ronav Saive
A Passionate GNU/Linux Enthusiast and Software Developer with over a decade in the field of Linux and Open Source technologies.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

44 thoughts on “51 Useful Lesser Known Commands for Linux Users”

  1. Hi Everyone,

    If you had problem in “loop login” after execute “startx


    mv .Xauthority .Xauthority.bak
    in tty1 (ctrl+alt+F1)

    thanks tecmint <3 .)

  2. Hello Ravi,

    I have Linux server of 64 cores. 32 and 32 core each and connected. Whenever I submit a simulation job for 32 CPUs, so everything is fine. I track its process use. It shows in each line each CPU using 100~99%, and at the 3rd line %CPU=49.5. but when I submit more jobs (previous 32) + 24 CPUs, I guess it goes to the same node, and reduce the performance of the simulation.

    I checked using top command. it shows in first 2-3 lines, %CPU=49.5, but there are now 54 CPUs are running with 100~99% utilization. So, my question is that what command should I type to know whether there are 2 nodes or different devices in my Linux server.

    When I type the command iostat, it shows following output:

    Linux3.10 (Redhatsrv) -x86_64 (64 CPU)
    avg-cpu    %user     %nice   %system    %iowait     %idle
                     46.72       0.51     0.50           0.0             52.27
    Device:     tps      kB_read/s   kB_wrtn/s    kB_read      kb_wrtn   
    sda           4.69     1.41            79.83            969225      5493
    sdb           1.23   68.00          160.22        46795308

    If there are 2 device sda and sdb, then how can I submit job to sdb device, Give your expert opinion.

  3. Python -m SimpleHTTPServer is deprecated and python2 specific

    python is normally linked to python3, so you need.

    # python -m http.server  
    # python3 -m http.server
  4. On your `nc -ZV` example, do you rather mean `nc -z` (or possibly `nc -zv`)?

    And for Pv — are you referring to pv (aka pipe viewer) or literally Pv?

  5. On bash 4.1.2, I’m not seeing that a space before a bash command omits that command from history. Can you please elaborate on your explanation?

    • Include this line:

      export HISTCONTROL=ignorespace;

      In /etc/profile or write it directly at the command prompt

      If the variable HISTCONTROL includes value “ignorespace“, lines which begin with a space character are not saved in the history list.

  6. Regarding the first command, you can try “sudo!!” a thousand times, it does not work. I looked it up, and it’s “sudo !!” (with a space).


Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.