How to text search in terminal

There’re times when I need to quickly search through occurrences of certain phrases in my PHP source files. Here is when I have to search for ‘giraffes’.

This is an example finding the word ‘giraffes’ in all PHP source files from the current directory recursively.

[code lang=”bash”]find . -name “*.php” -exec grep -i -H -n “giraffes” {} ;[/code]

This works for Ubuntu, CentOS and Mac OS X.

How to check Ubuntu version number

This is a personal note. This lets you check Ubuntu’s version number. Run the command ‘cat /etc/lsb-release’.

[code lang=”bash”]tkw@deathnode:~$ cat /etc/lsb-release

My blog has pretty much become a scrap book.

To find Red Hat or CentOS linux version number use:

[code lang=”bash”]tkw@redhat:~$ cat /etc/redhat-release
CentOS release 4.8 (Final)[/code]

jer added that this is a better alternative:

[code lang=”bash”]lsb_release -a[/code]


How to import and export MySQL database into an SQL file

Or Gzip for the matter. Here’s the command to run in your UNIX-based server to import or export via an SQL file, this is useful for performing backup and restoring of a MySQL database. (I wrote a similar import and export guide for PostgreSQL.) The mysqldump utility performs just that:

Exporting using mysqldump:

[code lang=”bash”]mysqldump -u[Username] -p[Password] [Database] > output.sql[/code]

For example, my username is ‘kahwee’, my password being ‘secret’ and database being ‘justrealized_db’, I would run the following to export my database to a SQL file:

[code lang=”bash”]mysqldump -ukahwee -psecret justrealized_db > output.sql[/code]

And to Gzip:

[code lang=”bash”]mysqldump -u[Username] -p[Password] [Database] | gzip > output.sql.gz[/code]

Importing using mysql:

To import back, we can use the mysql utility in a similar fashion, note that the > (greater than) has change to a < (lesser than).

[code lang=”bash”]mysql -u[Username] -p[Password] [Database] < output.sql[/code]

For example, my username is ‘kahwee’, my password being ‘secret’ and database being ‘justrealized_db’, I would run the following to import my database:

[code lang=”bash”]mysql -ukahwee -psecret justrealized_db < output.sql[/code]

And to Ungzip:

[code lang=”bash”]gunzip < output.sql.gz | mysql -u[Username] -p[Password] [Database][/code]


Backing up and restoring MySQL databases in Windows

Unfortunately, you can’t use gzip here. So all those commands above with gzip can’t work. The rest, however, still works. However, mysqldump and mysql may not be set in your system environment variables. These are instructions on how to add them for Windows Vista:

Editing system environment variables in Windows Vista.

Click on ‘Edit the system environment variables’, a dialog box will pop up. Click on ‘Environment Variables…’, you should be greeted with the following dialog box:

Editing the path for environment variables

My path looks like this before I add anything:

[code lang=”bash”]%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem[/code]

Append your MySQL bin directory at the back of what is already there. I use XAMPP (XAMPP lite to be specific) which has its MySQL bin folder located here ‘;C:xampplitemysqlbin’, so I would be appending this:

[code lang=”bash”];C:xampplitemysqlbin[/code]

That’s all I guess, hope it is helpful for you.

How to optimize MySQL database with a command

When you delete large portions for data from your MySQL table, the database becomes more fragmented. It is always a good idea to re-optimize your MySQL database especially if you have a lot of varying characters (VARCHAR). Here’s the command to optimize just one table:

[code lang=”sql”]OPTIMIZE TABLE foo[/code]


But I am looking for a more command line solution and here it is:

[code lang=”bash”]mysqlcheck -op database_name[/code]

The ‘o’ refers to optimize. And the ‘p’ is the option for password requirement. You’ll be prompted for the password.

If you’re logged in as user ‘john’ in your SSH, the MySQL username will be ‘john’. If that’s not what you want, use option ‘u’ like this:

[code lang=”bash”]mysqlcheck -op -u user_name database_name[/code]

And to optimize all databases:

[code lang=”bash”]mysqlcheck -op -u user_name –all-databases[/code]

You can also use option ‘r’ to repair.

Note that the optimization only works for MyISAM, InnoDB, and ARCHIVE tables.

Allow sudo to insult you (Ubuntu)

What fun is there when sudo replies your incorrect password attempt with a mere incorrect password – make it insult you. Masochistic people can shout hooray.

Here’s how you do it, you have to edit ‘sudoers’. It uses vi commands which I hate. You’ll be prompted for your password.

[code]sudo visudo[/code]

Append “,insults” at the end without the quotes and then save the file.

[code]Defaults env_reset,insults[/code]

Now you can make your terminal window forget your sudo password:

[code]sudo -K[/code]

And now type ‘sudo visudo’ or even ‘sudo me a sandwich’ and then input an incorrect password. It will say something like:

  • You can’t get the wood, you know.
  • It’s only your word against mine.
  • My pet ferret can type better than you!
  • Maybe if you used more than just two fingers…
  • Listen, burrito brains, I don’t have time to listen to this trash.

Well, have fun. (Source: Ubuntu Tutorials)