Friday, March 2, 2012

Useful Commands for Linux Terminal (command line interface)

Fundamental Commands are given below:


  1. sudo: Executing Commands with Root Privileges


    Most of the following commands will need to be prefaced with the sudo command. which is necessary when working with directories or files not owned by your user account. When using sudo you will be prompted for your password. Only users with sudo (administrative) privileges will be able to use this command.




  1. Useful File and Directory Commands





  • The tilde (~) symbol indicates it is  your home directory. If you are user, then the tilde (~) stands for /home/user

  • pwd: The pwd command will allow you to know in which directory you're located (pwd stands for "print working directory"). Example: "pwd" in the Desktop directory will show "~/Desktop".

  • ls: The ls command used for showing the files in your current directory.

  • cd: The cd command will allow you to change directories. When you open a terminal you will be in your home directory. To move around the file system you will use cd. Examples:

    • To navigate into the root directory, use "cd /"

    • To navigate to your home directory, use "cd" or "cd ~"

    • To navigate up one directory level, use "cd .."

    • To navigate to the previous directory (or back), use "cd -"

    • To navigate through multiple levels of directory at once, specify the full directory path that you want to go to. For example, use, "cd /var/www" to go directly to the /www subdirectory of /var/. As another example, "cd ~/Desktop" will move you to the Desktop subdirectory inside your home directory.



  • cp: The cp command will make a copy of a file for you. Example: "cp jaseem job" will make an exact copy of "jaseem" and name it "job", but the file "jaseem" will still be there. If you are copying a directory, you must use "cp -r directory jasmedia" (copy recursively). (To understand what "recursively" means, think of it this way: to copy the directory and all its files and subdirectories and all their files and subdirectories of the subdirectories and all their files, and on and on, "recursively")

  • mv: The mv command will move a file to a different location or will rename a file. Examples are as follows: "mv jaseem jasmedia" will rename the file "jaseem" to "jasmedia". "mv jaseem ~/Desktop"will move the file "jaseem" to your Desktop directory but will not rename it. You must specify a new file name to rename a file.

    • To save on typing, you can substitute '~' in place of the home directory.

    • Note that if you are using mv with sudo you can use the ~ shortcut, because the terminal expands the ~ to your home directory. However, when you open a root shell with sudo -i or sudo -s, ~ will refer to the root account's home directory, not your own.



  • rm: Use this command to remove or delete a file in your directory.

  • rmdir: The rmdir command will delete an empty directory. To delete a directory and all of its contents recursively, use rm -r instead.

  • mkdir: The mkdir command will allow you to create directories. Example: "mkdir Document" will create a directory called "music".

  • man: The man command is used to show you the manual of other commands. Try "man man" to get the man page for man itself.


Running a File Within a Directory


So you've decided to run a file using the command-line? Well... there's a command for that too!

./filename.extension


After navigating to the file's parent directory, this command will enable any Ubuntu user to parse files compiled via gcc or any other programming language. Keep in mind that the 'extension' will vary depending upon the language the source code is written in. For example: ".c" for C source, ".cpp" for C++, ".rb" for Ruby, ".py" for python, etc. Also, remember that (in the case of interpreted languages like Ruby & Python) you must have a version of that language installed on Ubuntu before trying to run files written with it.

System Information Commands



  • df: displays filesystem disk space usage for all mounted partitions. "df -h" is probably the most useful - it uses megabytes (M) and gigabytes (G) instead of blocks to report. (-h means "human-readable")

  • du: The du command displays the disk usage for a directory. It can either display the space used for all subdirectories or the total for the directory you run it on. Example:


user@users-desktop:~$ du /media/cd

1032 /media/cd/files

1036 /media/cd/

user@users-desktop:~$ du -sh /media/cd

1.1M /media/cd/

where -s means "Summary" and -h means "Human Readable"

  • free: The free command displays the amount of free and used memory in the system. "free -m" will give the information using megabytes, which is probably most useful for current computers.

  • top: The top command displays information on your Linux system, running processes and system resources, including CPU, RAM & swap usage and total number of tasks being run. To exit top, press "q".

  • uname -a: The uname command with the -a option prints all system information, including machine name, kernel name & version, and a few other details. Most useful for checking which kernel you're using.

  • lsb_release -a: The lsb_release command with the -a option prints version information for the Linux release you're running

  • ip addr reports on your system's network interfaces.


Adding A New User


"adduser newuser" command will create a new general user called "newuser" on your system, and to assign a password for the newuser account use "passwd newuser".

Options


The default behaviour for a command may usually be modified by adding a --option to the command. The ls command for example has an -s option so that "ls -s" will include file sizes in the listing. There is also a -h option to get those sizes in a "human readable" format.

Options can be grouped in clusters so "ls -sh" is exactly the same command as "ls -s -h". Most options have a long version, prefixed with two dashes instead of one, so even "ls --size --human-readable" is the same command

I hope it is helpful for Ubuntu Biginners.....!