20 Linux-kommandoer for systemadministrator

Linux tilbyr utallige kommandoer og verktøy som hjelper deg å utføre systemadministrasjonsoppgavene dine raskt og effektivt.

Arbeidet ditt som systemadministrator inkluderer å installere og kjøre programvare, kontrollere tilgang, overvåking, sikre tilgjengelighet, sikkerhetskopier, gjenopprette sikkerhetskopier og selvfølgelig brannslukking. 😜

I denne artikkelen gjennomgår vi noen av kommandoene som ofte brukes av Linux-systemadministratorer i deres daglige arbeid.

unavn

Bruk uname-kommandoen med flagget -a for å skrive ut systeminformasjon. Denne kommandoen vil vise deg kjernenavn, kjerneutgivelse, kjerneversjon, vertsnavn, prosessortype og maskinvareplattforminformasjonen din.

[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 hva dette betyr:

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

Bruk df-kommandoen for å bekrefte størrelsen på filsystemet og tilgjengelig plass. Denne kommandoen som brukes av seg selv viser utdata i 1K blokker.

[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% /
....

Alternativ -h viser utdata i et menneskelig lesbart format, det vil si 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 å ignorere et hvilket som helst filsystem, for eksempel tmpfs, som er for en renere utgang, bruk flagg -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 å vise en spesifikk filsystemtype, bruk -t flagg. for eksempel for å vise bare 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

Bruk av totalflagget vil legge til en linje som viser totalsum:

[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 å sjekke diskplassbruk i en katalog, bruk du kommando. For eksempel for å se diskplassbruk i /var/log-katalogen. Bruk -h-flagg for lesbart 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 se den totale bruken, bruk kun -s (sammendrag)-flagget.

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

gratis

Bruk ledig kommando for å se totalt, brukt og ledig systemminne. Bruk -h-flagg for lesbart 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

Bruk ps for å vise statusinformasjon om prosesser som kjører på systemet. For å se alle prosesser som eies av brukeren ubuntu, bruk -u-flagget med brukernavnet:

[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 å se alle prosesser, kjør ps med aux-flagg:

[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
Betydning
PID
Prosessidentifikasjonsnummer
%PROSESSOR
Prosentandel av CPU-tiden prosessen bruker
%MEM
Prosentandel av RAM-prosessen som brukes
VSZ
Virtuelt minne som brukes i KB
RSS
Fysisk minne prosessen bruker i KB
TTY
Terminal knyttet til prosessen
STAT
R – Kjører eller klar til å kjøre, S – Sovende, I – Inaktiv, T – Stoppet, Z – Zombie, D – Venter på disk I/O, X – Dead, W – Byttet ut, N – Lav prioritet prosess, < – Høyt prioritert prosess

topp

Mens ps-kommandoen viser et øyeblikksbilde av prosessens tilstand til enhver tid, viser toppen en kontinuerlig oppdatering (hvert tredje sekund, som standard) liste over systemprosesser i rekkefølge etter prosessaktivitet.

Den øverste kommandoutgangen består av to hoveddeler: Systemsammendraget øverst og tabellen over prosesser sortert etter 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_+

Noen av feltene i systemsammendraget er som følger:

  Hvordan forberede en 3D-modell for utskrift på Linux med Cura

opp
Oppetid. Tid siden maskinen sist ble startet opp.
gjennomsnittlig belastning
Belastningsgjennomsnitt refererer til antall prosesser som venter på å kjøre, verdi mindre enn 1,0 betyr at maskinen ikke er opptatt. Det er 3 verdier. Først er gjennomsnittet av de siste 60 sekundene, andre er gjennomsnittet av de siste 5 minuttene og det tredje viser gjennomsnittet av de siste 15 minuttene.
%Cpu(er)

Denne raden beskriver aktivitetene til CPUen.
0,3 oss, bruker
0,3 % CPU brukes til brukerprosesser.
0.0 sy, system
0,0 % CPU brukes til systemprosesser.
0,0 ni, bra
0,0% CPU brukes av lavprioriterte (fine) prosesser
99,7 id, inaktiv
99,7 % CPU er inaktiv
0,0 wa, IO-vent
0,0 % CPU venter på I/O
0,0 hei
tid brukt på maskinvareavbrudd
0,0 si
tid brukt på programvareavbrudd
0,0 st
tidsstein fra denne VM av hypervisoren

Prosesstabellfeltene er som følger:

PID
Prosessidentifikasjonsnummer
BRUKER
Prosesseier
PR
Prioritet
NI
Fin verdi
VIRT
Virtuelt minne brukt av prosessen (KB)
RES
Fysisk minne som brukes av prosessen
SHR
Delt minne som brukes av prosessen
S
Prosessstatus. R – Løper, S – sover, I – Inaktiv, T – stoppet, Z – zombie, D – venter på disk I/O, W- byttet ut, X – død
%PROSESSOR
CPU-tidsprosessen bruker i prosent
%MEM
Den fysiske minneprosessen bruker
TID[+]
Total CPU-tid brukt av prosessen
KOMMANDO
Navn på programmet

Mens toppen kjører, kan du gi en rekke kommandoer. Trykk på h eller ? for å se kommandoer som kan kjøres mens toppen kjører. Trykk k for å avslutte en prosess. Trykk på q for å avslutte toppen.

grave

dig er et flott verktøy for DNS-spørringer. Den brukes som følger:

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

hvor

  • er DNS-servernavnet du ønsker å spørre etter
  • er domenenavnet du ønsker å spørre om
  • er navnet på posten du ønsker å vite – A, MX, NS SOA osv.

For å undertrykke detaljert utdata, bruk +kort flagg.

For å se A record for google.com bruk:

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

For å se MX-poster for google.com bruk:

[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 trenger å spørre etter DNS-poster på Internett, kan du bruke DNS-oppslagsverktøyet.

hvem og w

som viser brukere som er pålogget.

[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 brukere som er logget på og deres prosesser. Overskriften viser gjeldende tid, systemoppetid, antall brukere pålogget og gjennomsnittlig systembelastning.

[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 neste delen viser brukernavnene, terminalen og den eksterne IP-en som de er logget på, påloggingstid, inaktiv tid, JCPU, PCPU og programmet de kjører. JCPU er tiden som brukes av alle prosesser knyttet til tty mens PCPU er tiden som brukes av gjeldende prosess.

tjære

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

Lag som et eksempel en katalog myfiles og tre filer a.txt, b.txt, c.txt i myfiles-katalogen:

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

Nå for å lage et arkiv kalt allfiles.tar som inneholder alle filene i myfiles-katalogen:

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

Liste alle filene i gjeldende katalog. Du kan se myfiles-katalogen og allfiles.tar-arkivet:

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

Du kan pakke ut et arkiv med -x-flagg. Så for å pakke ut allfiles.tar:

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

Du kan også komprimere dette arkivet med -z flagg. Dette vil lage et arkiv komprimert 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 å pakke ut et komprimert arkiv, bruk -z med -x-flagg.

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

grep

grep brukes til å søke etter et mønster i en fil, eller et sett med filer. Den skriver ut alle linjer som samsvarer med det mønsteret. For eksempel, for å søke etter linjen som inneholder «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"

For å søke i alle filer i en katalog, bruk *. For å inkludere søk i underkataloger, bruk -r (rekursivt) flagg. Så for å søke etter alle linjer som inneholder mønsteret «VirtualHost» i alle filene 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 raskt kommandolinjeverktøy for å synkronisere filer og kataloger mellom to steder. Kan brukes til både lokal og ekstern kopiering og er rask fordi den sender bare forskjellene mellom kildefilene og de eksisterende filene på destinasjonen.

Den er mye brukt til sikkerhetskopiering og som en forbedret kopikommando for daglig bruk.

Her er et eksempel:

For å kopiere/rsynkronisere alle filer fra myfiles-katalogen til sikkerhetskopieringskatalogen:

[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 å rsynkronisere alle filer fra myfiles-katalogen til sikkerhetskopieringskatalogen på en ekstern vert, inkluderer du remote_user @remote_host i destinasjonsnavnet. Så for å rsync myfiles-mappen til en ekstern vert 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 brukes til å dumpe socket-statistikk, lik det eldre netstat-verktøyet. Bruk -t flagg for å 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 stikkontakter som lytter. For å inkludere både lyttende og ikke-lyttende stikkontakter, bruk -t og -a flagg.

[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                                *:*

Lokaliser

locate-kommandoen bruker en database til å søke etter filer og kan faktisk være mye raskere enn find-kommandoen. Veldig enkelt å bruke, for å søke etter en fil, for eksempel apache2.conf:

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

Du kan bruke -c-flagg hvis du bare vil ha antallet filer som samsvarer med søkemønsteret.

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

Noen ganger må du kanskje oppdatere databasen som brukes av locate, som er mlocate. For å oppdatere databasen, bruk updatedb-kommandoen. Dette vil trenge superbrukerrettigheter.

[email protected]:~$ sudo updatedb

finne

En av de mest brukte kommandoene på Linux. Bruk den til å søke etter filer basert på filnavn, tillatelser, bruker-id, gruppeid, størrelse, filtype, i tillegg til andre kriterier.

For å søke etter en fil etter navn i gjeldende katalog, bruk -name-flagget etterfulgt av filnavnet for å søke.:

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

For å søke etter kataloger, bruk -type d flagg:

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

For å søke etter filer etter størrelse, si filer større enn 20 MB, bruk -size flagg:

[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

Nå som systemd har erstattet SysV init-prosessen i de fleste Linux-distribusjoner, bruk systemctl-kommandoen til å administrere systemtjenester og -enheter.

For å starte en tjeneste, for eksempel apache2:

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

Du kan forlate tjenestesuffikset.

Slik stopper du en tjeneste:

[email protected]:~$ sudo systemctl stop apache2

For å se tjenestestatus, bruk systemctl status kommando. Følgende eksempel viser apache2-status mens den kjø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 – ukomplisert brannmur er en brukervennlig grensesnitt for iptables. Den er tilgjengelig som standard på Ubuntu-baserte distribusjoner. På CentOS kan du installere ufw fra EPEL-depotet.

Slik aktiverer du ufw:

$ sudo ufw enable

Sjekk brannmurstatus med ufw-status:

$ sudo ufw status
Status: active

Standard UFW-policyer tillater all utgående trafikk og blokkerer all innkommende trafikk.

Følgende kommando tillater innkommende trafikk på HTTP-porten:

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

Du kan nekte trafikk på alle havner. Her er et eksempel for å blokkere trafikk på port 21:

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

journalctl

Bruk journalctl for å se logger samlet inn av systemd. systemd samler logg på et sentralt sted i binært format. For å se disse loggene:

[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 foretrekker du å se loggene i omvendt rekkefølge, det vil si de siste loggene 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 å se logger for en bestemt tjeneste, for eksempel mysql, bruk -u flagg:

[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.

drep og drep alt

Du må kanskje drepe en løpsk prosess eller når du trenger å frigjøre noen systemressurser. drep med -l flagg viser alle signalene du kan sende til en prosess.

[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 brukte signaler er SIGTERM OG SIGKILL. Du kan også bruke -9 for SIGKILL og -15 for SIGTERM. SIGTERM lar en prosess fullføre før den avsluttes og kalles derfor soft kill. SIGKILL avslutter prosessen umiddelbart. Her er et eksempel:

List opp alle apache2-prosesser

[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 å drepe apache2-prosessen med prosess-ID 45525:

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

Se igjen listen over apache2-prosesser:

[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

Bruk killall for å drepe et program ved navn. Noe som betyr at killall dreper kontroll(overordnet) prosessen og alle underordnede prosesser. For å drepe alle forekomster av apache2-prosessen i eksemplet ovenfor:

[email protected]:~$ sudo killall apache2

Bruk kill and killall med forsiktighet. Disse kommandoene kan etterlate systemet i en ustabil tilstand.

IP

IP-kommandoen erstatter ifconfig i de nyere Linux-distribusjonene. Bruk den til å konfigurere og vise nettverksgrensesnitt. Brukes også til å vise og endre IP-adresser, ruter og naboobjekter.

Vis informasjon om alle nettverksgrensesnitt:

[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 å få et grensesnitt opp eller ned, bruk ip link set dev etterfulgt av enhetsnavnet. For å bringe grensesnittet eth0 online:

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

Og for å få det ned:

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

Dato

En veldig vanlig kommando, her utforsker vi noen interessante måter å bruke denne kommandoen på.

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

For å se neste søndags dato:

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

For å se forrige søndags dato:

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

Du kan også bruke –date i stedet for -d flagg:

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

For å se dato for 6 dager siden:

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

Dato 6 dager fra nå:

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

Du kan enkelt kontrollere datoutdataformatet. Her er et eksempel:

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

Sammendrag

Du som systemadministrator holder verdens datainfrastruktur i gang. Du må løse problemer, vedlikeholde og holde systemene i gang optimalt samtidig som du ivaretar sikkerheten.

Håper disse kommandoene vil komme til nytte og hjelpe deg med å gjøre jobben din bedre.

Her er noen FTP/SFTP-klienter og de beste Vim-juksearkene for utviklere og Sysadmin.

x