who(1p)
PROLOG
Denna manualsida är en del av POSIX Programmer's Manual. Linux-implementationen av detta gränssnitt kan skilja sig från POSIX-beskrivningen. Se motsvarande Linux-manualsida för detaljer om Linux-specifikt beteende. Det är också möjligt att gränssnittet inte är implementerat på Linux.
NAMN
who — visa vilka som är inloggade på systemet
SYNOPSIS
who [-mTu] [-abdHlprt] [file] who [-mu] -s [-bHlprt] [file] who -q [file] who am i who am I
BESKRIVNING
Verktyget who listar olika uppgifter om tillgängliga användare. Vad som räknas som ”tillgängligt” är implementationsdefinierat.
Beroende på vilka optioner som anges kan who även visa användarnamn, terminallinje, inloggningstid, förfluten tid sedan aktivitet senast inträffade på linjen samt process-ID för kommandotolken för varje aktuell systemanvändare.
OPTIONER
Verktyget who ska följa POSIX.1-2017, Base Definitions, avsnitt 12.2, Utility Syntax Guidelines.
Följande optioner ska stödjas. Metavariabler som <line> hänvisar till fält som beskrivs i avsnittet STANDARDUTMATNING.
-a
- Behandla den implementationsdefinierade databasen eller den angivna filen med optionerna -b, -d, -l, -p, -r, -t, -T och -u aktiverade.
-b
- Skriv tid och datum för den senaste systemomstarten. Systemets omstartstid är den tidpunkt då implementationen kan börja köra processer.
-d
- Skriv en lista över alla processer som har avslutats och inte startats om av systemprocessen init. Fältet <exit> ska visas för döda processer och innehålla terminerings- och avslutningsvärden för den döda processen. Detta kan vara användbart för att avgöra varför en process avslutades.
-H
- Skriv kolumnrubriker ovanför den normala utmatningen.
-l
- Bokstaven ell. Lista endast de linjer där systemet väntar på att någon ska logga in. Fältet <name> ska i sådana fall vara LOGIN. Övriga fält ska vara samma som för användarposter, förutom att fältet <state> inte finns.
-m
- Visa endast information om den aktuella terminalen.
-p
- Lista andra processer som för närvarande är aktiva och tidigare har startats av init.
-q
- Snabbläge. Lista endast namnen och antalet användare som för närvarande är inloggade. När denna option används ska alla andra optioner ignoreras.
-r
- Skriv aktuell run-level för processen init.
-s
- Lista endast fälten <name>, <line> och <time>. Detta är standardläget.
-t
- Ange den senaste ändringen av systemklockan.
-T
- Visa status för varje terminal, enligt beskrivningen i avsnittet STANDARDUTMATNING.
-u
- Skriv ”inaktiv tid” för varje visad användare, utöver annan information. Den inaktiva tiden är tiden sedan aktivitet senast inträffade på användarens terminal. Metoden för att avgöra detta är ospecificerad.
- Denna option ska endast lista användare som för närvarande är inloggade.
- <name> är användarens inloggningsnamn.
- <line> är namnet på linjen så som den finns i katalogen /dev.
- <time> är tiden då användaren loggade in.
- <activity> är antalet timmar och minuter sedan aktivitet senast inträffade på den aktuella linjen. En punkt anger att terminalen har haft aktivitet under den senaste minuten och därför räknas som aktuell. Om mer än 24 timmar har gått, eller om linjen inte har använts sedan systemstart, ska posten markeras som <old>. Detta fält är användbart när man vill avgöra om en person arbetar vid terminalen eller inte.
- <pid> är process-ID för användarens inloggningsprocess.
OPERANDER
Följande operander ska stödjas:
am i, am I
- I POSIX-lokalen begränsas utmatningen till att beskriva den användare som kör kommandot. Detta motsvarar optionen -m. Orden am och i eller I måste vara separata argument.
file
- Anger sökvägen till en fil som ska användas i stället för den implementationsdefinierade databasen över inloggade användare som who normalt använder.
STANDARDINMATNING
Används inte.
INDATAFILER
Inga.
MILJÖVARIABLER
Följande miljövariabler ska påverka körningen av who:
LANG
- Anger ett standardvärde för internationaliseringsvariabler som är osatta eller tomma. Se POSIX.1-2017, Base Definitions, avsnitt 8.2, Internationalization Variables, för prioritetsordningen mellan internationaliseringsvariabler som används för att bestämma värden för lokalekategorier.
LC_ALL
- Om denna är satt till en icke-tom sträng åsidosätter den värdena för alla andra internationaliseringsvariabler.
LC_CTYPE
- Bestämmer lokalen för tolkning av bytesekvenser i textdata som tecken, till exempel enkelbyte- kontra multibyte-tecken i argument.
LC_MESSAGES
- Bestämmer lokalen som ska användas för format och innehåll i diagnostiska meddelanden som skrivs till standardfel.
LC_TIME
- Bestämmer lokalen som används för format och innehåll i datum- och tidssträngar.
NLSPATH
- Bestämmer platsen för meddelandekataloger vid behandling av LC_MESSAGES.
TZ
- Bestämmer tidszonen som används när datum- och tidsinformation skrivs. Om TZ är osatt eller tom ska en ospecificerad standardtidszon användas.
ASYNKRONA HÄNDELSER
Standardbeteende.
STANDARDUTMATNING
Verktyget who ska skriva sitt standardformat till standardutmatningen i ett implementationsdefinierat format, med enda kravet att informationen som beskrivits ovan ska ingå.
XSI-konforma system ska skriva standardinformationen till standardutmatningen i följande allmänna format:
<name>[<state>]<line><time>[<activity>][<pid>][<comment>][<exit>]
För optionen -b ska <line> vara "system boot". Fältet <name> är ospecificerat.
Följande format ska användas för optionen -T:
"%s %c %s %s\n", <name>, <terminal state>, <terminal name>, <time of login>
Där <terminal state> är ett av följande tecken:
+
- Terminalen tillåter skrivåtkomst för andra användare.
-
- Terminalen nekar skrivåtkomst för andra användare.
?
- Terminalens skrivåtkomststatus kan inte avgöras.
<space>
- Denna post är inte kopplad till en terminal.
I POSIX-lokalen ska <time of login> motsvara formatet från:
date +"%b %e %H:%M"
Om optionen -u används tillsammans med -T ska den inaktiva tiden läggas till i slutet av föregående format, i ett ospecificerat format.
STANDARDFEL
Standardfel ska endast användas för diagnostiska meddelanden.
UTFILER
Inga.
UTÖKAD BESKRIVNING
Ingen.
AVSLUTNINGSSTATUS
Följande avslutningsvärden ska returneras:
0
- Kommandot slutfördes utan fel.
>0
- Ett fel inträffade.
KONSEKVENSER AV FEL
Standardbeteende.
Följande avsnitt är informativa.
ANVÄNDNING I PROGRAM
Namnet init, som används för systemprocessen, är det vanligaste på historiska system, men det kan variera.
Begreppet ”tillgänglighetsdomän” är brett och tillåter tolkningar både i mycket säkra miljöer och i nätverksomfattande implementationer, som det historiska rwho.
EXEMPEL
Visa vilka användare som är inloggade:
who
Visa samma sak med kolumnrubriker:
who -H
Visa information om den egna terminalen:
who am i
eller:
who -m
Visa endast antal och namn på inloggade användare:
who -q
Visa senaste systemstart:
who -b
Visa aktuell körnivå, om systemet stödjer detta:
who -r
Visa inaktiv tid för inloggade användare:
who -u
BAKGRUND OCH MOTIVERING
På grund av skillnader mellan historiska implementationer är grundoptionerna en kompromiss som gör det möjligt för användare att arbeta med dessa funktioner. Standardutvecklarna övervägde även att ta bort alla optioner, men bedömde att de gav användarna värdefull funktionalitet.
Ytterligare optioner som motsvarar historiska system finns på XSI-konforma system.
Det är erkänt att kommandot who kan ha begränsad nytta, särskilt i en säker miljö med flera säkerhetsnivåer. Standardutvecklarna ansåg ändå att någon standardiserad metod för att avgöra andra användares ”tillgänglighet” skulle underlätta portabilitet.
Inget format specificerades för standardutmatningen från who på system som inte stöder XSI-optionen. Eftersom detta är ett användarorienterat kommando, avsett för människor, ansågs detta inte vara en brist.
Formatet för terminalnamnet är ospecificerat, men beskrivningarna av ps, talk och write kräver att de använder samma format.
Det är tillåtet för en implementation att inte producera någon utmatning alls vid körning av:
who mil
FRAMTIDA RIKTNINGAR
Inga.
SE ÄVEN
POSIX.1-2017, Base Definitions:
- Kapitel 8, Environment Variables
- Avsnitt 12.2, Utility Syntax Guidelines
COPYRIGHT
Delar av denna text är återgivna och reproducerade i elektronisk form från IEEE Std 1003.1-2017, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, 2018 Edition, Copyright (C) 2018 by the Institute of Electrical and Electronics Engineers, Inc och The Open Group.
Om det finns någon avvikelse mellan denna version och den ursprungliga standarden från IEEE och The Open Group är den ursprungliga standarden den avgörande referensen. Den ursprungliga standarden kan hämtas online på:
http://www.opengroup.org/unix/online.html
Typografiska fel eller formateringsfel på denna manualsida har troligen uppstått vid konvertering av källfilerna till manualsidesformat. Sådana fel kan rapporteras enligt informationen på:
https://www.kernel.org/doc/man-pages/reporting_bugs.html
KORT SAMMANFATTNING
who visar vilka användare som är inloggade på systemet.
Vanliga kommandon:
who who -H who am i who -q who -b who -u
who -H ger kolumnrubriker.
who am i visar information om den aktuella terminalsessionen.
who -q visar en kort lista med inloggade användare och antal användare.
who -b visar när systemet senast startades.
who -u visar även inaktiv tid.