26 January, 2011

pgrep command for listing PID's of currently running processes

pgrep is a bash command that looks through the currently running processes and lists the process IDs which matches the selection criteria to stdout.  All the criteria given as parameters to pgrep have to matched.
$ pgrep fi 
         -- List the PID of process names match with "fi".   

$ pgrep -l fi 
         -- Same as above and process name also get 
             listed.  
 
$ pgrep -vl fi 
         -- List all processes, which name not match    
             with "fi".   

$ pgrep -xl fi 
         -- List all processes, which name exactly match  
             with "fi".  
 
$ pgrep -f sbin 
         --List all processes, which are running from  some 
            sbin folder. It check the command line also.  
 
$pgrep -c fi
         --Show the count of matching processes.  
 
$ pgrep -d, fi 
         -- List the matching process id in CSV format.  
 
$ pgrep -t tty1 
         -- List the process controlling the term tty1. 
 
$ pgrep -u root, jo 
         -- List all processes owned by root and jo. 
 
$ pgrep -u jo gnome
         -- List the process called sshd and owned  by jo.  
 
$ pgrep -n fi 
          -- Show only the newest process.  
 
$ pgrep -o fi 
          -- Show only the oldest process.  
Read rest of entry

14 October, 2010

How to add sudo to last command typed in bash terminal



Its most common that you might forget to type in the 'sudo' command along with some other commands. I have faced this problem many times and usually end up by typing the entire command with sudo keyword again. Here is a technique that we can use to avoid retyping the command again after typing sudo.

Consider that i have to install a package called blueman system with the apt package manager via the terminal. Here i am not adding the sudo command before the apt command



Then type the following command to avoid rexecuting the command with all permissions

 $ sudo !!


See here the bash automatically retyped the command with sudo. 



Read rest of entry

11 October, 2010

Troubleshooting Network problems in Ubuntu


                Internet connectivity is one of the important means of communication in todays life. So troubleshooting the problems in our own networks or reconfiguring it for the easiness is not to be praised as a "geekness". In my opinion you don't need to be a geek for setting an internet connection or recovering your machine from a network problem.

Before getting into more troubles just checkout wheather the physical network components (cables, NICs, and so on) are connected properly and working. If everything is right then proceed to the following steps



Checking the Connectivity to a Host

The troubleshooting is done in a bottom up manner. So we will troubleshoot the network layer first and then move on to transport layer. Here we will check the connetivity by pinging  to your default gateway. You should have either configured the default gateway in the /etc/network/interfaces file, i have written a post about it in the last month or leave it to the system using service such as DHCP. To check your default gateway in the actual routing table, use the ip command as follows:

$ ip route


The gateway for the default route in this example is  192.168.0.5 To make sure wheather there is internet connectivity to that gateway, use the ping command as follows, passing the address for your default gateway:

$ ping 192.168.0.5

By default, ping continues until you press Ctrl+c. Other important ping options include the following:
$ ping -a 10.0.0.1
            [You can here a buzzer sound @ each pings]
$ ping -c 4 10.0.0.1 
            [Ping 4 times and exit (default in Windows)]
$ ping -q -c 5 10.0.0.1 
            [Show summary of pings (works best with -c)]
$ sudo ping -f 10.0.0.1 
            [Send a flood of pings (must be root)]
$ ping -i 3 10.0.0.1 
            [Send packets in 3-second intervals]
$ sudo ping -I eth0 10.0.0.1  
            [Set source to eth0 (use if multiple NICs)]



Use the ping flood option with caution, if the packet size is larger than usual  it can cause connections to stand out.

Checking Address Resolution Protocol (ARP)


If you’re not able to ping your gateway, you may have an issue at the Ethernet hardware address layer. The Address Resolution Protocol (ARP) can be used to find information at the MAC layer (hardware layer). 

ARP stands for Address Resolution Protocol, which is used to  find  the  media  access control [MAC] address of a network neighbour for a given IP Address.


To view and configure ARP entries, we can use the arp or ip neighbor command. Arp  command displays  the  kernel’s IPv4 network neighbour cache. It can add entries to the table, delete one or display the current content.

$ arp -v    [List ARP cache entries by name]



Above command will show the names of other computers that the local computer’s ARP cache knows about and the associated hardware type and hardware address of each computer’s NIC. You can disable name resolution to see those computers’ IP addresses instead of the hostname by using the following command:

$ arp -vn     [List ARP cache entries by IP address]

          To delete an entry from the ARP cache, use 
          the -d option:
              $ sudo arp -d 10.0.0.50
                   [Delete address 10.0.0.50 from ARP cache]

          Instead of just letting ARP dynamically learn 
          about other systems, you can add static ARP 
          entries to the cache using the -s option:
               $ sudo arp -s 10.0.0.51 00:0B:6A:02:EC:95


To query a subnet to see if an IP is already in use, and to find the MAC address of the device using it, use the arping command. The arping command continuously queries for the address until the command is ended by typing Ctrl+c. Typically, you just want to know if the target is alive, so you can run one of the following commands:

$ arping -f 10.0.0.50 
[Query 10.0.0.50 and stop at the first reply]

                      
$ arping -c 2 10.0.0.51 
[Query 10.0.0.50 and stop after 2 counts]


Tracing Routes to Hosts

After verifying that you can ping your gateway and even reach machines that are outside of your network you can use traceroute (traceroute package should be installed) to find the problem correctly.

$ traceroute  www.mywebsite.com  
[Follow the route taken to a host]
 

If there are lines of asterisks (*) in the end of  the list  it is because of the firewalls inside your office/college network that block traffic to the target. However, if you see several asterisks before the destination, those can indicate congestion or network failures and points to bottleneck issues.

traceroute command options are
$ traceroute -I www.google.com 
                        Use ICMP packets to trace a route
$ traceroute -p 25 www.google.com 
                        Connect to port 25 in trace
$ traceroute -n www.google.com 
                        Disable name resolution in trace
$ tracepath www.google.com 
                        Use UDP to trace the route

Using the ip command...
You can do the same activities with ip command similar to route command. Here are three different ways to show the same basic routing information:

$ ip route show 
[Display basic routing information]

options for adding and deleting routes with ip are as follows:
$ sudo ip r add 192.168.0.0/24 via 10.0.0.100 dev eth0                  - Add route to interface
$ sudo ip r add 192.168.0.0/24 via 10.0.0.100  
                           - Add route no interface
$ sudo ip r del 192.168.0.0/24 
                           - Delete route

To make a new route permanent, edit the /etc/network/interfaces file and place the information about the new route in that file. For example, to add the route added with the ip command above, add the following lines to /etc/network/interfaces:
       iface eth0 inet static
    address 192.168.0.0
    netmask 255.255.255.0
    gateway 10.0.0.100

Read rest of entry

05 October, 2010

Changing Permissions with chmod

The chmod command lets you change the access permissions of files and directories. shows several chmod command lines and how access to the directory or file changes.

chmod 0700

The directory’s owner can read or write files in that directory as well as change to it. All other users (except root) have no access.

chmod 0711 
Same as for the owner. All others can change to the directory, but not view or change files in the directory. This can be useful for server hardening, where you prevent someone from
listing directory contents, but allow access to a file in the directory if someone already knows it’s there.

chmod go+r

Adding read permission to a directory may not give desired results. Without execute on, others can’t view the contents of any files in that directory.

chmod 0777

All permissions are wide open.

chmod 0000

All permissions are closed. Good to protect a directory from errant changes. However, backup programs that run as non-root may fail to back up the directory’s contents.

chmod 666

Open read/write permissions completely on a file.

chmod go-rw Don’t let anyone except the owner view, change, or delete the file.

chmod 644

Only the owner can change or delete the file, but all can view it.
Read rest of entry

27 September, 2010

How to wipeout your hard disk perfectly in Ubuntu


Here is a command shread which can be used to in bash terminal of Ubuntu to wipeout your harddisk completely without leaving any chances for further recovery. Please dont try it unless otherwise you dont have no other use with your current system...

$ shread -v -n 1 -z /dev/hda


Options


-f, --force
       change permissions to allow writing if necessary

       -n, --iterations=N
       Overwrite N times instead of the default (25)

       -s, --size=N
       shred this many bytes (suffixes like K, M, G accepted)

       -u, --remove
       truncate and remove file after overwriting

       -v, --verbose
       show progress

       -x, --exact
       do not round file sizes up to the next full block;

       this is the default for non-regular files

       -z, --zero
       add a final overwrite with zeros to hide shredding
Read rest of entry

25 September, 2010

How to assign an IP address in Ubuntu using command line

Computers may be assiged a static IP address or assigned one dynamically. Typically servers and institutions will use a static IP which will not change each time u get connected. Workstation will use Dynamic Host Configuration Protocol (DHCP) for IP address assignment. It is more easily to find a system if the IP address does not change and is static.


Use the Command Line:

    /sbin/ifconfig eth0 192.168.10.12 netmask 255.255.255.0 broadcast 192.168.10.255                  
 
The ifconfig command does NOT store this information permanently. Upon reboot this information is lost. Manually add the network configuration to /etc/network/interfaces  as shown in my next post .
Read rest of entry

IP Configuration in Ubuntu

Here is a howto about the configuring ip using networking related files in Ubuntu / Debian systems.

File: /etc/network/interfaces
    This file contains network interface configuration information  for the ifup and ifdown commands. This is where you configure how your system is connected to the network.

Three important Interfaces are:
        # lo: Loopback interface (it is an internal 
            networking mechanism. It is used to
            test applications...)
        # eth0: First ethernet interface card
        # wlan0: First wireless network interface


Use following command to edit the interfaces file

$ sudo gedit /etc/network/interfaces

Add one or more of the stanzas below 

    Static IP example:
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
            address 208.88.34.106
            netmask 255.255.255.248
            broadcast 208.88.34.111
            network 208.88.34.104
            gateway 208.88.34.110
                   

    Dynamic IP (DHCP) example:
    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet dhcp

    auto eth1
    iface eth1 inet dhcp

    auto eth2
    iface eth2 inet dhcp

    auto ath0
    iface ath0 inet dhcp

    auto wlan0
    iface wlan0 inet dhcp
                   
    Lines  beginning with the word "auto" in the interfaces file are used to identify the physical interfaces to be brought up when ifup is run with the -a option.  (This option  is  used by the system boot scripts.)  Physical interface names should follow the word "auto" on the same line.

GUI Network Tools:

    * NetworkManager or wicd can be used as the GUI tools for the network management. Better use wicd network manager if you have to rely more upon the wireless internet than the wired ones
.
Read rest of entry
 

Terminal Diary | techblog Copyright © 2009 Gadget Blog is Designed by jintu jacob Powered by Blogger