Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Working with Linux ??? Quick Hacks for the Command Line
Working with Linux ??? Quick Hacks for the Command Line

Working with Linux ??? Quick Hacks for the Command Line: Command line power like you've never seen

Arrow left icon
Profile Icon I»ôfan Profile Icon Bogdan Vaida
Arrow right icon
S$59.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (1 Ratings)
Paperback May 2017 222 pages 1st Edition
eBook
S$32.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial
Arrow left icon
Profile Icon I»ôfan Profile Icon Bogdan Vaida
Arrow right icon
S$59.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (1 Ratings)
Paperback May 2017 222 pages 1st Edition
eBook
S$32.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial
eBook
S$32.99 S$47.99
Paperback
S$59.99
Subscription
Free Trial

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Table of content icon View table of contents Preview book icon Preview Book

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

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).

Are you ready?

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.

Terminator – the ultimate terminal

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:

Terminator – the ultimate terminal

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:
    Preferences menu
  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.
    Preferences menu
  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.
    Preferences menu

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:

Features

Let's play around with it now:

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

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:

Features
  • 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:
    Features
  • Text zoom: Ctrl + + and Ctrl + - — useful for when you need to present or when you have a person with a bad eyesight:
    Features

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:

Guake – not Quake!

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:

Guake – not Quake!

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

Guake – not Quake!

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:

Guake – not Quake!

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

Guake – not Quake!

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.

ClipIt – copy-paste at its finest

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!

ClipIt – copy-paste at its finest

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.

ClipIt – copy-paste at its finest

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:

ClipIt – copy-paste at its finest

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:

ClipIt – copy-paste at its finest

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:

ClipIt – copy-paste at its finest

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!

Left arrow icon Right arrow icon

Key benefits

  • Improve your terminal and command-line productivity by using powerful tools
  • Sharpen your existing command-line skills and achieve complex tasks faster
  • Save time and money by creating customized commands that automate day-to-day tasks

Description

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.

Who is this book for?

This book is for system administrators and developers who know the basics of Linux and want to brush up and sharpen their skills. Prior experience with Linux shell is required.

What you will learn

  • Optimize the power of Guake by integrating it with ClipIt
  • Deep dive into the workings of the console editor—Vim
  • Explore the advanced concepts and best practices of shell scripting
  • Edit large amounts of data quickly using Sed
  • Use pipes and subshells to create customized commands
  • Get to know how you can speed up the software development and make the terminal a handy companion
Estimated delivery fee Deliver to Singapore

Standard delivery 10 - 13 business days

S$11.95

Premium delivery 5 - 8 business days

S$54.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : May 30, 2017
Length: 222 pages
Edition : 1st
Language : English
ISBN-13 : 9781787129184
Concepts :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Estimated delivery fee Deliver to Singapore

Standard delivery 10 - 13 business days

S$11.95

Premium delivery 5 - 8 business days

S$54.95
(Includes tracking information)

Product Details

Publication date : May 30, 2017
Length: 222 pages
Edition : 1st
Language : English
ISBN-13 : 9781787129184
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just S$6 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total S$ 269.97
Linux: Powerful Server Administration
S$134.99
Linux Shell Scripting Cookbook
S$74.99
Working with Linux ??? Quick Hacks for the Command Line
S$59.99
Total S$ 269.97 Stars icon

Table of Contents

7 Chapters
1. Introduction Chevron down icon Chevron up icon
2. Productive Shells – Reinvent the way you work Chevron down icon Chevron up icon
3. Vim kung fu Chevron down icon Chevron up icon
4. CLI – The Hidden Recipe Chevron down icon Chevron up icon
5. Developers' Treasure Chevron down icon Chevron up icon
6. Terminal Art Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(1 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Eric Y. Nie Mar 26, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
excellent
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela