Home Cloud & Networking Working with Linux ??? Quick Hacks for the Command Line

Working with Linux ??? Quick Hacks for the Command Line

By Bogdan Vaida , Petru I»ôfan
books-svg-icon Book
eBook $35.99 $24.99
Print $43.99
Subscription $15.99 $10 p/m for three months
$10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
BUY NOW $10 p/m for first 3 months. $15.99 p/m after that. Cancel Anytime!
eBook $35.99 $24.99
Print $43.99
Subscription $15.99 $10 p/m for three months
What do you get with a Packt Subscription?
This book & 7000+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook + Subscription?
Download this book in EPUB and PDF formats, plus a monthly download credit
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with a Packt Subscription?
This book & 6500+ ebooks & video courses on 1000+ technologies
60+ curated reading lists for various learning paths
50+ new titles added every month on new and emerging tech
Early Access to eBooks as they are being written
Personalised content suggestions
Customised display settings for better reading experience
50+ new titles added every month on new and emerging tech
Playlists, Notes and Bookmarks to easily manage your learning
Mobile App with offline access
What do you get with eBook?
Download this book in EPUB and PDF formats
Access this title in our online reader
DRM FREE - Read whenever, wherever and however you want
Online reader with customised display settings for better reading experience
What do you get with video?
Download this video in MP4 format
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with video?
Stream this video
Access this title in our online reader
DRM FREE - Watch whenever, wherever and however you want
Online reader with customised display settings for better learning experience
What do you get with Audiobook?
Download a zip folder consisting of audio files (in MP3 Format) along with supplementary PDF
What do you get with Exam Trainer?
Flashcards, Mock exams, Exam Tips, Practice Questions
Access these resources with our interactive certification platform
Mobile compatible-Practice whenever, wherever, however you want
About this book
Websites, online services, databases, and pretty much every other computer that offers public services runs on Linux. From small servers to clusters, Linux is anywhere and everywhere. With such a broad usage, the demand for Linux specialists is ever growing. For the engineers out there, this means being able to develop, interconnect, and maintain Linux environments. This book will help you increase your terminal productivity by using Terminator, Guake and other tools. It will start by installing Ubuntu and will explore tools and techniques that will help you to achieve more work with less effort. Next, it will then focus on Terminator, the ultimate terminal, and vim, one of the most intelligent console editors. Futhermore, the readers will see how they can increase their command line productivity by using sed, find, tmux, network, autoenv. The readers will also see how they can edit files without leaving the terminal and use the screen space efficiently and copy-paste like a pro. Towards the end, we focus on network settings, Git hacks, and creating portable environments for development and production using Docker. Through this book, you will improve your terminal productivity by seeing how to use different tools.
Publication date:
May 2017
Publisher
Packt
Pages
222
ISBN
9781787129184

 

Chapter 1. Introduction

This book is split into multiple parts. In part 1, we'll explore a new terminal and show you how to install and configure it. In part 2, we will concentrate on configuring your shell, adding plugins, understanding regular expressions, and working with pipes and subshells. Everything will then be coagulated into a shell scripting lesson. In part 3, we'll work with Vim, our recommended editor. We will cover everything from configuring it, to learning keyboard shortcuts, installing plugins, and even using it as a password manager. So let's get started.

In the following chapter, we will learn the following topics:

  • Understanding the working of Terminator

  • Using Guake for your quick commands or long running tasks

  • Using ClipIt to copy-paste text

So, we will start with a terminal after which everything will be wild! When it comes to working long hours in a terminal, our choice is to use Terminator for its fast and easy split screen functionality. Then, we will focus on Guake, a terminal that opens really fast and wherever you are. Towards the end, you will understand the working of Clipit and use its copy and paste feature effectively.

 

Are you ready?


We will dive deep into the Linux environment, giving you tips and tricks to increase your productivity, make you more comfortable with the command line, and automate your tasks.

The book is based on Ubuntu Linux version 16.04, which is the latest long-term support version. We chose Ubuntu because it's the most common Linux distribution out there, it's really simple to use, has a lot of graphical tools, and you can find a huge online community ready to answer all your questions. Ubuntu is also the most supported Linux distribution. This means that companies that create software, especially graphics software, and offer them for Linux, usually start with Ubuntu.

This makes it easier for us to use tools such as Skype, Slack, or Visual Studio Code. Although the book is based on Ubuntu, most of the commands are not related to Ubuntu, so you can easily use another distribution and apply the same lessons. A large part of the book can even be applied applicable to Mac, as we can have the same tools installed on Mac — bash, zsh, vim all work the same way across Linux and Mac--and with the release of Windows 10, bash support is built in, so tools such as zsh and vim can easily be installed and used. Before Windows 10, there were tools such as cygwin that let you use the Linux command line in a Windows environment.

We recommend you to read and practice in an open terminal so that you can execute the commands and check their results. Before we start, you want to download all the source files from our GitHub repository (located here: https://github.com/petruisfan/linux-for-developers).

 

Terminator – the ultimate terminal


The first thing you need to do in order to become productive is to have a good terminal. Throughout the book, we will be working mostly with the command line, which means that the primary piece of software we will be using is our terminal. A great terminal that we recommend is Terminator, which can be installed from the software center.

Let's go to our launcher and click on the software center icon. After it opens, click on the search input and write terminator, as shown in the following screenshot. It will probably be first in the list of results. Click on Install.

After installing Terminator, it's a good idea to drag its icon to the Launcher. For this, you just open the dash by hitting the Windows key, write terminator and drag and drop its icon into the Launcher:

Alright, now let's click on the icon to get started. You can maximize the window to have more space to play around.

Preferences menu

It's an customizing terminal, where good surprises can be found in form of fonts styles and other tools. What you see right now are the default settings. Let's go into the preferences menu and see what we can update. First of all, let's hide the title bar because it doesn't give us that much information and it's always a good idea to have as much free screen space as possible (and as few distractions as possible).

Now let's look at some other preferences:

  1. Let's change the font. We will make it a bit larger than usual so that it is easy to read. Let's go with Monospace 16, as shown in the following screenshot:

  2. We also want to have good contrast so that it's easy to distinguish the letters. And for this, we will choose a black on white color theme.

  3. It's also a good idea to enable infinite scroll, because you don't want your terminal output to be trimmed after 500 lines. A lot of the time, you just want to scroll and see the previous output. Also, while scrolling, if there is a lot of text, you probably don't want to be brought back to the bottom of the page, so uncheck the Scroll on output option.

And voila! This is our newly configured terminal. And now it's time to check what we can do with this new terminal. Here comes the Features section!

Features

Now it's time to look at some of Terminator's useful features and their keyboard shortcuts. This is what the normal Terminator interface looks like:

Let's play around with it now:

  • Split screen: Ctrl + Shift + O for a horizontal split:

  • Ctrl + Shift + E for a vertical split:

This is probably the coolest feature of Terminator and the one we will be using the most as it is really helpful to see multiple panes and easily switch between them. You can split the screen any number of times, in any combination you want.

Resize screen: Ctrl + Shift + Arrow or just drag and drop:

  • Easily move between Windows with Ctrl + Shift + Arrow.

  • Close screen using Ctrl + Shift + W or Ctrl + D.

  • Create tabs with Ctrl + Shift + T. This is for when you don't have any more space to split the screen:

  • Text zoom: Ctrl + + and Ctrl + - — useful for when you need to present or when you have a person with a bad eyesight:

Being able to divide the screen in order to arrange the terminal in a grid, and being able to split, switch, and resize panes with keyboard shortcuts are the biggest advantages of Terminator. One big productivity killer that a lot of people don't realize is switching between using the mouse and using the keyboard. And although most people prefer using the mouse, we suggest using the keyboard as much as possible and learning the keyboard shortcuts of your most commonly used computer programs.

Being productive ultimately means having more time to focus on the things that are really important, instead of wasting time struggling to use the computer.

Hasta la vista terminal! Welcome Terminator!

 

Guake – not Quake!


Terminator works well for all sorts of tasks, especially when working long sessions on multiple items. However, sometimes there are scenarios where you need to quickly access a terminal in order to run a command, check a status, or run a task in the foreground for a long time--all of these without opening too many tabs. Guake is excellent in such situations. It is a handy, easy-to-use terminal that you can open on any workspace on top of your existing windows, by pressing F12.

We will install it right now by using a simple command line. As shown below, open your terminal and type sudo apt install guake:

Note

apt is the new package manager that Ubuntu launched in version 16.04 and is meant to be an easier-to-use version of the apt-get command, with some added eye candy.

Now that Guake is installed, we will go to dash and open it. To do this, we just press F12. Once it is running, you can see the notification on the top-right side of the screen. This is what it should look like:

Just like with Terminator, we will check its preferences. First of all, go to shell and enable Open new tab in current directory:

I believe you can guess what this does. Then, go scrolling and insert a really big number, like 99,999. Also, make sure Scroll | On output is unchecked:

Again, we will change the default font to Monospace 16, set the Cursor blink mode to off, and hit Close:

We can use Guake in full screen by hitting F11 and we can also resize it by dragging the margin. If you want, you can play around with the default settings to see what suits you best.

Guake does not start automatically when Ubuntu reboots, so we will have to add it to our startup application for that. To do this, open dash again, type startup applications and click add. Just type Guake in all three fields, add, and close.

What makes it so handy is the fact that you can open it on top of your current windows at any time, quickly type a command, and reopen it again later to check the status of the command.

Tip

What we actually do is to also make it a little bit transparent so that when it opens on top of a web page where we have some commands written, we can still read the content on the page and type the commands as we read, without switching windows. Another awesome productivity tip!

 

ClipIt – copy-paste at its finest


We believe that one of the greatest inventions of mankind is copy-paste. The ability to take a piece of text from some random place and insert it to another not-so-random place is a huge time saver! Mankind would still be ages behind if computers didn't have this feature! Just imagine having to type every little command, every URL, every block of code you read! It would be a huge waste of time! And so, being such an important feature, copy-paste deserves a tool of its own for managing all the important text you copied. These types of tools are called clipboard managers. There are a lot of options for every operating system, and one good free one for Ubuntu is called clipIt. Open the terminal and type sudo apt install clipit to install it.

A good scenario for using Guake is to run ClipIt in it. By default, ClipIt occupies a terminal window but, with the help of Guake, we just hide it away!

The tool is automatically added to the startup applications, so it will start the next time you reboot.

In order to invoke ClipIt, hit Ctrl + Alt + H or click the clipboard image in the menu bar.

The first times it starts, it warns you that it stores data in plain text, so it might not be safe to use if other users use your account. Currently, it contains only the latest clipboard element.

Let's do a quick example of its usage.

We cat the content of the .profile file. And let's say we want to copy some lines of text and run them in another terminal, which looks like this:

For example, we might want to update the PATH variable, then source the .bashrc file and update the PATH variable again. Instead of copying the content again from our file, we just hit Ctrl + Alt + H and choose what we want to paste from our clipboard history:

This is a very basic example. ClipIt mostly comes in handy when you work long hours on your computer and need to paste something that you copied from a website hours earlier. It comes with a default history size of 50 items and it will show you the last 10 items in your floating window. You can increase these limits in the settings:

With ClipIt, you can copy and paste as many times as you want without losing any data. It's like a time machine for your clipboard!

About the Authors
  • Bogdan Vaida

    Bogdan Vaida is a seasoned private investor who has backed over 300 crypto startups. He is a founding member of Iron Capital, a VC company incorporated in Dubai. Eight years ago, he founded his own company and has managed teams at various stages of development. He is an advisor for several blockchain projects, including Gravvity, Blockchain Valley Virtual, Gentlemen Capital, Bountie, MetaVill and Umay. For fun and profit he trades daily, having his own trading course and programming his own trading indicators and strategies.

    Browse publications by this author
  • Petru I»ôfan

    Petru Ifan is a full-stack developer, Linux evangelist, open source lover, andcloud pioneer. Petru has worked all his engineering life in Linux, and has tried allthe major distributions out there. He specializes not only in software development,but in the whole software engineering stack, focusing on tools and workflows thatenhance developer productivity and enjoyment. An early adopter of technology, he uses passion and best practices to deliversoftware products, mainly for the Web and the mobile world, working with clientsbig and small. He is really enthusiastic about finding the most efficient and elegantsolutions for all problems.

    Browse publications by this author
Latest Reviews (2 reviews total)
To czego potrzebowalem do nauki
Great! Here are the rest of the 19 characters.
Working with Linux ??? Quick Hacks for the Command Line
Unlock this book and the full library FREE for 7 days
Start now