55
Best Linux Tips, Tricks And Command Lines
Here
we bring to you the 55 best tips, tricks and command lines of all
time contributed by our readers. Try your hands and have fun.
If
you are a Linux user and open to having some fun with your open source
operating machine, then this is a must-read article for you. Here
is a compilation of 55 tips, tricks and command lines of all time,
enough to keep you equipped. Have a
look:
1.
Back-up and restore Thunderbird e-mails
In
Linux, when you want to reinstall your system for any reason, you
need to take a back-up of your data along with your e-mails in
Thunderbird. Given below are a few simple steps that back-up e-mails manually. Check
for your Thunderbird e-mail and profile folder. If you have not
changed it, it should be in /home//.thunderbird/.default_folder/
For
example, the alphanumeric folder name on my system is
vx3vg9j2.default Copy
the whole alphanumeric folder and place it in some other computer or
storage device as an e-mail backup. Do remember to close Thunderbird
before doing this.
After
reinstalling your PC with any Linux-based OS, install the Thunderbird
e-mail client and configure your e-mail credentials before closing
the Thunderbird client.
Go
to your Thunderbird folder in the new installation
/home//.thunderbird/ folder. The alphanumeric named folder will be a
different one now.
For
example: /home/guest/.thunderbird/jx3gv9k2.default
Copy
the contents of the old alphanumeric folder that is kept as a backup
to the above location.
That
is, you need to copy the contents of vx3vg9j2.default to
jx3gv9k2.default Now,
open the Thunderbird client and you will find that all the e-mail
credentials, e-mails, e-mail rules and address book will be available
as they were before re-installation.
--Sobhanadri
Agnihotram, sobhanadri.a@gmail.com
2.
Execute commands on a remote Linux machine
If
you want to execute any command or script on a remote Linux machine,
you can use ssh. Below are a few examples.
The
syntax for running a command or script on a remote server is: ssh
[USER]@[IP] [command or script]
Let
us look at how this can be done. Suppose you want to display the
directory contents of /root of a remote host, you can run the
following command:
[narendra@ubunu]$
ssh root@172.16.223.128 ls -l /root root@172.16.223.128's
password: total
12
drwxr-xr-x.
2 root root 4096 Mar 12 00:05 device_drivers
drwxr-xr-x.
2 root root 4096 Mar 12 01:31 pthreads
drwxr-xr-x.
2 root root 4096 Mar 12 01:32 python
[narendra@ubunu]$
The
same can be done to run any script on the remote computer. --Narendra
Kangralkar, narendrakangralkar@gmail.com
3.
Run a Linux command after every reboot
This
tip allows you to run any Linux command or script just after system
reboot. You can use the @reboot cron keyword. If
you have a script in your /home directory and it needs to be run on
every boot, open the cron file in editable mode and add the
following:
$crontab
-e
@reboot
/home/xyz/myscript.sh
Do
remember to enable crond on boot. Imran
Sheikh, imrannsheikh@gmail.com
4.
Comment out hashes in large configuration files
Here
is a small tip for system administrators, who need to tackle large
configuration files, which include lots of commented lines (marked by
#). With this tip you can remove all those hashes and provide only
an uncommented configuration view for faster lookup into the file. If
you want to check the configuration file of the Squid proxy server,
run the following command:
#cat
squid.conf | egrep -v ^#
This
will show only lines that do not start with a hash mark, thus giving
the configuration parameter that is being used in the current
set-up. --Yogesh
Upadhyay, yogeshupadhya@gmail.com
5.
Replacing '\n' with 'space' in each line of a file
You
can use the awk statement given below to remove the '\n' from each
line and replace it with a blank space:
awk
'$1=$1' ORS=' ' /etc/passwd --Rajeev
N Sambhu, rajnellaya@gmail.com
6.
Know your shells
Here
is a command that will let you know about the available shells on
your Linux distribution:
#chsh
-l
To
change your login shell, use the following command:
#
chsh --Chandralekha
Balachandran, reachlekha@gmail.com Advanced
ls commands The
following commands are very useful to know your system better. lspci
– Lists all PCI devices. Use -v for verbose output. lsusb
– Lists all USB devices. Use -v for verbose output. lsmod
– Lists the status of modules in the Linux kernel. lsattr
– Lists file attributes on a second extended Linux file
system. lsof
– Lists the file descriptors opened by all the processes. A very
useful command when a process fails to close any file descriptors. To
know more details, you can view the manual pages of each command
mentioned above.
--Prasanna
Mohanasundaram, prasanna.mohanasundaram@gmail.com
7.
Checking for rootkits
Attackers
install rootkits on a machine to gain root access, while its presence
is hidden from the real administrator of the server. A
tool that can help you to detect rootkits on your machine is chkrootkit. You can
download this from
ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz To install
chkrootkit, you need to compile the code that you have just
downloaded. Extract the downloaded tar file and change to the
extracted directory, as shown below:
# tar -xvf
chkrootkit.tar.gz
# cd chkrootkit-0.49/
Now compile the
code by running the following command:
# make sense
After
successfully compiling, the tool is ready to be used. To check for
rootkits, simply run chkrootkit as the root user:
#
./chkrootkit
--Samual,
samual45@gmail.com
8.
Finding and replacing a test with sed
Let's
look at how to find and replace a test using sed, a stream editor for
filtering and transforming text. Let us first create a sample text
file with the following text:
$ cat > sample.txt
This
is a first test of sample test file This is a second test of
sample test file
Press Ctrl+D after you finish entering the
text. Now run the command below to display the contents of the
newly created text file:
$ cat sample.txt
The output
should be as displayed below:
This is a first test of sample
test file This is a second test of sample test file
Now,
substitute the first occurrence of the pattern 'test' in each line
with 'log':
$ sed 's/test/log/' sample.txt
This is a
first log of sample test file This is a second log of sample test
file
If you want to substitute the second occurrence of
pattern 'test' in each line with 'log', use the following
commands:
$ sed 's/test/log/2' sample.txt
This
is a first test of sample log file This is a second test of sample
log file
To substitute every occurrence of the pattern 'test'
in each line with 'log', use the code below:
$ sed
's/test/log/g' sample.txt
This is a first log of sample log
file This is a second log of sample log file
The syntax for
the above options is:
sed
's/original_pattern/replacement/options'
Also, by default,
sed will send the data to the stander output device, and you can
redirect it to any file by using the redirection operator ">".
$
sed 's/test/log/g' sample.txt > mod_sample.txt
--Jagan
Teki, 402jagan@gmail.com
9.
Backing up a MySQL database
There
are several methods to back up a MySQL database, one of which is to a
command line option. You need to have mysqldump installed for this
method. mysqldump
is a command line utility that comes with the MySQL installation It
can be used to archive one or all databases. Given
below is the command to back up a single database:
mysqldump
--user [user_name] –password=[password_of_the user] [database name]
> [dump_file]
The
command for back up of all databases in existence is as
follows:
mysqldump
–u[user name] –p[password] –all-databases > [dump file]
To
restore the back up taken by mysqldump, use the normal SQL
command.
mysql
--u [username] --password=[password] [database name] <
[dump_file] --Manish, mt81@in.com
10.
How to show the name of the current database in the MySQL prompt
If
you need the name of the currently selected database in your MySQL
prompt, use the following lines in your MySQL configuration file
(my.cnf):
[mysql]
prompt='mysql(\d)>
'
Now,
when you connect, the MySQL prompt will look like what's shown
below:
mysql((none))>
use test;
Database
changed
mysql(test)>
mysql(test)>
use mysql;
Database
changed
mysql(mysql)>
This
makes it very easy to identify the name of the database that you are
currently working on.
--Mohana
Sundaram N, mohan.linux@yahoo.com
11.
Find your MySQL configuration file
We
often have to administer a system that has been set up by someone
else. In such a situation, it's difficult to find the correct
configuration files for different applications. Here is a tip to find
the correct configuration file for MySQL:
mysql
-? | grep ".cnf" --Remin
Raphael, remin@smartgeek.in
12.
View the contents of tar and rpm files Here
are two simple commands to show you the contents of the tar and rpm
files. 1.
To view the content of a tar file, issue the following command:
#tar
-tvf /path/to/file.tar
2.
To view the content of an rpm file, use the command given
below:
#rpm
-qlp /path/to/file.rpm
--Giriraj
G Rajasekharan, girirajgr@gmail.com
13.
Playing around with MP3 files
Here
is a tip that helps you cut, split, join or merge MP3 files in
Ubuntu, resulting in a better quality output. To
cut an MP3 file, you need to install poc-streamer, as follows:
$sudo
apt-get install poc-streamer
The
syntax for mp3cut is given below:
mp3cut
[-o outputfile] [-T title] [-A artist] [-N album-name] [-t
[hh:]mm:ss[+ms]-[hh:]mm:ss[+ms]] mp3 [-t ...] mp3 -o output: Output
file, default mp3file.out.mp3
For
example, if you want to cut a one-minute clip of the MP3 file named
input.mp3 to a .wav file called output.wav, run the following
command:
$mp3cut
-o output.wav -t 00:00(+0)-01:00(+0) input.mp3
If
you want to join two MP3 files, you need to install mp3wrap, as
follows:
$sudo
apt-get install mp3wrap
The
syntax for mp3wrap is shown below:
$mp3wrap
merged_filename.mp3 filename1.mp3 filename2.mp3
…where
filename1.mp3 and filename2.mp3 are my input files that can be merged
together. Finally,
you can split a single large MP3 file into small files by installing
Mp3split using the following command:
$sudo
apt-get install mp3splt
Now,
to split the large file, run the following command:
$mp3splt
filename.mp3 00.00 01.23 03.20
Filename.mp3
is my input file, which can be split into two MP3 files. One is from
the start to the 1 min 23 sec point, and another one is from 1 min 23
sec to 3 min 20 sec. Mp3split can make smaller files without decoding
even the file.
--Rajasekhar
Chintalpudi, rajasekhar.chintalapudi@gmail.com
14.
GRUB 2 recovery
We
often come across a condition in which the boot loader gets corrupt.
Here are a few steps that will help you recover your GRUB 2 boot
loader. Boot
from a live CD or DVD, which supports GRUB 2 (Ubuntu 9.10 CD or
above. A DVD will take more time than a CD, so I suggest you boot
from a CD). Open
the terminal and run fdisk -l to check the partition from which you
want to recover GRUB 2. Here
I assume that you want to recover it from /dev/sda1. Then
run the following commands:
$sudo
mkdir /media/sda1
$sudo
mount /dev/sda1 /media/sda1
$sudo
mount --bind /dev /media/sda1/dev
$sudo
mount --bind /proc /media/sda1/proc
Now
chroot into that partition by running the command given below:
$sudo
chroot /media/sda1
Then
re-install GRUB, as follows:
#grub-install
/dev/sda
The
output should be like what's shown below:
Installation
finished. No error reported.
If
you get an error, then try the following command:
#grub-install
--recheck /dev/sda
After
a successful installation, exit from chroot and unmount the file
systems that were mounted to recover GRUB. Now reboot.
#exit
$sudo
umount /media/sda1/proc
$sudo
umount /media/sda1/dev
$sudo
umount /media/sda1
$sudo
reboot
You've
successfully completed recovering your GRUB boot loader.
--Kousik
Maiti, kousikster@gmail.com
15.
Record whatever you do in the terminal
Have
you ever felt that you should record everything you do in the
terminal in a file? Then
try out the following tip. There is a command named script, which can
be used with option –a to append the output to a file.
Given
below is an example that will show how it works: Mandriva~:$
script -a lfy Script
started, file is lfy Mandriva~:$
uname -a Linux
localhost.localdomain 2.6.33.5-desktop-2mnb #1 SMP Thu Jun 17
21:30:10 UTC 2010 i686 i686 i386 GNU/Linux Mandriva~:$
uname Linux Mandriva~:$
exit exit
Script
done, file is lfy
Here,
the name of the file is lfy. You can verify it later by using the
code given below:
Mandriva~:$
cat lfy Script
started on Mon 16 May 2011 02:09:47 AM EDT Mandriva~:$
uname -a Linux
localhost.localdomain 2.6.33.5-desktop-2mnb #1 SMP Thu Jun 17
21:30:10 UTC 2010 i686 i686 i386 GNU/Linux Mandriva~:$
uname Linux Mandriva~:$
exit exit
Script
done on Mon 16 May 2011 02:10:32 AM EDT
--Sibi,
psibi2000@gmail.com
16.
Wonders of VIM
VIM
has a very useful command set. Here are a few commands that can be
used to increase your productivity.
VIM
as a file comparator:
Use
'-d' switch to compare two files in VIM. This command splits the VIM
screen vertically and shows the differences.
vim
-d file1 file2
17.Â
load new files in separate windows:
If
you have a file named 'first.txt' loaded already in VIM, then use
':split second.txt' to load another file named 'second.txt' in a
separate window--IM will split the screen horizontally and load the
second file. You can use ':vsplit' to split the screen vertically.
'Ctrl+w' can be used to switch between the windows.
18.
VIM as a command:
Normally,
we use VIM as an editor; however, it can be used as a command. It
allows the execution of VIM commands with switch '-c', for example.
Here is a command to replace all '>' characters to '>>' in a
file FILE.TXT without opening VIM.
vim
-c ":s/>/>>/g" -c ":wq" FILE.TXT
19.
To open a file in read-only mode:
Use
the '-R' switch to open a file in read-only mode; later on, '!' can
be used to forcefully write to the file.
--Satya
prakash, satya.comnet@gmail.com
20.
Check your processor and OS architecture
You
might want to install a 64-bit OS on your machine, but the processor
might just be 32-bit compatible. Sometimes it happens the other way
too, i.e., you install a 32-bit OS on a machine that has a 64-bit
processor. Here is how to find out whether the installed OS as well
as the CPU are of 64-bit or 32-bit.
Given
below is the command that will output the details of the OS
installed:
$
uname -m
The
result for a 64-bit OS installation (for x86_64
architecture):
x86_64
The
result for a non-64-bit OS installation (for i686
architecture):
i686
To
know about the processor, run the following command:
$
lshw -class processor | grep width
Shown
below is the result for a 64-bit installation:
width:
64 bits
The
result for a 32-bit installation:
width:
32 bits
Note:
Please install lshw if it is not already installed on your
system
--Srikanth
Vittal, vi.srikanth@gmail.com
21.
Sudoing with Fedora
Ever
felt tired of entering the super-user password after typing 'su –c'
again and again? Type 'su -c visudo' just once and uncomment the
following line:
#
%wheel ALL=(ALL) ALL
Replace
'wheel' with your sudo username. So if the username is egghead, the
line becomes…
%egghead
ALL=(ALL) ALL
Save
and quit. You're good to use egghead as the sudo user.
--A.
Datta, webmaster@aucklandwhich.org
22.
Let your Linux system welcome you
Issue
the following script and name it welcome.sh
echo
"Hi zades you are welcome today is " | festival --tts date|
cut -d" " -f 1-3 | festival --tts
Now
put the command sh welcome.sh at start-up. This will allow the script
to run every time you log in to your system. Once done, restart your
system to hear the message that is written in the Echo command.
The
festival command is used to change the text to voice. You can use
this command in many ways according to your creativity. Do remember
to check that you have festival installed before trying this
tip.
--Vinay
Jhedu, vinay.komal100@gmail.com
23.
Ignoring the case during TAB-completion
By
default, TAB-completion is not useful if the name of the file or
directory starts with an uppercase. You can make your Shell totally
ignore the case for the name by adding the following entry in
/etc/inputrc:
set
completion-ignore-case on
Then
restart your Shell. From now onwards, TAB-completion will complete
your file or directory name, and completely ignore the case.
Do
remember to make changes to inputrc only as the root user. You
can read more about this in the manual pages of readline:
man
readline
--Sachin
P, iclcoolster@gmail.com
24.
Find your OS and distribution name
Here
is a tip that will let you know the name of the OS, along with other
details:
[root@vl-pun-blg-qa27]#
lsb_release -a
LSB
Version:
:core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch Distributor
ID: CentOS Description:
CentOS release 5.5 (Final) Release:
5.5 Codename:
Final
--Narendra
Kangralkar, narendrakangralkar@gmail.com
25.
Auto mounting a partition on Linux
The
file that contains data regarding the devices to be mounted at
start-up is in /etc/fstab. To automatically mount a partition, follow
the steps given below.
First,
create the directory in which your partition will be mounted. Create
one directory per partition. I created the directory in /media. This
directory is known as the 'mount point' for the partition.
To
create the mount point, open up the terminal and type the following
command:
sudo
mkdir location_of_dir/name_of_dir
…or
you can use Nautilus, the file manager, to create a folder.
If
the directory is created in a location in which you need root
privileges, use sudo. After creating the mount point, modify
/etc/fstab as per your requirements. It is always advisable to create
a backup of the /etc/fstab file before making any changes, because
any error in that file can prevent your OS from booting.
Now,
make changes in fstab to auto mount the HDD partition:
sudo
gedit /etc/fstab
Open
the /etc/fstab with a text editor of your choice with root
privileges. In
this file, add the details in the same order as done for the existing
partitions.
The
order should be as follows: the device name, the default mount point,
the file-system type, mount options, dump, and the fsck option.
The
device name is the name of the HDD partition (such as /dev/sda5): the
mount point is the full path of the directory where the partition is
to be mounted. The file system type is the type of file system like
ext4, fat, ntfs, etc. Mount options are normally given as defaults,
while dump and fsck options are given as 0.
I
had a partition /dev/sda5 and I created the directory /media/mydisk.
My partition was of type ext4, so to my /etc/fstab, I added the
following command:
/dev/sda5
/media/mydisk ext4 defaults 0 0
Save
the file and in the command prompt, type the following:
sudo
mount -a
Now,
the partition will be automatically mounted on every
reboot. --Vineeth
Kartha, vineethkartha@ieee.org
26.
Creating a virtual file system
Here
is a simple tip that allows you to create a virtual file system and
mount it with a loopback device.
STEP
1: First create a file of 10 MB using the following command:
$
dd if=/dev/zero of=/tmp/disk-image count=20480
By
default, dd uses a block of 512 so the size will be 20480*512 STEP
2: Now create the file system as ext2 or ext3 Here,
in the following example, let's use ext3 as a file system:
$
mkfs -t ext3 -q /tmp/disk-image
You
can even use Reiser as a file system type, but you'll need to create
a bigger disk image. Something like what's shown below:
$dd
if=/dev/zero of=/tmp/disk-image count=50480
$mkfs
-t reiserfs -q /tmp/disk-image
STEP
3: As the final step, create a mount point and mount the file
system:
$
mkdir /virtual-fs
$
mount -o loop=/dev/loop0 /tmp/disk-image /virtual-fs
Note:
If you want to mount multiple devices, you will have to increase the
loop count as mentioned below:
loop=/dev/loop1,
loop=/dev/loop2,... loop=/dev/loopn
After
you complete the above steps, you can use it as a virtual file
system. You can even add this to /etc/fstab to mount this virtual
file system whenever you computer is rebooted. Open
your /etc/fstab in a text editor and add the
following:
/tmp/disk-image
/virtual-fs ext3 rw,loop=/dev/loop0 0 0
--Aarsh
S Talati, aarshstalati1989@gmail.com
27.
Identify your current shell name
You
can identify your current shell name by using the following
commands:
[narendra@CentOS]$
echo $SHELL
/bin/bash
The
"SHELL" environment variable stores the name of the current
shell. You
can also use the command given below to get the shell
name:
[narendra@CentOS]$
echo $0
bash
"$0"
will print the name of the program; here the program name is 'current
shell'.
--Narendra
Kangralkar, narendrakangralkar@gmail.com
28.
Scan open ports
The
command given below will scan all the open TCP ports on the loopback
interface:
nmap
-sS -O 127.0.0.1
In
general, you can use the following:
nmap
-sS -O
To
scan open UDP ports in the system, use the command given below:
nmap
-sU -O
--Prasanna, prasanna.mohanasundaram@gmail.com
29.
Rev up!
As
*nix sysadmins, we need to do a whole bunch of text-based data
processing, either in files or data streams.
Here
is a shell command called rev that I came across and wanted to share
with you geeks because I really liked it and found it useful.
The
rev command utility reverses the order of characters in every line.
In short, it creates a mirror image. The most common use of rev is to
reverse the line, extract a particular string and then pipe through
rev a second time to restore the original.
So,
if I want to get the year mentioned at the end of a string, this is
what I will do:
$cat
fileinfo.txt
Last
Changed Date: 2011-08-11 18:10:08 -0500 Thu, 11 Aug 2011
$cat
fileinfo.txt | rev 1102
guA 11 ,uhT 0050- 80:01:81 11-80-1102 :etaD degnahC tsaL
$cat
fileinfo.txt | rev | awk '{print $1}' 1102
$cat
fileinfo.txt | rev | awk '{print $1}' | rev 2011
Voila!
Got the year! This is just one workaround, out of the many ways of
doing this same task. After all, it doesn't hurt to learn something
new. --Ram
Iyer, ramiyer1@gmail.com
30.
Increment or decrement a number present in Vim editor
This
tip will increment and decrement a number in Vim editor. To
increment, use Ctrl+A and to decrement, use Ctlr+X. The
following example will explain it further.
Let's
suppose a number, 5, is present in the file that is being edited in
Vim editor. Now, if you need to increment or decrement the number by
1, place the cursor on the digit and press Ctrl+A to increment it
(i.e., it becomes 6); if you press Ctrl+A again, 6 becomes 7, and so
on. In the same way, if you press Ctrl+X, the number will be
decremented by 1. If
you press 8 and then press Ctrl+X, the number will be decremented by
8. Similarly, pressing 12 and then Ctrl+A will increment the number
by 12. --Adithya
Kiran Gangu, adithya.kiran@gmail.com
31.
Search and delete files from a folder
If
you want to delete all the .lock files from a folder, use the
following command:
find
-name *.lock | xargs rm -rf
This
will find all the files with the .lock extension and delete them.
This can be done for any files that you need to
delete.
--Mridhul, mridhul@live.com
32.
Get the right information easily
Newbies
exploring GNU/Linux sometimes find it difficult to get the right
information about a device that is not working. Yet, this information
is required to make the device work. Here is a command that gives you
the details of all PCI devices and the kernel driver that is
associated with them. Open
the terminal and log in as the root user. Now run the following
command:
lspci
-k
lspci
gives you the information about the PCI buses and also the devices
connected to them, and the -k switch displays which kernel module is
handling the device. So if it is missing on some device, you need to
install the driver for that device.
--Pankaj
Tanwar, pankaj.tux@gmail.com
33.
Number conversion in the Vim editor
Here
is a tip that will let you convert hexadecimal numbers to decimal
numbers and vice versa in the Vim editor. To
convert hexadecimal numbers to decimal numbers, you need to type the
following in the Vim editor's command mode:
:echo
0x111
Press
Enter and you will get the result:
273
You
can even try the command given below to convert the number:
:echo
printf ('%d',0x111)
273
Now
to convert decimal numbers to hexadecimal numbers…
:echo
printf ('%x', 273) 111
You
can even perform simple arithmetic on Vim's command prompt as given
in the example below:
:echo
printf ('%x',273-173)
64
:echo
0x111-0x10
257 --Adithya
Kiran Gangu, adithya.kiran@gmail.com
34.
Know the libraries used by a program
Here
is a tip that will help you know what shared libraries are being used
by a program.
For
example, to figure out exactly which libraries are used by ls, run
the following command:
ldd
/bin/ls
The
output will be a list of all shared libraries:
linux-gate.so.1
=> (0xffffe000) libselinux.so.1
=> /lib/libselinux.so.1 (0xb786c000) librt.so.1
=> /lib/librt.so.1 (0xb7862000) libcap.so.2
=> /lib/libcap.so.2 (0xb785c000) libacl.so.1
=> /lib/libacl.so.1 (0xb7852000) libc.so.6
=> /lib/libc.so.6 (0xb76e4000) libdl.so.2
=> /lib/libdl.so.2 (0xb76df000) /lib/ld-linux.so.2
(0xb78a4000) libpthread.so.0
=> /lib/libpthread.so.0 (0xb76c4000) libattr.so.1
=> /lib/libattr.so.1 (0xb76be000)
--Aarsh
S Talati, aarshstalati1989@gmail.com
35.
Use YUM to download a package
Often,
you need to download rpm packages without installing them on the
system that you are using to download it. Using the normal YUM
command downloads the packages and also installs them on your
computer. Here is an option that will only download the rpm package
for you. It will download it in the folders specified in the
'--downloaddir' option.
#
yum update httpd -y --downloadonly --downloaddir=/opt
Now,
you can install all rpm packages in this folder by running the
following command:
#
rpm -Uivh *.rpm
Do
remember to run these commands as the root.
--Pratyay
Modi, pratyaymodi@gmail.com
36.
Resolve FSCK failed error
Sometimes,
while booting your Linux system, you may come across the error shown
below:
FSCK
failed. Please repair manually and reboot. The root file system is
currently mounted read-only. To remount it read-write do: bash#
mount-n -o remount,rw / Attention:
Only CONTROL-D will reboot the system in this maintance mode. shudown
or reboot will not work. Give
root password for login:_
Provide
your root password and try the following command:
mount
-n -o remount,rw /
If
this does not work for you, reboot your system and do a manual file
system check on your root partition as follows:
umount
/dev/hddXXX
fsck
-CV /dev/hddXXX
…where
hddXX is the root partition.
--Abhishek
Chib, abhishek.chib@gmail.com
37.
Undo your changes even after quitting the VIM editor
As
all of us know, if you make changes in a file using VIM editor, the
changes are permanent and you cannot get the old version back after
you save and quit the editor. But
VIM v7.3 allows you to get the old version back even after quitting
the editor. Here
is a tip that shows you how to configure VIM to remember changes. To
enable Undo, execute the following commands in VIM just before
starting to edit the file.
:set
undofile
:set
undodir=/tmp
This
is to be done every time you start editing a file. In case you need
the configuration to be there for all files that you open in VIM,
create a file called '.exrc' or '.vimrc' in $HOME directory. In my
case, it is /myhome. Open
the just created file and add the following commands:
#
vi /myhome/.exrc
set
undofile
set
undodir=/tmp
Save
and close the file.
:wq
From
now onwards, the Undo history is maintained in the background for all
files that you edit with VIM.
--Adithya
Kiran Gangu, adithya.kiran@gmail.com
38.
Using 'vi' commands on your terminal Using
'vi' commands while working on the terminal is a good work enabler.
To set your terminal to 'vi' mode, you need to use the following
command:
set
-o vi
Now
you can use the command mode and the insert mode of 'vi' while
working on the terminal.
--Dipjyoti
Ghosh, dipjyoti.ghosh@gmail.com
39.
Get your IP address
Here
is a one line command to fetch all the IP addresses (except
localhost) of your computer:
#
ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v
'127.0.0.1' | cut -f2 -d:
Note:
Use the above command as the root user.
--Balkaran
Brar, balkaran.brar@gmail.com
40.
Make your system speak for you!
You
can make your system speak for you by using the Speech Synthesizer
command normally available in Ubuntu and many other distributions of
Linux. To do so, issue the following command:
# espeak
"hello how are you"
You will hear a voice speaking
for you. To change the pitch of the voice, you can issue the
following command in the format shown:
# espeak -p 80 "hello
how are you"
…(default being 50) Issuing the
following form of command will control the speed of the speech, in
terms of words per minute:
# espeak -s 80 "hello how are
you"
There are more interesting options available in the
man pages. --Sanjay Goswami,
sanjaygoswamee@gmail.com
41. Measuring the network
throughput between two Linux systems
Iperf
is a tool that measures the bandwidth and the quality of a network
link. It can be installed very easily on any Linux system. One host
must be set as the client and the other one as the server. Make sure
that iperf is installed on both systems. If it is not installed, then
use your package manager to install it before trying this tip.
Now
run iperf on one of the Linux systems as the server, as shown
below:
linux-erv3:/home/test/Desktop # iperf
-s
------------------------------------------------------------ Server
listening on TCP port 5001
TCP window size: 85.3 KByte
(default) ------------------------------------------------------------
Go
to the second Linux system and run iperf -c as the
client:
linux-6bg3:~ # iperf -c
192.168.1.100
------------------------------------------------------------ Client
connecting to 192.168.1.100, TCP port 5001 TCP window size: 16.0
KByte
(default) ------------------------------------------------------------
[
3] local 192.168.1.109 port 39572 connected with 192.168.1.100 port
5001
^C[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 6.3
sec 6.38 MBytes 8.51 Mbits/sec
By default, the iperf client
connects to the iperf server on the TCP port 5001 and the bandwidth
displayed by iperf is the bandwidth from the client to the server. In
the above example, it is 8.51 Mbits/sec between two Linux test
systems connected over a wireless
network.
--Prasanna, prasanna.mohanasundaram@gmail.com
42.
Print a file with line numbers
If
you want a file with line numbers (say for printing), you can use the
'nl' command in Linux:
$
nl file.c
This
prints the file with line numbers to standard output or this can be
even redirected to a
file
as shown below:
$nl
file.c > output.txt
Here,
output.txt will have the codes of file.c with each line having a line
number.
--Phaniram
Vallury,
ramvvs@gmail.com
43.
Cut specific logs
If
you need to cut specific logs from the complete log of any
application, here is a tip that will
be
of help.
Open
the log file in a vi editor and set the editor to display the line
number:
vi
server.log
:set
nu
The
above process will provide you the line numbers in the logs. You can
then search for
the
specific string and note down the line number (e.g., 550). Now, note
down the last line
number
by using Shift+G (e.g., 780)
sed
-n 550,780p server.log > threaddump.log
So
the threaddump only contains lines from 550 to 780.
--Venkatesh
R,
venka.2k@gmail.com
44.
Reset ifconfig counters
As
you can see, ifconfig keeps a couple of counters (RX/TX packets,
RX/TX bytes, errors,
dropped,
overruns, frames and carrier collisions). You can quickly spot if
there is a problem by
just
looking at the ifconfig counters:
#ifconfig
eth0
eth0
Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet
addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX
packets:4233700943 errors:2 dropped:0 overruns:3 frame:5
TX
packets:1917219659 errors:1 dropped:0 overruns:0
carrier:348
collisions:5753
txqueuelen:3000
RX
bytes:1467520026 (1.3 GiB) TX bytes:2299240337 (2.1 GiB)
You
can now find out what driver is being used by the network interface,
which you want to
reset
by using ethtool.
#ethtool
-i eth0
driver:
e100
version:
3.4.14-k4-NAPI
firmware-version:
N/A
bus-info:
0000:01:07.0
#
modprobe -r e100; modprobe e100; ifup eth0
This
will reset all counters.
--Vinod
Rana,
rana3807@gmail.com
45.
Power yourself with Netstat
Here
are a few uses of the netstat command that can help you. To
display the kernel interface table:
netstat
-i
To
display the kernel routing table:
netstat
-rn
To
display all open network sockets:
netstat
-uta
To
display network statistics:
netstat
-s
--Prasanna, prasanna.mohanasundaram@gmail.com
46.
Finding the full path of the shell command
There
is a command named which that takes one or more arguments as input.
It prints to standard output the full path of the shell command. It
does this by searching for an executable or script in the directories
listed in the environment variable PATH:
[aarsh@localhost
~]$ which poweroff
/usr/bin/poweroff
If
the command is not found, it gives the output shown
below:
[aarsh@localhost
~]$ which moodule
/usr/bin/which:
no moodule in
(/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/aarsh/bin)
--Aarsh
S Talati, aarshstalati1989@gmail.com
47.
Securing files
Here
is a simple tip to password protect your files:
vi
-x test
This
command will ask for an encryption key. You have to type the key
twice. Then save and quit the opened file. Now,
whenever you open this file, it will ask for that password
first.
--Sumit
Chauhan, sumit1203@gmail.com
48.
Uninstalling a package
To
completely uninstall a package, first check the exact name of the
package to be uninstalled by using the following command:
sudo
dpkg --get-selections | grep package_name
The
output of the above command will display the name of the
package. Once
you know the package name, you can remove it by using the command
shown below:
sudo
apt-get remove --purge package_name
--Neeraj
Joshi, neeraj88joshi@gmail.com
49.
How to check the date and time the system was rebooted
Here
is a simple command to check the system's reboot date and
time:
#last
reboot
reboot
system boot 2.6.18-53.el5 Sat Aug 6 18:02 (8+04:45) wtmp
begins Sat Aug 6 18:02:07 2011
The
command below will give you the date and time the system was
booted:
#who
-b
system
boot 2011-08-24 09:43
--Sumit
Chauhan, sumit1203@gmail.com
50.
Reloading XWindows System
Sometimes,
while working on a Linux-based computer, XWindows System doesn't
respond very well. Here are the steps to reload XWindows System in a
non-responsive Ubuntu system.
1.
First open the command mode by pressing: Ctrl + Alt + F2 …and
then entering your username and password.
2.
Then run the following command:
top
Search
the process named 'Xorg' in the list. If
it does not appear, wait for a few seconds. Then find the PID of the
'Xorg' process, listed at the extreme left of the output on the
top. You
can also get the PID using the command given below:
pgrep
Xorg
3.
Now run the following command to kill the Xorg process:
sudo
kill "PID"
…where
PID is the process ID of Xorg. This
will reload the XWindows System.
Note:
You must have root access to use these commands
--Indermohan
Singh, indermohansinghk7@gmail.com
51.
Handling log files
Developers
require a lot of testing after coding the software and they
frequently need to handle the log files to identify the errors in the
code of an application program. Given below are the steps to handle
various log files that are being generated on a Linux system.
1.
Clearing a log/text file:
$
>filename
The
above command will clear all contents of the file. 2.
To view the log/text file:
$
tail -f filename
This
command will display the file contents as and when the log is
written. It also displays the flow of the log. 3.
To use more sophisticated tools on log files:
$
less filename
This
will display the log file contents. You can also use the commands
below while using less. a.
To refresh the log automatically, press:
"f"
after
issuing the less command.
b.
To stop refreshing the logs, press:
CTRL
+ C
c.
To scroll up, press:
w
d.
To scroll down, press:
d
e.
To exit the mode, press:
CTRL+C
and
then press
q
--Pranavam
Siddharthan, pranavam.s@gmail.com
52.
Changing file names from upper case to lower
To
manually change the case (upper to lower or vice versa) of a large
number of files can be tedious. So, here is a script that can make
life easy:
#to
change uppercase filenames to lowercase #!/bin/sh if
[ $# -eq 0 ] ; then echo
Usage: $0 Files exit
0 fi for
f in $* ; do g=`echo
$f | tr "[A-Z]" "[a-z]"` echo
mv -i $f $g mv
-i $f $g done
If
you want to change the case from lower to upper, replace
g=`echo
$f | tr "[A-Z]" "[a-z]"`
with
g=`echo
$f | tr "[a-z]" "[A-Z]"`
in
the script.
--Anil
Awasare, anil.awasare@gmail.com
Counting
the number of files in a directory Here
is a simple command that can count the number of files in a directory
(not the hidden ones):
echo
* | wc -w
--Anil
Awasare, anil.awasare@gmail.com
53.
Find and move files
You
can find and move files in two steps. Step 1 enables you to find all
files with .mp3 as the file extension. In Step 2, you can move
them. Step
1:
[narendra@ubuntu]$
find DIR_NAME -type f -iname
"*.mp3"
./dir2/f4.mp3 ./dir2/f3.mp3 ./dir1/f2.mp3
Note:
Replace DIR_NAME with your actual directory name.
In
the above example, you are only finding the files (that's why you
used -type f) that have extension '.mp3'. Now you can move these
files by using the '-exec' option of the 'find' command. Step
2:
[narendra@ubuntu]$
find DIR_NAME -type f -iname "*.mp3" -exec mv {} /tmp/mp3/
\;
Here,
'{}' matches each filename which is found by the 'find' command. And
'\;' is used to indicate the end of the command. After
executing this command, all mp3 files are moved into the '/tmp/mp3'
directory.
--Narendra
Kangralkar, narendrakangralkar@gmail.com
54.
Burning a DVD using the command line
Do
you know that burning content using the command line onto a DVD on
your Linux-based computer can be easy and fun? Here are the steps and
commands that allow you to do so.
Burning
an ISO image You
can download your favourite Linux distribution and type the following
single command:
$
growisofs -dvd-compat -Z /dev/dvd=your_linux_image.iso
Here
/dev/dvd is your DVD burner device.
Burning
a non-ISO image For
burning non-ISO images onto a DVD, first create an ISO image of the
data and then burn the ISO image on the disk:
$
mkisofs -r -o /tmp/my_stuff.iso ~/Desktop/My_Stuff/
$
growisofs -dvd-compat -Z /dev/dvd=/tmp/my_stuff.iso
There
are several options of mkisofs and growisofs that can be explored to
suit your requirement. You
can read the man pages for more details of the commands and their
options.
--Dibyendu
Roy, diby.roy@gmail.com
55.
Find out the elapsed time of a running process
There
are a lot of processes running on your Linux system. Here is a
command that will let you know how long the process has been
running:
#ps
-eo "%p %c %t"|grep "sshd"
In
response to the above command, you will get the following
output:
2850
sshd 172-01:37:22 29532
sshd 125-09:07:10
In
the above command %p is pid, %c is command and %t is elapsed
time.
--Ravikumar
R, ravikumar.raam@gmail.com
|
|
|
0 comments:
Post a Comment