GNU/Linux >> Znalost Linux >  >> Linux

Stavové příkazy v Linuxu – date, ps, who, uptime, finger, rup, ruser

Stavové příkazy jsou příkazy systému UNIX, nikoli specifické příkazy shellu.

Příkaz Účel
datum Zobrazuje aktuální (systémové) datum a čas
ps Zobrazuje informace o systémových procesech
kdo Zobrazení uživatelů, kteří jsou přihlášeni do systému
rusers Zobrazuje uživatele v systémech místní sítě (LAN)
prst Zobrazuje informace o přihlášených uživatelích
doba provozu Zobrazuje, jak dlouho je systém v provozu
rup Zobrazuje, jak dlouho jsou systémy LAN v provozu (doba provozu všech síťových systémů)
w Zobrazí výstup příkazu uptime a poté zobrazí seznam aktuální aktivity v systému a toho, co každý uživatel dělá

Příkaz data

Pokud vytvoříte skript, který zapíše zprávu, možná budete chtít, aby se datum a čas objevily jako položka v souboru. Příkaz date vytiskne jednořádkový výstup aktuálního data a času (systémové datum a čas).

# date
Tue Jun  9 11:36:00 UTC 2020

Příkaz ps

Příkaz ps zobrazuje aktuální procesy pro spouštějícího uživatele.

# ps
  PID TTY          TIME CMD
 2281 pts/0    00:00:00 sudo
 2285 pts/0    00:00:00 su
 2286 pts/0    00:00:00 bash
 2477 pts/0    00:00:00 ps

Následující tabulka popisuje význam sloupců ve výstupu ps.

Záhlaví sloupce Význam
PID Číselné identifikační číslo procesu
TTY Číslo terminálu, ze kterého byl proces zahájen
ČAS Ukazuje, kolik času centrální procesorová jednotka (CPU) proces spotřeboval
CMD Název příkazu, který proces provádí
UUID Jméno uživatele, který spustil proces
PPID ID nadřazeného procesu
C Využití procesoru pro plánování (zastaralé)
ČAS Den, kdy byl proces zahájen

Jak ukazuje následující příklad, některé volby příkazu ps rozšiřují zobrazené informace. Volba -f zobrazí úplný seznam a zahrnuje takové informace, jako je přihlašovací jméno uživatele, identifikační číslo procesu (PID), PID rodiče atd. Volba -e zobrazí všechny procesy v systému. Tyto možnosti můžete kombinovat.

# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 11:29 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2     0  0 11:29 ?        00:00:00 [kthreadd]
root         4     2  0 11:29 ?        00:00:00 [kworker/0:0H]
root         5     2  0 11:29 ?        00:00:00 [kworker/u4:0]
root         6     2  0 11:29 ?        00:00:00 [ksoftirqd/0]
root         7     2  0 11:29 ?        00:00:00 [migration/0]
root         8     2  0 11:29 ?        00:00:00 [rcu_bh]
root         9     2  0 11:29 ?        00:00:00 [rcu_sched]
root        10     2  0 11:29 ?        00:00:00 [lru-add-drain]
root        11     2  0 11:29 ?        00:00:00 [watchdog/0]
root        12     2  0 11:29 ?        00:00:00 [watchdog/1]
root        13     2  0 11:29 ?        00:00:00 [migration/1]
root        14     2  0 11:29 ?        00:00:00 [ksoftirqd/1]
root        16     2  0 11:29 ?        00:00:00 [kworker/1:0H]
...

The who Command

Při přípravě na úkoly správy systému je důležité vědět, kdo na systému aktuálně pracuje. Příkaz who zobrazí seznam aktuálně přihlášených uživatelů, na kterém terminálu jsou přihlášeni a datum a čas, kdy se přihlásili.

# who
geek_user pts/0        2020-06-09 11:33 (192.168.1.39)
mike      pts/0        2020-06-09 10:21 (192.168.1.77)

Příkaz rusers

Příkaz rusers se dotazuje na LAN a vytiskne seznam všech aktuálně přihlášených uživatelů. Pokud systém nemá žádné přihlášené uživatele, žádní uživatelé se v seznamu nezobrazí. Příkaz rusers však vynutí zobrazení všech systémů, ať už mají aktuální uživatele nebo ne. Možnosti také řídí pořadí zobrazení (seřazené podle systému, seřazené podle uživatele atd.). Ukončení příkazu rusers někdy trvá dlouho. Informace se vytisknou rychle, ale pak se příkaz zastaví, jako by stále hledal další uživatele. Poté se obvykle nic nevytiskne, takže příkaz můžete ukončit pomocí Ctrl-C (znak přerušení).

# rusers
Sending broadcast for rusersd protocol version 3...
system01        mike
system09        john
system100       root milton

Příkaz prstem

Příkaz finger uvádí informace o uživatelích přihlášených do aktuálního systému. Pole informací jsou:

  • Přihlašovací jméno uživatele
  • Skutečné jméno uživatele (jak je definováno v souboru /etc/passwd)
  • Terminál, ke kterému je uživatel přihlášen
  • Doba nečinnosti (doba od zjištění jakékoli aktivity klávesnice)
  • Když se uživatel přihlásí
  • Odkud se uživatel přihlásil (pokud se uživatel vzdáleně přihlásil z jiného systému v síti)
# finger cloud_user
Login: cloud_user     			         Name:
Directory: /home/cloud_user         	Shell: /bin/bash
On since Tue Jun  9 11:33 (UTC) on pts/0 from 192.168.132.21
   3 seconds idle
No mail.
No Plan.

Příkaz uptime
  • Aktuální čas
  • Jak dlouho je systém v provozu (čas od posledního spuštění systému)
  • Kolik uživatelů je aktuálně přihlášeno do systému
  • Průměrná zátěž. Průměr zatížení je průměrný počet úloh (procesů) ve frontě běhu za poslední 1 minutu, 5 minut a 15 minut
  • # uptime
     11:51:38 up 22 min,  1 user,  load average: 0.00, 0.05, 0.06

    Příkaz rup

    Příkaz rup je podobný provádění příkazu uptime pro všechny systémy v síti LAN. Informace jsou stejné, až na tyto rozdíly:

    • Název systému je uveden jako první
    • Datum není uvedeno
    • Počet uživatelů není uveden
    $ rup
    system01     up 7 days, 6:47,    load average: 0.21, 0.21, 0.21
    system09     up 4:20,            load average: 0.21, 0.26, 0.26
    system11     up 15:53,           load average: 0.20, 0.16, 0.14
    system19     up 2 days, 2:44,    load average: 0.00, 0.00, 0.01

    Příkaz w

    Příkaz w nejprve zobrazí výstup příkazu uptime. Poté příkaz w zobrazí seznam aktuální aktivity v systému a toho, co každý uživatel dělá. Poskytuje následující informace:

    • Přihlašovací jméno uživatele
    • Terminál, na kterém se uživatel přihlásil
    • Čas, kdy se uživatel přihlásil
    • Doba, po kterou byl uživatel nečinný
    • Čas společného CPU (JCPU), který všechny procesy tohoto terminálu spotřebovaly
    • Čas procesoru (PCPU) procesu, který aktuálně aktivní procesy spotřebovaly
    • Název a argumenty aktuálního procesu
    # w
     11:55:09 up 25 min,  1 user,  load average: 0.00, 0.03, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    cloud_us pts/0    1.186.113.22     11:33    5.00s  0.23s  0.17s sshd: cloud_user [priv]


    Linux
    1. 8 Příklady příkazů rychlého data v Linuxu

    2. Linuxové příkazy:jobs, bg a fg

    3. Linuxové příkazy od A do Z

    1. 5 Linuxových příkazů, které nikdy nepoužívám

    2. Porozumění základním příkazům Linuxu

    3. Who Command Příklady v Linuxu

    1. Linuxový příkaz echo

    2. Příklady příkazů date v Linuxu

    3. Příklady příkazů uptime v Linuxu