Book Image

Beaglebone Media Center

By : David Lewin
Book Image

Beaglebone Media Center

By: David Lewin

Overview of this book

Table of Contents (15 chapters)
BeagleBone Media Center
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Ideas to Improve Your Server
Index

Ease your life with the command line


At the beginning, the command line can be confusing. Even though the instructions in the chapters of this book have been written for you to install in the easiest way, there's no reason to spend more time than necessary with this command line. Therefore, it's always helpful to have some tools and customizations on your system. In the long run, you will see that you will not be able to do without them.

Package management

Throughout the chapters in this book, the Linux distribution package tools are never mentioned. Indeed, you will always have commands as follows:

install apackage

This intentional abstraction helps you focus on installation itself and is short, to keep you away from syntax errors. Most importantly, with this you can set up your commands toolbox in such a way that whenever you would want to change to a different distribution, you will still use install package. Here is how you can do this:

Go and edit your bashrc in the following directory:

~/.bashrc

Here, define some aliases for debian:

  • alias install="sudo apt-get install"

  • alias update="sudo apt-get update"

  • alias search="sudo apt-cache search"

After saving and quitting the editor, you can apply your configuration using the following command:

debian@beaglebone:~$ source ~/.bashrc

As easy as it can be, you will then just rely on these commands most of the time to handle your system. In the case, when you use a different package system, you'll just have to modify accordingly, such as with Fedora:

  • alias install="yum install"

  • alias update="yum update"

  • alias search="yum list"

Get to know what you did previously

Let's keep on personalizing the bashrc file, but this time with the goal being to look backward for commands that you have already performed.

The aim of this trick is to avoid retyping the same command multiple times. Moreover, sometimes it's useful to analyze in which order you have executed different commands, one after the other. This is often the root cause of errors. This is where histogrep will make your life easier:

function histogrep{
history | grep $1
}

Source the file as in the previous topic, and try to search, a command you entered previously:

debian@beaglebone:~$ histogrep Mediadrop

Different ways to find your files

When you don't remember where a specific file is located, you can rely on some Linux tools. In this specific case, let's say that we want to retrieve the deployment.ini location; thus we can use two different commands:

To find your files, run the following command:

(mediacore_env)debian@beaglebone:~$ find / -name production.ini –type f 2>/dev/null

The various parameters involved are as follows:

  • / : We want to look into the root partition. Obviously, if you install MediaDrop to another partition, set it accordingly.

  • –type f (optional): This optimizes the search, as we want to find only files but not directories.

  • 2>/dev/null (optional): This is to remove annoying and most of the time useless Permission denied messages.

While being really powerful, the find command requires some options, which you have to know, to use it well. The locate command is a quick and an easy way to find your file. You will have to install it, as this command is not installed, by default. You will retrieve it from the mlocate package.

To request an update of the index of all your files, use the following command:

debian@beaglebone:~$ sudo updatedb

Now you can search for any file with the following command:

debian@beaglebone:~$ Locate production.ini

You have the result(s) instantly, faster than with the find command.

What is perturbing with locate is that you might not find a file that can exist anyway. This situation happens when the searched-for file had been created after the indexation of the locate database.

Each command has its own pros and cons; find is really handy and powerful but requires a lot of options that you need to know; on the other hand, locate is easy, and simple but requires being updated regularly.