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.
Innholdsfortegnelse
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:
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.