How To: Have Infinite Bash History

Today we’re going to have a good time because we’re learning how you can have infinite Bash history. There’s a bit more to it and not all of you will want an infinite Bash history. But, for those that do, we’re going to accomplish that right here in this article!

First, I’m assuming you’re using Bash as your shell. The odds are really good that you’d know if you’re not using Bash, as Bash is pretty much the default. Bash is the interactive shell you’re using, known as Bourne Again Shell. If you don’t know what shell you’re using, I covered that in an article about determining the shell you’re using.

Side Note: I sometimes write articles that are meant to preface another article, but then I forget and don’t write the additional article. I suppose that helps keep things interesting…

So, as you know, when you type a command into the terminal that command is stored in a file typically called ~/.bash_history – a hidden file in your home directory. Well, there’s a limit to how much history that file will retain and this is Linux – meaning that, of course, you can change that value. Today, we’ll be changing that value – making it ‘infinite’.

No, of course, it’s not really infinite. There’s a finite amount of disk space you have. This being a plain text file, it takes up very little space. While it’s not technically infinite you can store a whole lot of entries in your Bash history. We’ll set it to infinite, but I’ll show you how to set it to any value you want.

Ready?

Infinite Bash History:

As you can see, this is a Bash thing. That’s a good sign that you’ll need an open terminal. You can press CTRL + ALT + T and your default terminal should open. See? We’re already making progress!

With your terminal open, we’re going to edit another hidden file. The name of this file is .bashrc and it’s a file that stores things like terminal settings.

The tool we’ll be using is ‘nano‘. Click that link to learn about Nano, including how to install Nano should Nano not come preinstalled in your chosen distro. As you may know, Nano is one of my favorite text editors. We use Nano a lot around here.

Start with opening the ~/.bashrc file with nano, like so:

Scroll to the bottom and add the following lines:

Any negative value, in this case, -1, will result in an infinite history. However, you can make that value any number you want. When you’re done adding those lines, you have to save the file. Remember, to save a file in Nano, you just press CTRL + X, then Y, and then ENTER.

You could make the value 5000, for example. That’d simply look like this:

The sky is the limit. You can make that value any number you want, but all negative values will be treated the same. If the value is negative, it means you’ve got an infinite Bash history. Don’t forget to save any changes with Nano, as instructed above.

Now, you could reboot or log out to make the new settings take effect, or you can simply tell your system to reload the file to make the changes take immediate effect. That’s an easy command, simply use:

As you can see, infinite isn’t infinite (nothing is in the real world, according to current observations) and you don’t have to choose the infinite setting. You can pick whatever numbers you fancy and the process is the same.

Closure:

There you go, you now know how to set up your system to have an infinite Bash history. Well, an infinite ~/.bash_history if you prefer. With that setting engaged, you’re limited only by your creativity, fanaticism, and disk space. Go nuts with it! They make bigger disks! (Also, it takes up very little space.)

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

How To Tell If You’re Using Wayland Or X11

Today’s article will be an interesting one, for at least a subset of readers, as we learn how to tell if you’re using Wayland or X11. The command isn’t all that difficult and is just a single command that should work with everything, but the topic might confuse some of you.

Frankly, if you ask this question to the majority of users, you’re probably going to find out that they’re still using X11. The move to Wayland has been a process, that started back in 2008. The goal is to replace X and provide a much better set of protocols.

That’s what Wayland is… It’s a set of protocols dealing with how things are displayed on your monitor. X is also a set of protocols for the display server – and it dates back to 1984. Without X (or something else), we’d have been staring at nothing but terminal outputs this entire time, so it is kind of a big deal.

That doesn’t mean the current X implementation is that old on your device, it just means that it has been the default for a long time. The upstart, that is Wayland, is meant to take care of a variety of flaws – including potential security flaws. That’d be a subject way too deep to get into today.

Currently, some distros are confident with Wayland and release distros that default to Wayland. Some offer it as an option, without it being the default. The GNOME and KDE desktop environments are currently the closest to being ‘Wayland-ready’. It’s a slow process!

So, you might not know if you’re using Wayland or X11 and this article tells you how to check just that.

Are You Using Wayland Or X11:

This article requires an open terminal, like many other articles on this site. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open.

With your terminal open, just run the following command: (It should work in any distro, regardless of which display server you’re running.)

The output should look a lot like this:

Unless you’re using Wayland. In that case, it’d look something like this:

If the output says x11,  you’re not using Wayland. If it says Wayland, you’re using Wayland. I probably didn’t need to specify this, but I did. This way, you can be completely sure if you’re using Wayland or x11.

Closure:

See? There’s a fun command you can play around with. If you’re not sure if you’re using Wayland or X11, this command will get you sorted quickly and easily. There are all sorts of great things you can do with an open terminal and a little bit of knowledge.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Let’s Make A Directory Tree

Today we’re going to install a nifty application and then we’re going to make ourselves a directory tree. We’ll learn a couple of other things along the way, as we often do. Linux is great like that, and so we’ll have some fun along the way – including generating an entirely pointless text file that takes up too much space and takes too much time! That sounds fun to me!

So, what is a directory tree? Well, you start in one directory and then make a “tree” of all the directories below it. The directory you start in will be the top of the tree, and the directories below will be the branches. In its simplest form, it might look a little like this:

using the tree command to make a directory tree
As you can see, that’s part of the tree – with various directories and sub-directories.

You can’t see the parent directory, but there is one. That’s just a piece of the tree, which should be enough to explain this tree concept.

The tool we’ll be using is known as ‘tree’, of course. The man page describes it as being:

tree – list contents of directories in a tree-like format.

You may not have ‘tree’ installed and you will need to install it. It should probably be a default tool, but it is not. Use your package manager, search for ‘tree’, and install it. In Ubuntu/Debian/Derivatives, you can try:

That should get you started and, with tree now installed, we can…

Make A Directory Tree:

If you had your terminal open to install ‘tree’, you might as well leave it open. You’ll need it for the rest of this article. If your terminal is not open,  you’ll need to open it. Just press CTRL + ALT + T. Tada!

Now, the first thing we’re going to do is right there in your home directory, simply make a directory tree with the following command:

That will make a lovely tree. The -d flag means that it will only show directories in the output. That’s what we wanted, a directory tree. However…

You can make a tree with the files included. Just drop the -d flag and try this:

Now, let’s send that output to a file. If you want a tree (with or without files listed in it) as a saved text file, you can try this command:

Now, for some fun, you can try this (it will take a long time):

You need ‘sudo’ for that command so that it can traverse and list the various directories for which you have no permissions. It will take a long time. I want to say that it took about 30 minutes, but I currently have a bunch of external stuff hooked up to this device.

It will also generate a giant text file. Mine was over 500 MB in size. Opening it is a slow and painful process, but it’s not too bad once it is open. There are other options for the tree command, just type man tree to learn more about the tree command.

Closure:

So, now you know how to create a directory tree. You also know how to make your directory tree include files and how to make a directory tree of your entire computer’s file system. I don’t know why you’d need to know this, but now you do. They do make good text documents for small sections of the tree, especially if you need to quickly see the directory structure for some other task.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

List The Files In A Directory

Today’s article is only going to be useful if you are a new user and don’t yet know how to list files in a directory. This is, of course, something you do in a terminal. I do believe this will be a quick and easy article, so read on if you don’t yet know how to list files in a directory.

If you’ve used Linux for more than a month, you can safely ignore this article.

Yes, this has been covered all over the web. This isn’t anything remotely new, nor is it anything all that complicated. However, this is a holiday weekend and I figure it’s a good article for new users who happen to be just browsing around. I’ve also covered some ‘ls’ commands before.

On the other hand, it should be a short article! So, there’s that!

List The Files In A Directory:

Of course, this article requires an open terminal, like many other articles on this site. Should you not know how to open the terminal, you can do so with your keyboard. Press CTRL + ALT + T and your default terminal should open.

With that terminal now open, let’s try a simple command:

That will list all the files in the directory. If you’d like to see the output in columns, you can always try this command which lists the output in a denser manner.

That command doesn’t list dot (hidden) files. Seeing as you’re in the home directory, you should have some hidden files. If you want to use the ‘ls’ command to show files, you need the -a flag. You can combine it with the above and use this command:

That’s the command I use more often than not. This being Linux, you get to decide which how to use the command. I think I type the ‘ls -la‘ command out of habit.

Closure:

Well, you got an article. Sure, it’s a simple article but someone may find this important information. Of course, they could just use the man page   – but what’s the fun in that?

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Meta: The State Of Linux-Tips #17

Today you’re just going to get a quick meta article, where I go over the state of Linux-Tips (this site, obviously). It has been a while since I did the last one, so it’s time to do another one. I’m thinking I’ll keep this one brief. I’ve had an adventure today, dealing with some medical stuff, so a low-energy article is a good idea.

I try to do a meta article every month. I haven’t always managed to do so, but it’s a sorta goal. It’ll be fun to share what’s going on. It’s not all that informative, but I try to make it as interesting as this kind of article can be.

So, if you want a day off you can just skip this article. If you’re interested in what’s going on, read on and enjoy the meta article.

The State Of Linux-Tips #17

So, traffic really hasn’t grown or changed much. This month we’re going to do better than last month, but not drastically so. Google appears a little annoyed with the site again, but I don’t worry any more. Frankly, the site gets plenty of traffic as it is. 

Someone did donate recently. I’m grateful for that. The funds went to pay for hosting, though I suppose they more specifically went straight to my CDN provider. Why is it worth the money to pay for a CDN?

The site loads quickly no matter where you are on the planet. On top of that, you’ve never seen a minute of real downtime. You might have seen a temporary screen while updates happened, but the server has pretty much 100% uptime. I decided to add a monitor fairly recently – but in that time the server hosting the site has gone down.

This site did no such thing. The CDN still presented you with static content, which is what this site mostly is. If you attempted to interact with the site during the outage, the CDN (it’s both WordPress and LiteSpeed specific) will cache your request and process it when the site is back online. So, you’ve almost certainly never seen the site go down.

Now that I said that, watch there be some big outage that takes the site offline for a few hours! Ah well… I’ll risk it. If you whois the domain, you’ll see the nameservers which will clue you in as to which CDN I use. They’re very specialized and likely won’t work for many of you. I think it’s worth it, but it’s an annoying monthly fee. (Even if I have to fund it entirely by myself, I will continue doing so. Donations are nice, but the site will survive without them.)

Anyhow, thanks for the donation! (I have to find the motivation to wrap the site up as a PDF to give away to people who donate, something planned for the future, but I’ll make sure it’s available for them. That seems like a good idea. 

Some Stats:

So, like always, the VAST MAJORITY of my traffic comes from Google. I suppose the state of Linux-Tips depends heavily on the traffic.

Well, this might not seem like much, but last month we went through more than 35 GB of bandwidth. I’m having some issues with backups, so the site was also using almost 20 GB of disk space. That disk space consumption has since been reduced significantly!

Some Demographics:

Roughly 92% of my traffic is from Linux users.
Just about 80% of my traffic is from Chrome/Chromium-based browsers.
Roughly 80% of my traffic originates in the United States.

The top 3 articles read in the past month:

Find Out Which Display-Manager You’re Using
How Do I Install Linux (A General Guide)
How To: Disable Sleep And Hibernation on Ubuntu Server

Other Stuff:

The site is attacked about 400 times on an average day.
Most of the attacks appear to come from compromised servers.
Only about 70 people have signed up for the newsletter.
AWStats claims I’ve displayed > 600,000 pages in May.
There are about 50 articles that show up in Google’s top ten listings.
As I learn more, I realize I have no business being a WordPress admin.
This changed! In May people spent an average of 171 seconds on the site.
One visitor was using Symbian OS.
Four visits were from someone using Sun Solaris.
We’re now over 280,000 words on the site.
It’d take you 19+ hours to read all of that.

Closure:

And there you have it… You have another meta article, an article about the state of Linux-Tips. You probably didn’t learn anything important, but now you know what’s going on here and what you can expect in the future. I expect to continue to write these articles for the foreseeable future. Don’t forget that I accept on-topic guest articles. (I get so many requests for stuff that’s not on-topic. I’ve stopped responding to the people too lazy to read the site and understand what’s going on here.)

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.