20 Linux-kommandoer til systemadministrator

Linux tilbyder utallige kommandoer og hjælpeprogrammer, som hjælper dig med at udføre dine systemadministrationsopgaver hurtigt og effektivt.

Dit arbejde som systemadministrator omfatter installation og afvikling af software, kontrol af adgang, overvågning, sikring af tilgængelighed, sikkerhedskopier, gendannelse af sikkerhedskopier og selvfølgelig brandslukning. 😜

I denne artikel gennemgår vi nogle af de kommandoer, der ofte bruges af Linux-systemadministratorer i deres daglige arbejde.

unavn

Brug kommandoen uname med flaget -a for at udskrive systemoplysninger. Denne kommando vil vise dig kernenavnet, kerneudgivelsen, kerneversionen, værtsnavnet, processortypen og oplysninger om din hardwareplatform.

[email protected]:~$ uname -a
Linux ubuntu18 5.3.0-1028-azure #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Her er hvad dette betyder:

kernel name:Linux 
hostname: ubuntu18 
kernel release: 5.3.0-1028-azure 
kernel version: #29~18.04.1-Ubuntu SMP Fri Jun 5 14:32:34 UTC 2020 
machine hardware name: x86_64 
processor: x86_64 
hardware-platform: x86_64 
operating system: GNU/Linux

df

Brug kommandoen df til at kontrollere størrelsen af ​​filsystemet og den tilgængelige plads. Denne kommando, der bruges af sig selv, viser output i 1K blokke.

[email protected]:~$ df 
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              437208       0    437208   0% /dev
tmpfs              91100     692     90408   1% /run
/dev/sda1       30309264 2383952  27908928   8% /
....

Mulighed -h viser output i et menneskeligt læsbart format, det vil sige i MB og GB.

[email protected]:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            427M     0  427M   0% /dev
tmpfs            89M  692K   89M   1% /run
/dev/sda1        29G  2.3G   27G   8% /
tmpfs           445M     0  445M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           445M     0  445M   0% /sys/fs/cgroup
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
tmpfs            89M     0   89M   0% /run/user/1001 

For at ignorere ethvert filsystem, f.eks. tmpfs, det vil sige et renere output, skal du bruge flag -x

[email protected]:~$ df -h -x tmpfs
Filesystem      Size  Used Avail Use% Mounted on
udev            427M     0  427M   0% /dev
/dev/sda1        29G  2.3G   27G   8% /
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1       3.9G   16M  3.7G   1% /mnt

For kun at angive en bestemt filsystemtype, brug -t flag. for eksempel for kun at se ext4 filsystem:

[email protected]:~$ df -h -t ext4
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.3G   27G   8% /
/dev/sdb1       3.9G   16M  3.7G   1% /mnt

Brug af totalflag tilføjer en linje, der viser totaler:

[email protected]:~$ df -h -t ext4 --total
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.3G   27G   8% /
/dev/sdb1       3.9G   16M  3.7G   1% /mnt
<b>total            33G  2.3G   31G   8% -</b>

du

For at kontrollere forbruget af diskplads i en mappe skal du bruge kommandoen du. For eksempel for at se forbruget af diskplads i mappen /var/log. Brug -h-flag til menneskelæsbart format.

[email protected]:~$ sudo du -h /var/log
24K	/var/log/Microsoft/Azure/NetworkWatcherAgent/Logs
28K	/var/log/Microsoft/Azure/NetworkWatcherAgent
32K	/var/log/Microsoft/Azure
36K	/var/log/Microsoft
60K	/var/log/apt
4.0K	/var/log/samba
177M	/var/log/journal/0f4f926f583b4691af7de11025b19ff6
177M	/var/log/journal
...
204M	/var/log

For kun at se det samlede forbrug, brug kun -s (sammendrag) flag.

[email protected]:~$ sudo du -hs /var/log
204M	/var/log

ledig

Brug gratis kommando for at se total, brugt og ledig systemhukommelse. Brug -h-flag til menneskelæsbart format.

[email protected]:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           889M        272M        100M        712K        517M        443M
Swap:            0B          0B          0B
total - Total installed memory (memtotal + swaptotal)
used - used memory
free - unused memory (memfree + swapfree)
buffers - memory used by kernel buffers
cache - memory used by page caches
buff/cache - sum of buffers and cache
available - Estimated memory available for starting new applications, without swapping

ps

Brug ps til at vise statusoplysninger om processer, der kører på systemet. For at se alle processer, der ejes af brugeren ubuntu, skal du bruge -u flag med brugernavnet:

[email protected]:~$ ps -u ubuntu
   PID TTY          TIME CMD
  7804 ?        00:00:00 systemd
  7805 ?        00:00:00 (sd-pam)
  7940 ?        00:00:00 sshd
  7941 pts/0    00:00:00 bash
  8111 ?        00:00:00 sshd
  8112 pts/1    00:00:00 bash
 13868 ?        00:00:00 sshd
 13869 pts/2    00:00:00 bash
 13885 pts/0    00:00:00 man
 13895 pts/0    00:00:00 pager
 18111 pts/2    00:00:00 man
 18121 pts/2    00:00:00 pager
 18485 pts/1    00:00:00 ps

For at se alle processer, kør ps med aux-flag:

[email protected]:~$ ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.7 160076  7020 ?        Ss   Jun29   0:34 /sbin/init
root          2  0.0  0.0      0     0 ?        S    Jun29   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        I<   Jun29   0:00 [rcu_gp]
root          4  0.0  0.0      0     0 ?        I<   Jun29   0:00 [rcu_par_gp]
root          6  0.0  0.0      0     0 ?        I<   Jun29   0:00 [kworker/0:0H-kb]
....

hvor

Overskrift
Betyder
PID
Procesidentifikationsnummer
%CPU
Procentdel af CPU-tid, som processen bruger
%MEM
Procentdel af RAM-processen bruger
VSZ
Virtuel hukommelse bruges i KB
RSS
Fysisk hukommelse, som processen bruger i KB
TTY
Terminal forbundet med processen
STAT
R – Kører eller klar til at køre, S – Sovende, I – Inaktiv, T – Stoppet, Z – Zombie, D – Venter på disk I/O, X – Død, W – Udskiftet, N – Lav prioritet proces, < – Højt prioriteret proces

top

Mens ps-kommandoen viser et øjebliksbillede af processernes tilstand til enhver tid, viser toppen en løbende opdatering (hvert tredje sekund, som standard) liste over systemprocesser i rækkefølge efter procesaktivitet.

Det øverste kommandooutput består af to hoveddele: Systemoversigten øverst og tabellen over processer sorteret efter CPU-aktivitet.

top - 14:25:32 up 44 days, 11:37,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 114 total,   1 running,  59 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   910992 total,   101208 free,   274712 used,   535072 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   458492 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND    
 50497 ubuntu    20   0   44528   3944   3368 R  0.7  0.4   0:00.15 top        
     1 root      20   0  160076   7020   4400 S  0.0  0.8   0:34.85 systemd    
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.08 kthreadd   
     3 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 rcu_gp     
     4 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 rcu_par_gp 
     6 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 kworker/0:+
     9 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 mm_percpu_+

Nogle af felterne i systemoversigten er som følger:

  10 Linux-snydeark til bogmærke for begyndere

op
Oppetid. Tid siden maskinen sidst blev startet.
belastningsgennemsnit
Belastningsgennemsnit refererer til antallet af processer, der venter på at køre, værdi mindre end 1,0 betyder, at maskinen ikke er optaget. Der er 3 værdier. Det første er gennemsnittet af de sidste 60 sekunder, det andet er gennemsnittet af de sidste 5 minutter og det tredje viser gennemsnittet af de sidste 15 minutter.
%Cpu(er)

Denne række beskriver CPU’ens aktiviteter.
0,3 os, bruger
0,3 % CPU bruges til brugerprocesser.
0,0 sy, system
0,0% CPU bruges til systemprocesser.
0,0 ni, flot
0,0% CPU bliver brugt af lavprioriterede (pæne) processer
99,7 id, tomgang
99,7 % CPU er inaktiv
0,0 wa, IO-vent
0,0 % CPU venter på I/O
0,0 hej
tid brugt på hardwareafbrydelser
0,0 si
tid brugt på softwareafbrydelser
0,0 st
tidssten fra denne VM af hypervisoren

Procestabelfelter er som følger:

PID
Procesidentifikationsnummer
BRUGER
Procesejer
PR
Prioritet
NI
God værdi
VIRT
Virtuel hukommelse brugt af processen (KB)
RES
Fysisk hukommelse brugt af processen
SHR
Delt hukommelse brugt af processen
S
Processtatus. R – Løber, S – sover, I – Inaktiv, T – stoppet, Z – zombie, D – venter på disk I/O, W- skiftet ud, X – død
%CPU
CPU-tidsprocessen bruger i procent
%MEM
Den fysiske hukommelsesproces bruger
TID[+]
Samlet CPU-tid brugt af processen
KOMMANDO
Navn på programmet

Mens top kører, kan du udstede en række kommandoer. Tryk på h eller ? for at se kommandoer, som kan køres, mens top kører. Tryk på k for at afbryde en proces. Tryk på q for at afslutte toppen.

grave

dig er et fantastisk værktøj til DNS-forespørgsler. Det bruges som følger:

dig <DNS server> <domain> <query-type>

hvor

  • er det DNS-servernavn, du ønsker at forespørge på
  • er det domænenavn, du ønsker at forespørge om
  • er navnet på den post, du ønsker at vide – A, MX, NS SOA osv.

For at undertrykke verbose output, brug +short flag.

For at se A record for google.com skal du bruge:

[email protected]:~$ dig google.com +short
172.217.164.174

For at se MX-registreringer for google.com skal du bruge:

[email protected]:~$ dig google.com MX  +short
50 alt4.aspmx.l.google.com.
10 aspmx.l.google.com.
20 alt1.aspmx.l.google.com.
40 alt3.aspmx.l.google.com.
30 alt2.aspmx.l.google.com.

Hvis du har brug for at forespørge på DNS-poster på internettet, kan du bruge DNS-opslagsværktøjet.

hvem og w

der viser brugere, der er logget på.

[email protected]:~$ who
ubuntu   pts/0        2020-08-14 17:28 (183.83.211.129)
ubuntu   pts/1        2020-08-14 17:58 (183.83.211.129)

w viser brugere, der i øjeblikket er logget på, og deres processer. Overskriften viser den aktuelle tid, systemets oppetid, antallet af brugere, der er logget på, og systembelastningsgennemsnit.

[email protected]:~$ w
 18:07:33 up 46 days, 15:19,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
ubuntu   pts/0    183.83.211.129   17:28    2.00s  0.10s  0.00s w
ubuntu   pts/1    183.83.211.129   17:58    9:07   0.05s  0.01s vi

Den næste del viser brugernavnene, terminalen og den eksterne IP, hvorfra de er logget på, logintid, inaktiv tid, JCPU, PCPU og det program, de kører. JCPU er den tid, der bruges af alle processer knyttet til tty’en, mens PCPU er den tid, der bruges af den aktuelle proces.

tjære

Med GNU tar kan du arkivere flere filer i en enkelt fil.

Som et eksempel, opret en mappe myfiles og tre filer a.txt, b.txt, c.txt i myfiles-mappen:

[email protected]:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}

Nu for at oprette et arkiv med navnet allfiles.tar, der indeholder alle filer i myfiles-mappen:

[email protected]:~$ tar -cvf allfiles.tar myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Liste over alle filer i den aktuelle mappe. Du kan se myfiles-biblioteket og allfiles.tar-arkivet:

[email protected]:~$ ls
allfiles.tar  myfiles

Du kan udpakke et arkiv med -x flag. Så for at udpakke allfiles.tar:

[email protected]:~$ tar -xvf allfiles.tar
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Du kan også komprimere dette arkiv med -z flag. Dette ville skabe et arkiv komprimeret med gzip.

[email protected]:~$ tar -zcvf allfiles.tar.gz myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt
[email protected]:~$ ls
allfiles.tar.gz  myfiles

For at pakke et komprimeret arkiv ud, brug -z med -x flag.

[email protected]:~$ tar -zxvf allfiles.tar.gz 
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

grep

grep bruges til at søge efter et mønster i en fil eller et sæt filer. Den udskriver alle linjer, der matcher det mønster. For eksempel, for at søge efter linjen, der indeholder “ServerRoot” i /etc/apache2/apache2.conf:

[email protected]:~$ grep ServerRoot /etc/apache2/apache2.conf 
# ServerRoot: The top of the directory tree under which the server's
#ServerRoot "/etc/apache2"

Brug * for at søge i alle filer i en mappe. For at inkludere søgning i undermapper, brug -r (rekursivt) flag. Så for at søge efter alle linjer, der indeholder mønsteret “VirtualHost” i alle filer i /etc/apache2:

[email protected]:~$ cd /etc/apache2
[email protected]:/etc/apache2$ grep -r VirtualHost *
apache2.conf:# If you do not specify an ErrorLog directive within a <VirtualHost>
apache2.conf:# logged here.  If you *do* define an error logfile for a <VirtualHost>
conf-available/localized-error-pages.conf:# even on a per-VirtualHost basis.  If you include the Alias in the global server
conf-available/other-vhosts-access-log.conf:# Define an access log for VirtualHosts that don't define their own logfile
ports.conf:# have to change the VirtualHost statement in
sites-available/000-default.conf:<VirtualHost *:80>
...

rsync

rsync er et hurtigt kommandolinjeværktøj til synkronisering af filer og mapper mellem to steder. Kan bruges til både lokal og fjernkopiering og er hurtig, fordi den kun sender forskellene mellem kildefilerne og de eksisterende filer på destinationen.

Det er meget brugt til sikkerhedskopier og som en forbedret kopikommando til daglig brug.

Her er et eksempel:

For at kopiere/rsynkronisere alle filer fra myfiles-mappen til backup-mappen:

[email protected]:~$ rsync -avh myfiles/ /backups
sending incremental file list
./
a.txt
b.txt
c.txt

sent 218 bytes  received 76 bytes  588.00 bytes/sec
total size is 0  speedup is 0.00

For at rsync alle filer fra myfiles-mappen til backup-mappen på en fjernvært skal du inkludere remote_user @remote_host i destinationsnavnet. Så for at rsync myfiles-mappen til en fjernvært med IP 10.0.0.50:

[email protected]:~$ rsync -avh myfiles/ [email protected]:/home/vagrant
[email protected]'s password: 
sending incremental file list
./
a.txt
b.txt
c.txt

sent 230 bytes  received 76 bytes  47.08 bytes/sec
total size is 0  speedup is 0.00

ss

ss-kommandoen bruges til at dumpe socket-statistikker, svarende til det gamle netstat-værktøj. Brug -t flag for at vise TCP sockets.

[email protected]:~$ ss -t 
State       Recv-Q        Send-Q                 Local Address:Port                     Peer Address:Port         
ESTAB       0             0                           10.0.0.4:53852                   168.63.129.16:8037         
ESTAB       0             0                           10.0.0.4:ssh                    183.83.211.129:64118        
ESTAB       0             0                           10.0.0.4:33256                 169.254.169.254:http         
ESTAB       0             1080                        10.0.0.4:ssh                     222.186.30.35:11527        
ESTAB       0             0                           10.0.0.4:ssh                    183.83.211.129:63049

Dette vil ikke vise stik, der lytter. For at inkludere både lyttende og ikke-lyttede stik, brug -t og -a flag.

[email protected]:~$ ss -t -a 
State        Recv-Q        Send-Q                Local Address:Port                     Peer Address:Port         
LISTEN       0             128                         0.0.0.0:ssh                           0.0.0.0:*            
LISTEN       0             80                        127.0.0.1:mysql                         0.0.0.0:*            
LISTEN       0             128                   127.0.0.53%lo:domain                        0.0.0.0:*            
ESTAB        0             0                          10.0.0.4:53852                   168.63.129.16:8037         
ESTAB        0             0                          10.0.0.4:ssh                    183.83.211.129:64118        
ESTAB        0             0                          10.0.0.4:33256                 169.254.169.254:http         
ESTAB        0             1080                       10.0.0.4:ssh                     222.186.30.35:11527        
ESTAB        0             120                        10.0.0.4:ssh                    183.83.211.129:63049        
LISTEN       0             128                            [::]:ssh                              [::]:*            
LISTEN       0             128                               *:http                                *:*

lokalisere

Find kommandoen bruger en database til at søge efter filer og kan faktisk være meget hurtigere end find kommandoen. Meget enkel at bruge, at søge efter en fil, f.eks. apache2.conf:

[email protected]:~$ locate apache2.conf
/etc/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles

Du kan bruge -c flag, hvis du kun vil have antallet af filer, der matcher søgemønsteret.

[email protected]:~$ locate -c apache2.conf
2

Til tider skal du muligvis opdatere databasen, der bruges af locate, som er mlocate. Brug updatedb kommandoen for at opdatere databasen. Dette ville kræve superbrugerrettigheder.

[email protected]:~$ sudo updatedb

finde

En af de mest brugte kommandoer på Linux. Brug den til at søge efter filer baseret på filnavne, tilladelser, bruger-id, groupid, størrelse, filtype, udover andre kriterier.

For at søge efter en fil efter navn i den aktuelle mappe, brug -name flag efterfulgt af filnavnet for at søge.:

[email protected]:~$ find . -name a.txt
./myfiles/a.txt

For at søge efter mapper, brug -type d flag:

[email protected]:~$ find . -type d
.
./.ssh
./myfiles
./.cache
./.gnupg
./.gnupg/private-keys-v1.d
./docker

For at søge efter filer efter størrelse, sig filer større end 20 MB, brug -size flag:

[email protected]:~$ find . -size +20M
./docker/docker-ce-cli_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb
./docker/docker-ce_5%3a19.03.12~3-0~ubuntu-bionic_amd64.deb

systemctl

Nu hvor systemd har erstattet SysV init-processen i de fleste Linux-distributioner, skal du bruge systemctl-kommandoen til at administrere systemtjenester og -enheder.

For at starte en tjeneste, for eksempel apache2:

[email protected]:~$ sudo systemctl start apache2.service

Du kan forlade tjenestesuffikset.

Sådan stopper du en tjeneste:

[email protected]:~$ sudo systemctl stop apache2

Brug systemctl status kommandoen for at se servicestatus. Følgende eksempel viser apache2-status, mens den kører:

[email protected]:~$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Wed 2020-08-19 11:34:04 UTC; 2s ago
  Process: 25346 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
  Process: 18202 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
  Process: 25536 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 25555 (apache2)
    Tasks: 55 (limit: 1024)
   CGroup: /system.slice/apache2.service
           ├─25555 /usr/sbin/apache2 -k start
           ├─25558 /usr/sbin/apache2 -k start
           └─25559 /usr/sbin/apache2 -k start

Aug 19 11:34:04 ubuntu18 systemd[1]: Starting The Apache HTTP Server...
Aug 19 11:34:04 ubuntu18 systemd[1]: Started The Apache HTTP Server.

ufw kommando

UFW – ukompliceret firewall er en brugervenlig frontend til iptables. Den er tilgængelig som standard på Ubuntu-baserede distributioner. På CentOS kan du installere ufw fra EPEL-lageret.

For at aktivere ufw:

$ sudo ufw enable

Tjek firewall-status med ufw-status:

$ sudo ufw status
Status: active

Standard UFW-politikker tillader al udgående trafik og blokerer al indgående trafik.

Følgende kommando tillader indgående trafik på HTTP-porten:

$ sudo ufw allow http
Rule added
Rule added (v6)

Du kan nægte trafik på enhver havn. Her er et eksempel til at blokere trafik på port 21:

$ sudo ufw deny 21
Rule added
Rule added (v6)

journalctl

Brug journalctl til at se logfiler indsamlet af systemd. systemd samler log på en central placering i et binært format. Sådan får du vist disse logfiler:

[email protected]:~$ sudo journalctl
-- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:07:59 UTC. --
Jun 29 02:48:31 ubuntu kernel: Linux version 5.3.0-1028-azure ([email protected]) (gcc version 7.5.0 (Ubuntu
Jun 29 02:48:31 ubuntu kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-1028-azure root=UUID=b0dd9d06-536e-41
Jun 29 02:48:31 ubuntu kernel: KERNEL supported cpus:
Jun 29 02:48:31 ubuntu kernel:   Intel GenuineIntel
...

For det meste ville du foretrække at se logfilerne i omvendt rækkefølge, det vil sige de seneste logfiler først:

[email protected]:~$ sudo journalctl -r
-- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:10:16 UTC. --
Aug 19 15:10:16 ubuntu18 sudo[31263]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
Aug 19 15:10:16 ubuntu18 sudo[31263]:   ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc
Aug 19 15:10:11 ubuntu18 sudo[31213]: pam_unix(sudo:session): session closed for user root
Aug 19 15:07:59 ubuntu18 sudo[31213]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
Aug 19 15:07:59 ubuntu18 sudo[31213]:   ubuntu : TTY=pts/1 ; PWD=/home/ubuntu ; USER=root ; COMMAND=/bin/journalc
Aug 19 15:07:56 ubuntu18 sudo[31183]: pam_unix(sudo:session): session closed for user root
Aug 19 15:06:47 ubuntu18 sudo[31183]: pam_unix(sudo:session): session opened for user root by ubuntu(uid=0)
...

For at se logfiler for en specifik tjeneste, for eksempel mysql, brug -u flag:

[email protected]:~$ sudo journalctl -u mysql
-- Logs begin at Mon 2020-06-29 02:48:31 UTC, end at Wed 2020-08-19 15:11:34 UTC. --
Aug 16 12:30:02 ubuntu18 systemd[1]: Starting MySQL Community Server...
Aug 16 12:30:03 ubuntu18 systemd[1]: Started MySQL Community Server.
Aug 19 15:03:27 ubuntu18 systemd[1]: Stopping MySQL Community Server...
Aug 19 15:03:29 ubuntu18 systemd[1]: Stopped MySQL Community Server.

dræbe og dræbe

Du skal muligvis dræbe en løbsk proces, eller når du skal frigøre nogle systemressourcer. dræb med -l flag viser alle de signaler, du kan sende til en proces.

[email protected]:~$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
....

To mest almindeligt anvendte signaler er SIGTERM OG SIGKILL. Du kan også bruge -9 til SIGKILL og -15 til SIGTERM. SIGTERM tillader en proces at fuldføre, før den afsluttes og kaldes derfor soft kill. SIGKILL afslutter processen med det samme. Her er et eksempel:

Liste over alle apache2-processer

[email protected]:~$ ps aux|grep apache2
root      45521  0.0  0.5  78188  4688 ?        Ss   Aug08   0:03 /usr/sbin/apache2 -k start
www-data  45524  0.0  0.5 830480  4816 ?        Sl   Aug08   0:00 /usr/sbin/apache2 -k start
www-data  45525  0.0  0.7 830480  6856 ?        Sl   Aug08   0:00 /usr/sbin/apache2 -k start
ubuntu    70374  0.0  0.1  14852  1040 pts/0    S+   07:45   0:00 grep --color=auto apache2

For at dræbe apache2-processen med proces-id 45525:

[email protected]:~$ sudo kill -9 45525

Se igen listen over apache2-processer:

[email protected]:~$ ps aux|grep apache2
root      45521  0.0  0.5  78188  4688 ?        Ss   Aug08   0:03 /usr/sbin/apache2 -k start
www-data  45524  0.0  0.5 830480  4816 ?        Sl   Aug08   0:00 /usr/sbin/apache2 -k start
ubuntu    70525  0.0  0.1  14852  1052 pts/0    S+   07:52   0:00 grep --color=auto apache2

Brug killall til at dræbe et program ved navn. Hvilket betyder, at killall dræber kontrol(forælder)processen og alle underordnede processer. For at dræbe alle forekomster af apache2-processen i eksemplet ovenfor:

[email protected]:~$ sudo killall apache2

Brug kill and killall med forsigtighed. Disse kommandoer kan efterlade systemet i en ustabil tilstand.

IP

IP-kommandoen erstatter ifconfig i de nyere Linux-distributioner. Brug den til at konfigurere og vise netværksgrænseflader. Bruges også til at vise og ændre IP-adresser, ruter og naboobjekter.

Vis oplysninger om alle netværksgrænseflader:

[email protected]:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:3a:9b:88:d6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.4/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fe9b:88d6/64 scope link 
       valid_lft forever preferred_lft forever

For at bringe en grænseflade op eller ned, brug ip link set dev efterfulgt af enhedsnavnet. For at bringe grænsefladen eth0 online:

[email protected]:~$ ip link set eth0 up

Og for at få det ned:

[email protected]:~$ ip link set eth0 down

dato

En meget almindeligt brugt kommando, her udforsker vi nogle interessante måder at bruge denne kommando på.

[email protected]:~$ date
Tue Aug 11 07:42:49 UTC 2020

For at se næste søndags dato:

[email protected]:~$ date -d 'next sunday'
Sun Aug 16 00:00:00 UTC 2020

For at se sidste søndags dato:

[email protected]:~$ date -d 'last sunday'
Sun Aug  9 00:00:00 UTC 2020

Du kan også bruge –date i stedet for -d flag:

[email protected]:~$ date --date="last sunday"
Sun Aug  9 00:00:00 UTC 2020

For at se datoen for 6 dage siden:

[email protected]ntu18:~$ date --date="6 days ago"
Wed Aug  5 08:06:37 UTC 2020

Dato 6 dage fra nu:

[email protected]:~$ date --date="6 days"
Mon Aug 17 08:08:37 UTC 2020

Du kan nemt styre datooutputformat. Her er et eksempel:

[email protected]:~$ date '+%d-%B-%Y'
11-August-2020

Resumé

Du som systemadministrator holder verdens computerinfrastruktur kørende. Du skal løse problemer, vedligeholde og holde systemerne kørende optimalt og samtidig sikre sikkerheden.

Håber disse kommandoer vil være nyttige og hjælpe dig med at udføre dit arbejde bedre.

Her er nogle FTP/SFTP-klienter og de bedste Vim-snydeark til udviklere og Sysadmin.