Intro To 'pinky' Command In Linux
2024-02-14 - By Robert Elder
I use the 'pinky' command to point my pinky finger at a given user, and display information about them:
pinky -l robert
Login name: robert In real life: robert
Directory: /home/robert Shell: /bin/bash
Meaning Of 'pinky' Command
In order to understand the purpose of the 'pinky' command, it is necessary to first understand it's predecessor, the 'finger' command. The man pages describe 'pinky' as a lightweight version of 'finger':
man pinky
PINKY(1) User Commands PINKY(1)
NAME
pinky - lightweight finger
SYNOPSIS
pinky [OPTION]... [USER]...
...
Meaning Of 'finger' Command
The 'finger' command was created by Les Earnest and, according to this archived newsgroup post, first appeared around 1971 at the Stanford Artificial Intelligence Lab (original newsgroup posting reproduced below for archival purposes):
Sean Colbath
Feb 19, 1990, 9:39:31 PM
to
In response to a number of users who read my article re: the etymology of
the "finger" command, I send mail to Les Earnest, who, according to ARPA
RFC742, wrote the original finger command. Here is the reply I got,
reproduced with his permission. I think you may find it quite amusing and
enlightening.
>From L...@SAIL.Stanford.EDU Mon Feb 19 21:32:35 1990
Received: from cayuga.cs.rochester.edu by sol.cs.rochester.edu (4.0/q) id AA13568; Mon, 19 Feb 90 21:32:33 EST
Received: from Sail.Stanford.EDU by cayuga.cs.rochester.edu (5.59/q) id AA20402; Mon, 19 Feb 90 21:32:26 EST
Message-Id: <Kl$B...@SAIL.Stanford.EDU>
Date: 19 Feb 90 1831 PST
From: Les Earnest <L...@SAIL.Stanford.EDU>
Subject: re: Greetings...
To: col...@CS.ROCHESTER.EDU
Status: R
[In reply to message sent Mon, 19 Feb 90 16:02:17 EST.]
I'm glad that you are enjoying the C3 articles. I need to write another
one soon.
Here is a response to your conjectures, mostly regurgitated from an
article that I posted on Human-nets in 1985. Feel free to forward it to
alt.forklore.computers, or I can post it there if you prefer. I haven't
been reading that newsgroup, but a quick look indicates that maybe I
should.
Finger was named for the act of pointing. I recall that sometime after it
became popular I received a message from a system administrator who
thought that it should be renamed so that users would not have to use a
"dirty" word. I gave his request all the consideration that it deserved.
I created Finger around 1971 to meet a local need at the Stanford
Artifical Intelligence Lab. People generally worked long hours there,
often with unpredictable schedules. When you wanted to meet with some
group, it was important to know who was there and when the others would
likely reappear. It also was important to be able to locate potential
volleyball players when you wanted to play, Chinese food freaks when you
wanted to eat, and antisocial computer users when it appeared that
something strange was happening on the system.
The only tool then available for seeing who was running on our DEC-10
computer was a WHO program that showed IDs and terminal line numbers for
people who were logged in. There was no information available on people
who were not logged in. I frequently saw people running their fingers
down the WHO display saying things like "There's Don and that's Pattie but
I don't know when Tom was last seen." or "Who in hell is VVK and where
does line 63 go?"
I wrote Finger and developed the supporting database to provide this
information in traditional human terms -- real names and places. Because
I preferred to talk face to face rather than through the computer or
telephone, I put in the feature that tells how long the terminal had been
idle, so that I could assess the likelihood that I would find them there
if I walked down the hall.
The program was an instant hit. Some people asked for the Plan file
feature so that they could explain their absence or how they could be
reached at odd times, so I added it. I found it interesting that this
feature evolved into a forum for social commentary and amusing
observations.
Finger was picked up by a number of other groups with DEC-10 computers
that were connected to Arpanet -- software flowed in all directions around
the net in those days. It later migrated to Un*x, probably via U.C.
Berkeley. Somewhere along the line the idea arose to provide a network
Finger service. I don't remember who suggested that but it seemed like a
good idea at the time so I stuck it in. Some other anxious people wanted
to be able to verify that their mail was delivered to specific addressees,
so the Mail feature was also added.
While I was somewhat surprised by the popularity of Finger, it has not
been as successful as an earlier program that I invented -- the spelling
checker. It too was created to fill a personal need that many others
apparently share. We didn't think about commercial development and
software protection in those days, but if we had we probably could have
made something out of it. On the other hand, I enjoyed the comradery
of those gentler times and have no regrets.
-Les Earnest (L...@Sail.Stanford.edu)
--
Sean Colbath
col...@cs.rochester.edu ...uunet!rochester!colbath
"And now for something completely different..."
The Finger Protocol
The finger protocol, first described in RFC 742, involves both a client and sever application, hosted on port 79:
Obsoleted by: 1288, 1196, 1194 UNKNOWN
NWG/RFC# 742 KLH 30-Dec-77 08:31 42758
Network Working Group K. Harrenstien
Request for Comments: 742 SRI-KL
NIC: 42758 30 December 1977
NAME/FINGER
Introduction
This note describes the Name/Finger protocol. This is a simple
protocol which provides an interface to the Name and Finger programs
at several network sites. These programs return a friendly,
human-oriented status report on either the system at the moment or a
particular person in depth. Currently only the SAIL (SU-AI), SRI
(SRI-(KA/KL)), and ITS (MIT-(AI/ML/MC/DMS)) sites support this
protocol, but there are other systems with similar programs that
could easily be made servers; there is no required format and the
protocol consists mostly of specifying a single "command line".
To use via the network:
ICP to socket 117 (octal, 79. decimal) and establish two 8-bit
connections.
Send a single "command line", ending with <CRLF>.
Receive information which will vary depending on the above line and
the particular system. The server closes its connections as soon as
this output is finished.
...
The First Social Network
The finger command could be described as the very first social network, where a finger client was used to request information about people from a remote server. For example, a typical 'finger' query and response could look something like this:
finger robert@157.240.192.0
Login: robert Name: robert
Directory: /home/robert Shell: /bin/bash
On since Sun Feb 4 22:00 (EST) on :0 from :0 (messages off)
Mail last read Fri Feb 2 23:02 2024 (EST)
PGP key:
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGNBGW+pq8BDADSnwcmQYkQuu0H3KFsgzDxPay+epJfbwVqy1EQ/yA2kWKRtc/Y
yLOl7QZD4EKaAwyIxPRNbdSdJYGU2/AvkgG0egv4GYINOZWG5dBFZUtrGQbqH6gC
d3L2IZyAOu/1tO8MRvGVx7ol/MGC2Nf5kDCyZgfr8UsX0QVUwqDYsSbpJ/xWe7ae
/2A3zjK8zpXlF4NwRu12jByJwG+o
=JV/r
-----END PGP PUBLIC KEY BLOCK-----
Project:
My current project is to raise awareness about how terrible the opposing
political party is. They're basically a crime family and they should all
be in JAIL!
Plan:
My plan is to start my own drop-shipping business and then make
money selling courses on YouTube about how to build a successful
drop-shipping business.
Other Historical Notes About 'finger'
In 1988, security flaws in the finger daemon were massively exploited by the famed Morris worm. This and other security considerations lead to a decrease in 'finger's popularity, with a few notable exceptions, such as John Carmack who used 'finger' up until 2010 to provide updates on his work through .plan files.
GNU 'pinky' Versus 'finger'
The GNU Coreutils implementation of the pinky command does not support the finger protocol. Instead, it will (among other things) call the 'getpwnam' function. The 'getpwnam' function pulls information from the local password file, or theoretically, a remote directory server:
man getpwnam
...
DESCRIPTION
The getpwnam() function returns a pointer to a structure containing
the broken-out fields of the record in the password database (e.g., the
local password file /etc/passwd, NIS, and LDAP) that matches the username
name.
...
And that's why the 'pinky' command is my favourite Linux command.
Intro To 'stty' Command In Linux
Published 2023-10-04 |
$1.00 CAD |
Intro To 'nproc' Command In Linux
Published 2023-07-15 |
Intro To 'comm' Command In Linux
Published 2023-09-06 |
How To Force The 'true' Command To Return 'false'
Published 2023-07-09 |
A Surprisingly Common Mistake Involving Wildcards & The Find Command
Published 2020-01-21 |
A Guide to Recording 660FPS Video On A $6 Raspberry Pi Camera
Published 2019-08-01 |
Intro To 'chroot' Command In Linux
Published 2023-06-23 |
Join My Mailing List Privacy Policy |
Why Bother Subscribing?
|