Working more effectively with shell – basic commands
Let us learn a few commands, which are required very often, such as man
, echo
, cat
and similar:
- Enter the following command. It will show the various types of manual pages displayed by the
man
command:$ man man
From the following table, you can get an idea about various types of
man
pages for the same command:Section number
Subject area
1
User commands
2
System calls
3
Library calls
4
Special files
5
File formats
6
Games
7
Miscellaneous
8
System admin
9
Kernel routines
- We can enter the
man
command to display corresponding manual pages as follows:$ man 1 command $ man 5 command
- Suppose we need to know more about the
passwd
command, which is used for changing the current password of a user, you can type the command as follows:$ man command man -k passwd // show all pages with keyword man –K passwd // will search all manual pages for pattern $ man passwd
This will show information about the
passwd
command:$ man 5 passwd
The preceding command will give information about the file
passwd
, which is stored in/etc /passwd
. - We can get brief information about the command as follows:
$ whatis passwd
Output:
passwd (1ssl) - compute password hashes passwd (1) - change user password passwd (5) - the password file
- Every command we type in the terminal has an executable binary program file associated with it. We can check the location of a binary file as follows:
$ which passwd /usr/bin/passwd
The preceding line tells us that the binary file of the
passwd
command is located in the/usr/bin/passwd
folder. - We can get complete information about the binary file location as well as manual page location of any command by following:
$ whereis passwd
The output will be as follows:
passwd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz /usr/share/man/man5/passwd.5.gz
- Change the user login and effective user name:
$ whoami
This command displays the user name of the logged in user:
$ su
The
su
command (switch user) will make the user as the administrator; but, you should know the administrators, password. Thesudo
command (superuser do) will run the command with administrator's privileges. It is necessary that the user should have been added in thesudoers
list.# who am i
This command will show the effective user who is working at that moment.
# exit
- Many a times, you might need to create new commands from existing commands. Sometimes, existing commands have complex options to remember. In such cases, we can create new commands as follows:
$ alias ll='ls –l' $ alias copy='cp –rf'
To list all declared aliases, use the following command:
$ alias
To remove an alias, use the following command:
$ unalias copy
- We can check about the operating system details such as UNIX/Linux or the distribution that is installed by the following command:
$ uname
Output:
Linux
This will display the basic OS information (UNIX name)
- Linux kernel version information will be displayed by the following:
$ uname –r
Output:
3.13.0-32-generic
- To get all the information about a Linux machine, use the following command:
$ uname –a
Output:
Linux ubuntu 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:50:54 UTC 2014 i686 i686 i386 GNU/Linux
- The following commands will give you more information about the distribution of Linux:
$ cat /proc/version // detailed info about distribution $ cat /etc/*release # lsb_release -a // will tell distribution info for Ubuntu
The command
cat
is used for reading files and displayed on the standard output. - Sometimes, we need to copy a file or directory in many places. In such situations, instead of copying the original file or directory again and again, we can create soft links. In Windows, a similar feature is called as creating a shortcut.
$ ln -s file file_link
- To learn about the type of file, you can use the command file. In Linux, various types of files exist. Some examples are as follows:
- Regular file (-)
- Directory (d)
- Soft link (l)
- Character device driver (c)
- Block device driver (b)
- Pipe file (p)
- Socket file (s)
- We can get information about a file using the following command:
$ file fil_name // show type of file
- Printing some text on the screen for showing results to the user or to ask details is an essential activity.
- The following command will create a new file called
file_name
using thecat
command:$ cat > file_name line 1 line 2 line 3 < Cntrl + D will save the file >
But this is very rarely used, as many powerful editors are already existing, such as vi or gedit.
- The following command will print
Hello World
on the console. Theecho
command is very useful for Shell script writers:$ echo "Hello World"
- The following command will copy the string
Hello World
to thehello.c
file:$ echo "Hello World" > hello.c
The command
echo
with>
overwrites the content of the file. If content already exists in the file, it will be deleted and new content will be added in the file. In a situation, when we need to append the text to the file, then we can use theecho
command as follows:$ echo "Hello World" >> hello.c will append the text
- The following command will display the content of the file on screen:
$ cat hello.c
- The following command will create a new file called