7 Hidden Features of the Linux Terminal You May Not Know About

7 Hidden Features of the Linux Terminal You May Not Know About

The Linux terminal is far more than a tool for server management or administrative tasks; it serves as an incredibly flexible environment that fosters creativity, productivity, and even a bit of enjoyment. In this article, we’ll delve into seven exciting and practical applications of the Linux terminal that can enhance your daily computing experience.

1. Generate Random Numbers in the Terminal

There are times when you might require a random number, whether for creating passwords, generating sample data, or making quick decisions. Instead of navigating away from your terminal to find a web-based random number generator, you can leverage the built-in features of Linux.

A popular method is utilizing the $RANDOM variable in Bash. Each time you invoke this internal function, it produces a random integer between 0 and 32767. To generate a random number, simply type:

echo $RANDOM

Generating Random Number Using Random Variable

Executing this command yields a random number. Repeat the command to get another integer. If you need an integer within a specific range, such as 1 to 100, you can incorporate the modulo operator (%) for control:

echo $((RANDOM % 100 + 1))

Generating Random Numbers Between Specific Ranges

Here, the modulo operator restricts values to your specified range, while adding 1 ensures you avoid a zero outcome.

If you require multiple random numbers simultaneously, the shuf command is a great alternative:

shuf -i 1-1000 -n 5

Generating Five Random Numbers Between Specfic Ranges Using Shuf Command

This command will yield five random numbers from 1 to 1000.

For cryptographic applications or secure scenarios, consider using /dev/urandom. Here’s how to generate a robust random string suitable for passwords:

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1

Creating Alphanumeric Strong String Password

This command streamlines random data, retaining only alphanumeric characters, selecting the first 16 characters, and yielding a viable password option. You can chain it with other commands for your specific requirements.

2. Instantly Translate Any Text

Instead of opening your browser for a quick translation, why not utilize the terminal’s capabilities? The tool known as Translate Shell is ideal for translating text directly from the command line, employing engines like Google and Bing.

To get started, you may need to install it. For Debian/Ubuntu systems, use:

sudo apt install translate-shell

After installation, you can easily translate text. For example, to convert “Hello, world”into Spanish, execute:

trans: es "Hello, world"

Translating Any Text Using Translate Shell Tool

If you’re uncertain about the source language, you can exclude the language code. Translate Shell will automatically detect it. However, to specify both the source and target languages, you can use:

trans en:es "How are you?"

Translating While Specifying Source And Target Language

For streamlined responses without additional details, incorporate the -b option as follows:

trans -b en:es "How are you?"

Translating Text Without Getting Extra Details

Translation isn’t limited to single phrases; you can also translate entire files effortlessly. Consider this command for a configuration file with German comments:

trans: en < config.conf

This will prompt the translation within the terminal itself.

Moreover, Translate Shell has advanced features, including an interactive mode (trans -shell) for ongoing translations:

trans -shell

It also supports text-to-speech and dictionary modes for spoken translations and detailed definitions.

3. Create QR Codes Directly in the Terminal

QR codes simplify sharing URLs, Wi-Fi credentials, and other text. Remarkably, you can generate these codes right within the terminal using the qrencode tool.

To start, install qrencode via your package manager. For Debian or Ubuntu, execute:

sudo apt install qrencode

To create a QR code for the Google homepage that appears in your terminal, run:

qrencode -t ansiutf8 'https://www.google.com'

Creating QR Code In Terminal

You’ll see a text-based QR code immediately. If you prefer an image file for publications or presentations, use the -o option:

qrencode -o mywebsite.png 'https://www.google.com'

This command generates a PNG file in your current directory.

You can encode various types of data, such as text or Bitcoin addresses. For example, encode your Wi-Fi credentials with:

qrencode -t ansiutf8 "WIFI:S:MyNetwork;T:WPA;P:MyPassword;;"

The qrencode tool also offers customization options. Adjust the size with -s 10, tweak the error correction level with -l, or manipulate margin settings using -m.

4. Convert Files to Any Format from the Terminal

The Linux terminal excels at file conversion, handling a variety of formats, from images to audio and video files. Tools like FFmpeg, ImageMagick, and Pandoc allow you to convert almost any type of file.

Pandoc is a particularly powerful document converter. It can interpret and write numerous formats. To install it, use your package manager:

sudo apt install pandoc

Suppose you created a stunning document in Markdown and now need it in Word format. You can accomplish this with:

pandoc MyReport.md -o MyReport.docx

For image conversions, leverage ImageMagick’s convert command. After installing ImageMagick, you can convert and optimize images easily.

For instance, to turn JPG images into PNG, enter:

convert input.jpg output.png

And to resize an image, the syntax is as follows:

convert input.png -resize 50% small.png

For multimedia operations, FFmpeg is the premier choice. It can convert video formats, extract audio, or even create GIFs. To extract audio from a video file, use the command:

ffmpeg -i video.mp4 audio.mp3

Given its capabilities, many online converters utilize FFmpeg behind the scenes.

5. Schedule Reminders and Notifications

Your Linux terminal can function as a personal assistant, empowering you to schedule reminders and notifications whenever needed. The at command allows for one-time reminders scheduled for a future time. To use it, you might need to install and enable it using the following commands:

sudo apt install at sudo systemctl enable --now atd

Once enabled, you can create a reminder, like so:

echo 'notify-send "Stretch""Take a quick 5-minute stretch!"' | at now + 5 minutes

Creating Reminder Using At Command

This schedule triggers a desktop notification in five minutes. The notify-send function generates the alert, while at handles the scheduling. You can also specify times, like 10:00 AM tomorrow or noon on July 4.

Displaying Reminder On Notifications Center

For recurring reminders, consider using cron instead. Access your crontab with crontab -e and add a line similar to this:

0 9 * * 1-5 notify-send "Daily standup in 15 minutes!"

This will generate a notification every weekday at 9:00 AM, with the five fields indicating minute, hour, day, month, and weekday.

If you prefer a quick one-time reminder, you can execute a simple method using the sleep command:

(sleep 3600 && notify-send "Break time" "Get up and walk for 5 minutes") &

6. Preview Markdown Files in the Terminal

For those who frequently work with documentation, README files, or notes, Markdown is likely a familiar format. You can easily preview Markdown documents right in the terminal using various command-line utilities without the need to switch to a different application.

Glow is a remarkable tool for this purpose, providing rendered Markdown files complete with styling, tables, code blocks, and more detail.

To install Glow, you can fetch the latest version from its GitHub repository or install it through Snap:

sudo snap install glow

Using Glow is straightforward. Direct it to your Markdown file like thus:

glow README.md

Instead of sifting through plain text filled with symbols, you’ll be greeted by a beautifully formatted document that enhances readability.

7. Record and Share Terminal Sessions for Tutorials

Recording terminal sessions is highly useful for demonstrating commands or processes to others. Linux offers a variety of tools to simplify this task, and one of the best is Asciinema. Unlike traditional screen recorders, it captures text and timing data, creating clear, high-quality sessions that are easy to share.

Installation is straightforward on most distributions. For Debian/Ubuntu users, run:

sudo apt install asciinema

For Fedora/CentOS, use:

sudo dnf install asciinema

To commence recording, simply type:

asciinema rec mysession.cast

Once finished, either type exit or press Ctrl + D. You can replay the recorded session locally with:

asciinema play mysession.cast

For sharing, upload your session to the Asciinema server directly from the terminal:

asciinema upload mysession.cast

Your upload will generate a shareable URL, allowing anyone to view your terminal session on their browser in high detail. Additionally, for an interactive experience, you can check out the ttyd command-line tool to turn your terminal into a webpage.

Final Thoughts

By fully harnessing the capabilities of the Linux terminal, from file conversions to QR code generation and translation functions, you can significantly improve your efficiency and productivity. Embrace these tools and explore the numerous possibilities that the command line has to offer!

Source & Images

Leave a Reply

Your email address will not be published. Required fields are marked *