The document provides information about accessing Linux from Windows using SSH. It discusses using programs like Putty, Xming, MobaXterm, and SmarTTY to connect to a Linux server. These programs allow running both command line and graphical applications remotely. The document also covers basic Linux commands like cal, ncal, echo, and tput to display calendars, output text, and query the terminal database for features.
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Basics of Linux Environment, Commands & Usage
1. Part 1
Basics: Environment, Access & Usage
Dr. Jahangir Alam
Computer Engineering Section
University Women’s Polytechnic
Aligarh Muslim University, Aligarh
September 19, 2019
2. What is linux?
Linux is a family of open source Unix-like operating systems.
It is based on the Linux kernel - an operating system kernel devel-
oped by Linus Torvalds in 1991.
The kernel is essentially written in C with a little of assembly code.
Linux is typically packaged in a Linux distribution (or distro for
short).
A distribution includes the Linux kernel and supporting system
software and libraries, many of which are provided by the GNU
Project.
Popular free Linux distributions include Debian, Fedora, and
Ubuntu.
Commercial distributions include Red Hat Enterprise Linux and
SUSE Linux Enterprise Server.
Desktop Linux distributions include a windowing system such as
X11 or Wayland, and a desktop environment such as GNOME or
KDE Plasma.
Linus B. Torvalds
2 of 73
3. Structure of Linux
Linux is a multiprogramming, mltiuser, time sharing and muti-
tasking operating system.
There are two major components of Linux, the kernel and the
shell.
The kernel is the core of the Linux operating system which
schedules processes and interfaces directly with the hardware.
It manages system and user I/O, processes, devices, files, and
memory.
The shell is an interface to the kernel.
Users input commands through the shell, and the kernel receives
the tasks from the shell and performs them.
The shell tends to do four jobs repeatedly:
- Displays a prompt
3 of 73
4. Structure of Linux (contd...)
- Reads a command
- Interprets the given command
- Then executes the command (Process the command and diaplay the
result - certainly with the help of the kernel)
- After this, it starts the process all over again.
4 of 73
5. Structure of Linux (contd...)
A shell this way is also called a command interpreter.
The shell also incorporates a powerful programming language.
This language referred to as Shell Programming, enables the
user to exploit the full power and versatility of Linux.
Clearly, if we want to work with Linux, we need to access its
shell.
So, in a way we can say that accessing Linux means accessing
its shell.
5 of 73
6. Various Linux Installations (Environments)
Direct Access
- Linux is loaded on the server.
- Each user needs a time slot.
- Not possible with so many students.
- Remove Windows from each computer and install Linux: Not
possible..
Dual Boot Systems
- Each computer in the lab could be configured as a dual boot
Linux-windows system.
- No concept of centralized security and administration.
- May annoy non Linux users.
- Complex disk partitioning schemes.
- Cross partition security restrictions are hard to implement.
6 of 73
7. Various Linux Installations (Environments) (contd...)
Virtualization
- Create a virtual machine on each computer.
- This may be done using some virtualization S/W (e.g. Oracle
VM Virtualbox).
- Install Linux on the virtual machine.
- Each box this way can have both-Windows and Linux.
- Yet again, no concept of centralized security and administra-
tion.
- May annoy non Linux users.
- Virtual machine shares resources with real machine.
- This may slowdown both Linux and Windows.
Remote Login (Terminal Emulation)
- Linux is loaded on one machine (preferably server).
7 of 73
8. Various Linux Installations (Environments) (contd...)
- Each user emulates his/her computer into Linux mode using
some terminal emulator program (terminal emulator).
- A terminal emulator allows a computer to access another
computer, including remote ones, through either a command-
line interface or a graphical one.
- The communication is made possible using protocols such as
Telnet, Rlogin, Raw and SSH (Secure Shell).
- No need to install Linux on each computer.
- Centralized security and administration.
- Best example of centralized computing.
- Telnet, Raw, Rlogin etc., being insecure are not used with
modern setups.
- So, we shall use ssh protocol to access the Linux server.
8 of 73
10. Accessing Linux from Windows using ssh
A ssh client is required.
To run GUI Linux applications a X Windows System Server (X-
Server) is also required.
A variety of ssh clients and X-Server are available:
- Putty: A pure ssh client with X11 forwarding.
- Xming: A pure X Windows System Server.
- VcXsrv: A pure X Windows System Server.
So, Putty used in combination with Xming or VcXsrv can serve
the purpose.
But, ideal solution must bring ssh client and X-Server as a single
package.
Some option in this category are:
10 of 73
11. Accessing Linux from Windows using ssh (contd...)
- Xmanager: X server for Windows with tabbed SSH client
(Best, but carries a cost)
- MobaXterm: Free X server for Windows with tabbed SSH
client.
- SmarTTY: Free X server for Windows with tabbed SSH client.
We shall use SmarTTY (preferred) or MobaXterm.
Next few slides demonstrate how some of them are used.
11 of 73
12. Accessing using Putty
Download Putty from https://www.putty.org/.
Install and Run it.
12 of 73
13. Accessing using Putty Xming
No X application could be run using putty. So,
Download Xming from:
https://sourceforge.net/projects/xming/.
Install and Run it. You must notice a Xming icon on the taskbar.
Enable X11 forwarding in Putty.
(Run Putty → Under Category expand SSH → Select X11 and
on right hand side check Enable X11 forwarding button).
Enter Linux server’s IP address in putty and login in the same
way as we have previously exercised.
We can now run command line as well as X applications.
Note: VcXsrv can also be used instead of Xming for the same
results.
13 of 73
15. Accessing using MobaXterm
Download Home Edition of MobaXterm from:
https://mobaxterm.mobatek.net/download.html.
Install and Run it.
Create new ssh session (Click Session → Click ssh).
Enter IP address of server in Remote Host field and your user-
name in the username field.
Click OK. Enter your password when prompted and you must
get the Linux $ prompt.
Now you can execute any application X based or command line.
15 of 73
17. Accessing using SmarTTY
Download SmarTTY from:
https://sysprogs.com/SmarTTY/download/.
Install and Run it.
Create new ssh session (Click New ssh connection).
Enter IP address of server in Host Name field and your username
ans password in intended fields.
Leave other settings as default and click Connect button.
SmarTTY prompts you to start a regular or smart terminal.
You can run X-based applications in both terminals but Smart
terminal offers you extended services over regular terminal.
Finally, you get the Linux $ prompt.
17 of 73
19. Part 1
Basic Commands
Dr. Jahangir Alam
Computer Engineering Section
University Women’s Polytechnic
Aligarh Muslim University, Aligarh
September 19, 2019
19 of 73
20. Changing password
Irrespective of what method you are using to access the Linux,
you must have a valid username and password on the Linux
machine.
Using following steps you can change your current password:
1. To start, type passwd at the command prompt.
2. Enter your old password, the one you are currently using.
3. Type in your new password.
4. Always keep your password complex enough so that nobody
can guess it. But make sure, you remember it.
5. You must verify the password by typing it again.
Have a look at the following figure:
20 of 73
22. The cal ncal Commands
On Unix-like operating systems, the cal and ncal commands
display a formatted calendar in the terminal.
ncal (new cal) stands for new calendar.
It provides the same functions of cal, but it can display the
calendar vertically (with weeks in columns).
On systems with ncal installed, cal is typically a symbolic link
to ncal.
It behaves like the original cal if you we the name cal to run the
program.
22 of 73
23. The cal ncal Commands (contd...)
Their general form is:
$cal [Options]
$ncal [Options]
If no options are specified, cal and ncal display the current
month, with the current day highlighted.
cal ncal: Important Options Examples
- The following are some mostly used options with cal and ncal:
23 of 73
24. The cal ncal Commands (contd...)
Option Description
-h Don’t highlight today’s date. (works with ncal only)
-m month Specify a month to display. The month specifier can be a full
month name (e.g., Februiary), a month abbreviation of at least
three letters (e.g., Feb), or a number (e.g., 2). If you specify a
number, followed by the letter f or p, the month of the following
or previous year, respectively, will be displayed. For instance, -m
2f displays February of next year.
-y year Specify a year to display. For example, -y 1970 displays the entire
calendar of the year 1970.
-3 Display last month, this month, and next month.
-1 Display only this month. This is the default.
-A num Display num months occurring after any months already specified.
For example, -3 -A 3 displays last month, this month, and four
months after this one; and -y 1970 -A 2 displays every month in
1970, and the first two months of 1971.
-B num Display num months occurring before any months already speci-
fied. For example, -3 -B 2 displays the previous three months, this
month, and next month.
-d YYYY-MM Operate as if the current month is number MM of year YYYY.
24 of 73
25. The cal ncal Commands (contd...)
- Execute Following Commands and analyze the result
carefully:
1. $ cal
2. $ ncal
3. $ ncal -h
4. $ cal -m february
5. $ cal -m sep
6. $ cal -m 5
7. $ cal -m 2f
8. $ cal -m 10p
9. $ cal -y 1970 (same as cal 1970)
10. $ cal -3
11. $ cal -1
12. $ cal -3 -A 3
13. $ cal -y 1970 -A 2
14. $ cal -3 -B 2
15. $ cal -d 2005-03
25 of 73
26. The echo Command
echo command on Unix-like operating systems prints text to
standard output, e.g., the terminal.
This is a built in command that is mostly used in shell scripts
to output status text to the screen or a file.
To confirm this execute following command:
$type echo
The general form of echo command is:
$echo [Option][String]
Following is a list of options available with echo:
26 of 73
27. The echo Command (contd...)
Option Description
-n Do not output a trailing newline.
-e Enable interpretation of backslash escape sequences.
-E Disable interpretation of backslash escape sequences. This is
the default.
- -help Display a help message and exit.
- -version Output version information and exit.
Following table lists echo backslash escape sequences. They are
interpreted only when echo is exercised with -e option:
Sequence Interpreted as
A literal backslash character ().
a An alert (The BELL character).
b Backspace.
c Produce no further output after this.
e The escape character; equivalent to pressing the escape key.
f A form feed.
n A newline.
r A carriage return.
t A horizontal tab.
v A vertical tab.
27 of 73
28. The echo Command (contd...)
echo Command: Execution Examples
- echo without any option(s) prints the string passed to it on
standard output (terminal).
$echo Hello World!
OR
$echo Hello World!
- In above example output of echo is same but the ways we have
passed arguments to echo are different.
- In first echo command the argument (Hello World!) are actually
two separate arguments (Hello and World!).
- In second echo command the argument (Hello World! or may
also be stated as ’Hello World!’) is treated as a single string.
Escape sequences are meant to work with strings.
28 of 73
29. The echo Command (contd...)
- echo is also used to print the values of shell/ environment vari-
ables as shown below:
$echo $PATH
$ x=5
$echo $x
- Escape sequences are not interpreted by default e.g.:
$echo Linux bis bfun.
- However, if we provide the -e option, they will be interpreted:
$echo -e Linux bis bfun.
- If you need to insert newlines in your echo output, specify the -e
option and include the n escape sequence wherever you want
a new line:
$echo -e ’Here,nwenhaveninsertednnewlines.’
29 of 73
30. The echo Command (contd...)
- To omit echoing trailing newline, use -n option with echo.
$echo -n Linux for Fun
- To print all files and folders in the present working folder use
following form of echo:
$echo *
This is somewhat equivalent to ls command (yet to be dis-
cussed).
30 of 73
31. The tput Command
tput command is used to query the terminfo terminal database
and check if that terminal supports a specific feature.
Long ago, when computers were centralized, interactive com-
puter users communicated with remote systems by using a phys-
ical terminal or a terminal emulator program running on some
other system (like we are using).
In their blooming days, there were many kinds of terminals.
They all used different sequences of control characters to man-
age their screens and keyboards.
When we start a terminal session on our Linux system, the
terminal emulator sets the TERM environment variable with
the name of a terminal type.
If we examine TERM, we can see this:
31 of 73
32. The tput Command (contd...)
$echo $TERM
In this example, we notice that our terminal type is named
xterm suggesting that our terminal behaves like the classic
X terminal emulator program xterm.
Other common terminal types are linux for the Linux console,
and screen.
While we will encounter these 3 types most often, there are, in
fact, thousands of different terminal types.
Our Linux system contains a database called terminfo that de-
scribes them.
We can examine a typical terminfo entry using the infocmp
command followed by a terminal type name:
32 of 73
33. The tput Command (contd...)
$infocmp xterm
OR
$infocmp screen
Terminal(s) information is there in terminfo database in coded
form.
tput command queries this database and produces meaningful
terminal information for the user.
Information so obtained also lead to setting terminal properties.
It is a vast command and for details you can refer to:
http://linuxcommand.org/lc3_adv_tput.php.
Here we shall look into its most widely used options.
1. Set the cursor position:
You can move the cursor to a specific row and column using tput cup.
33 of 73
34. The tput Command (contd...)
$tput cup 2 3
OR
$tput cup 5 30
2. Clear the Screen:
You can clear the screen using tput clear.
$tput clear
3. Get the number of columns/ lines and colors supported by a Terminal:
To display the number of columns/rows of your terminal screen use tput
cols/tput lines. To find numbers of colours supported by your terminal
use tput colors
$tput cols
$tput lines
$tput colors
34 of 73
35. The tput Command (contd...)
4. Change the Terminal Foreground/Background Color:
To change the terminal’s foreground/ background color use tput setf/tput
setb.
$tput setb 4
$tput setf 7
If you notice reverse colors, first use the command tput rev, to reverse
the video. As emulator settings may override the defaults, it is better
to exercise these commands in a separate xterm.
Note: If you set foreground and background to the same color you
cannot see the cursor. So, to reset, execute tput reset.
5. Turn On and Turn Off Highlighting:
tput allows us to turn on/off the text high lighting using tput bold/tput
sgr0. When we turn it on, new text in the terminal gets bold.
$tput bold
$tput sgr0
35 of 73
36. The tput Command (contd...)
6. Underline Text:
tput allows us to turn on/off the text underline mode using tput smul/tput
rmul.
$tput smul
$tput rmul
7. Hide/ Unhide Cursor:
tput allows us to turn hide/unhide the cursor using tput civis/tput
cnorm.
$tput civis
$tput norm
Note: If any of the above tput commands doesn’t execute properly in the emulator, try to execute it in a
separate xterm.
You can start a separate xterm using:
$xterm
36 of 73
37. The date Command
date command on Unix-like operating systems, is used to print
or change the value of, the system’s time and date information.
Its general form is:
$date [Options] . . . [+Format]
date Command: Options, Execution Examples
- With no options, the date command displays:
the current date and time,
including the abbreviated day name, abbreviated month name, day of
the month, the time separated by colons,
the time zone name, and the year.
$date
37 of 73
38. The date Command (contd...)
With -u Option it displays the time in GMT(Greenwich Mean
Time)/UTC(Coordinated Universal Time ) time zone.
$date -u
With −−date or -d Option it displays the given date string in
the format of date.
Also, this doesn’t affect the system’s actual date and time value.
Instead, it uses the date and time given in the form of string.
$date −−date=2/02/2010
OR
$date -d=2/02/2010
OR
$date −−date=Feb 2 2010
Above options can also be utilized to display past dates as shown
in following examples:
38 of 73
39. The date Command (contd...)
1. Date and time of 2 years ago.
$date −−date=2 year ago
2. Date and time of 5 seconds ago.
$date −−date=5 sec ago
3. Date and time of previous day.
$date −−date=yeaterday
4. Date and time of 2 months ago.
$date −−date=2 month ago
5. Date and time of 10 days ago.
$date −−date=10 day ago
Same options can also be utilized to display future dates as
shown in following examples:
1. Date and time of upcoming particular week day.
$date −−date=next tue
2. Date and time after two days.
$date −−date=2 day
3. Date and time of next day.
$date −−date=tomorrow
4. Date and time after 1 year on the current day.
$date −−date=1 year
39 of 73
40. The date Command (contd...)
With -s or −−set option we can set the system date and time.
Have a look at following commands:
$date −−set=Tue Nov 13 15:23:34 PDT 2018
OR
$date -s=Tue Nov 13 15:23:34 PDT 2018
Note:It doesn’t work in ubuntu.
The -f or −−file option is used to display the date string present
at each line of file in the date and time format.
This option is similar to -d or −−date option.
only difference is that in −−date we can only give one date
string but in a file we can give multiple date strings, one each
line.
Execute following command:
40 of 73
41. The date Command (contd...)
$cat »
dfile.txt
Sep 23 2018
Nov 03 2019
Now exercise date command for dfile.txt as follows:
$date −−file=dfile.txt
With -r the date command displays the last modified timestamp
of a datefile.
$date -r filename
With -I option the date command displays the date in ISO 8601
format (YYYY-MM-DD).
$date -I
With -R option the date command displays the date and time
in RFC 2822 format.
41 of 73
42. The date Command (contd...)
Example is: Mon, 07 Aug 2006 12:34:56 -0600.
$date -R
Date Format
Format is a sequence of characters which specifies how output
will appear.
General format for specifying a format with the date command
is:
+%[format-option]
It comprises some combination of the following sequences:
42 of 73
43. The date Command (contd...)
Sequence Description
%D Display date as mm/dd/yy.
%d Display the day of the month (01 to 31).
%a Displays the abbreviated name for weekdays (Sun to Sat).
%A Displays full weekdays (Sunday to Saturday).
%h Displays abbreviated month name (Jan to Dec).
%b Displays abbreviated month name (Jan to Dec).
%B Displays full month name(January to December).
%m Displays the month of year (01 to 12).
%y Displays last two digits of the year(00 to 99).
%Y Display four-digit year.
%T Display the time in 24 hour format as HH:MM:SS.
%H Display the hour.
%M Display the minute.
%S Display the seconds.
For a more detailed list of date command options and format sequences you may
refer to: https://www.computerhope.com/unix/udate.htm.
43 of 73
44. The date Command (contd...)
Execute the following commands and notice the output:
1. $date +%D
2. $date +%D %T
3. $date +%Y-%m-%d
4. $date +%Y/%m/%d
5. $date +%A %B %d %T %y
44 of 73
45. The time Command
time command on Unix-like operating systems, reports how long
it took for a command to complete execution.
It prints a summary of real-time, user CPU time and system
CPU time spent by executing a command when it terminates.
First thing to note is that every Linux command is a program.
real time is the time elapsed wall clock time taken by a command
to get executed.
user time is the amount of CPU time that the command spends
executing its own code.
For small Linux commands, which take milliseconds to execute,
this time is often shown as 0.0.
sys time is the amount of CPU time that the command spends
executing kernal oriented code.
45 of 73
46. The time Command (contd...)
Thus we conclude that the actual amount of CPU time spent
on executing a command is the sum of its user and sys
times.
General form of time command is:
time [Option] [command]
time Command: Important Options Examples
- Two options are available with time command.
- They are -p and help.
- Execute following commands and notice the output:
1. $time sleep 3
2. $time df
3. $time ls -l
4. $help time.
46 of 73
47. The time Command (contd...)
- In the above example, sleep 3 is used to create a dummy job
which lasts 3 seconds.
- The df command calculates free disk space and ls -l command
list files in present working directory.
- If -p option is specified, the timing summary is printed in a
portable POSIX format.
- The Portable Operating System Interface (POSIX) is a family
of standards specified by the IEEE Computer Society for main-
taining compatibility between operating systems.
- Execute following commands:
1. $time -p sleep 3
2. $time -p df
3. $time -p ls -l
47 of 73
48. Part 1
Knowing Yourself Other Users
Dr. Jahangir Alam
Computer Engineering Section
University Women’s Polytechnic
Aligarh Muslim University, Aligarh
September 19, 2019
48 of 73
49. The who Command
who command is used to find out the following information:
1. Time of last system boot
2. Current run level of the system
3. List of logged in users and more.
The command is mostly used to get information about currently
logged in user on to the system.
Its general form is:
$who [Options] [File] [am i]
If FILE is specified, who gathers its information from this file.
Otherwise, it reads from a default file location (usually
/var/run/utmp).
49 of 73
50. The who Command (contd...)
who Command: Important Options Examples
- If you run who command without any arguments, it will display
account information (user login name, user’s terminal, time of
login as well as the host the user is logged in from) on your
system.
$who
- To have the headings of the columns displayed, use the -H flag
as shown.
$who -H
50 of 73
51. The who Command (contd...)
- To print the login names and total number of logged on users,
use the -q flag.
$who -q
- In case you want to show only hostname and user associated
with stdin, use the -m switch.
$who -m
Note: If the arguments am i are specified, who assumes the
-m option.
51 of 73
52. The who Command (contd...)
- To add user’s message status as +, - or ?, use the -T or
--message switch option.
$who -T
OR
$who - -message
- Terminal number (line) preceded by ’+’ means, associated user
is allowed to write the message using ’write’ command.
- Preceded by ’-’ means, associated user is not allowed to write
the message using ’write’ and by ’?’ means Linux is unable to
find the terminal number.
- To view the time of last system boot, use the -b flag.
52 of 73
53. The who Command (contd...)
$who -b
- Adding the -u option allows for listing of logged on users in the
same output.
$who -bu
- We can check the current system runlevel with the -r option.
$who -r
- To display all details of current logged in user use -a option.
53 of 73
54. The who Command (contd...)
$who -a
- To display a list of all dead processes.
$who -d
- To display a list of all active processes which are spawned by
INIT process use -p option.
$who -p
54 of 73
56. The logname Command
logname command is used to confirm your login name.
It displays the login name of the current user.
Its general form is:
$logname [Option]
logname Command: Important Options Examples
- It accepts only two options. They are - -help and - -version.
- They are self-explanatory.
56 of 73
57. The finger Command
finger command displays information about the users currently
logged in to a host.
The format of the output varies with the options for the infor-
mation presented.
Its general form is:
$finger [Options] [User(s)|User(s)@Host|@Host]
The parameters are as as follows:
Item Description
@Host Specifies all logged-in users on the remote host.
User Specifies a local user ID (used for discretionary access control) or
local user login name, as specified in the /etc/passwd file.
User@Host Specifies a user ID on the remote host, displayed in long format.
57 of 73
58. The finger Command (contd...)
finger Command: Important Options Examples
- If we run finger command without any option, for each user it
displays:
• Login name,
• Full user name,
• Terminal name,
• Write status (an * (asterisk) before the terminal name indicates that write permission
is denied),
• Idle time (Idle time is minutes if it is a single integer, hours and minutes if a : (colon)
is present, or days and hours if a d is present.),
• Login time and
• Site-specific information. ‘
$finger
58 of 73
59. The finger Command (contd...)
- With -s option, finger displays the same information as it does
without any option.
$finger -s
- With -l option, finger displays a multi-line format displaying all
of the information described for the -s option as well as the
user’s home directory, home phone number, login shell, mail
status, and the contents of the files ∼/.plan, ∼/.project,
∼/.pgpkey and ∼/.forward from the user’s home directory.
- If write permission is denied to the device, the phrase (mes-
sages off) is appended to the line containing the device name.
59 of 73
60. The finger Command (contd...)
- One entry per user is displayed with the -l option; if a user is
logged on multiple times, terminal information is repeated once
per login.
- Mail status is shown as No Mail. if there is no mail at all,
Mail last read DDD MMM ## HH:MM YYYY (TZ) if the
person has looked at their mailbox since new mail arriving
$finger -l
- The -p option, used with -l option prevents of finger from dis-
playing the contents of the ∼/.plan, ∼/.project, ∼/.pgpkey
and ∼/.forward files.
60 of 73
61. The finger Command (contd...)
$finger -lp
- The -m option, prevents matching of usernames.
- The user is usually a login name; however, matching will also be
done on the users’ real names, unless the -m option is supplied.
- All name matching performed by finger is case insensitive.
$finger -m jahangir
- To get information about all users logged in to host amucc (or
host ip address), enter:
61 of 73
62. The finger Command (contd...)
$finger @amucc
- To get information about user ’jahangir’ at host amucc, enter:
$finger jahangir@amucc
- Note:The last two commands (meant for remote hosts) work
only when fingerd demon is running on the intended host(s). If
not, connection refused is the message.
- This will require the fingerd demon to install and start on that
server using commands:
$sudo apt-get install inetutils-inetd fingerd.
$sudo /etc/init.d/inetutils-inetd start.
62 of 73
64. The whoami Command
whoami command is used to confirm your login name. It is
similar to logname command.
It displays the login name of the current user.
Its general form is:
$whoami [Option]
whoami Command: Important Options Examples
- It accepts only two options. They are - -help and - -version.
- They are self-explanatory.
64 of 73
65. The id Command
id command on Unix-like operating systems, is used to find user
and group names and numeric ID’s (UID or group ID) of the
current user or any other user of the system.
This command is particularly useful to determine the following
information:
- user ID
- username.
- group ID.
- group name.
- ID of other groups.
- names of other groups.
Its general form is:
$id [OPTION] ... [USER]
65 of 73
66. The id Command (contd...)
id Command: Important Options Examples
- The id command reveals all the information listed above, about
the current user when run without any option.
- Execute id as follows:
$id
- To reveal same information for any other user say ’sam’, use id
as follows:
$id sam
- With -g or - -group option, it reveals the primary group id for
the current user.
$id -g
or
$id - -group
66 of 73
67. The id Command (contd...)
- If you want to see the primary group id for a different user say
’sam’, specify the user’s name as follows:
$id -g sam
or
$id - -group sam
- With -G or - -groups option the id command lists the secondary
groups a user belongs to.
- Execute following commands:
$id -G
or
$id - -groups
$id -G sam
or
$id - -groups sam
- With -gn or - -group - -name option the id command lists the
name of the primary group for current user or for a specific user.
67 of 73
68. The id Command (contd...)
- Execute following commands:
$id -gn
or
$id - -group - -name
$id -gn sam
or
$id - -group - -name sam
- If you want to display the secondary group names and not the
id numbers for current user or for a specific user, use -Gn or
- -groups - -name option.
- Try following commands:
$id -Gn
or
$id - -groups - -name
$id -Gn sam
or
$id - -groups - -name sam
68 of 73
69. The id Command (contd...)
- With -u or - -user option the id command displays the user id
for the current user or for some specified user.
$id -u
or
$id - -user
$id -u sam
or
$id - -user sam
- You can display the username for the current user by typing the
following command:
$id -un
or
$id - -user - -name
- Options - -help and - -version have usual meaning with id com-
mand.
69 of 73
70. The w Command
w command on Unix-like operating systems is a quick way to
see who is logged on and what they are doing.
This command shows the information about the users currently
on the machine and their processes (running programs).
When executed without any option the header shows, in the
order, the current time, how long the system has been running,
how many users are currently logged on, and the system load
averages for the past 1, 5, and 15 minutes.
Following entries are displayed for each user:
login name
terminal name
the user’s host
login time
idle time
70 of 73
71. The w Command (contd...)
JCPU, PCPU, and the command line of their current process.
The JCPU time is the time used by all processes attached to the
terminals. It does not include past background jobs but does
include currently running background jobs.
The PCPU time is the time used by the current process, named
in the what field.
General form of w command is:
$w [OPTIONS] [USER]
71 of 73
72. The w Command (contd...)
w Command: Important Options Examples
- With -h option, w command doesn’t print the header.
- With -u option, w command, ignores the username while figur-
ing out the current process and cpu times.
(Note: To practice an example of this, switch to the root user
with sudo su and then run both w and w -u.)
- Try following commands:
$w
$w -h
$sudo su
#w
#w -h
- With -s option, w command, uses the short format. It doesn’t
print the login time, JCPU or PCPU times.
72 of 73
73. The w Command (contd...)
- With -f option, w command, doesn’t displays the FROM (host
name/ip address) field.
- With -help option, w command, displays the help.
- With -V option, w command, displays the version information.
- With user option, w command, displays the information about
specified user only.
- Try following commands:
$w -s
$w -f
$w -help
$w -V
$w sam
73 of 73