Linux erbjuder otaliga kommandon och verktyg som hjälper dig att utföra dina systemadministrationsuppgifter snabbt och effektivt.
Ditt arbete som systemadministratör inkluderar att installera och köra mjukvara, kontrollera åtkomst, övervakning, säkerställa tillgänglighet, säkerhetskopiering, återställa säkerhetskopior och naturligtvis brandbekämpning. 😜
I den här artikeln granskar vi några av de kommandon som ofta används av Linux-systemadministratörer i deras dagliga arbete.
Innehållsförteckning
du namnger
Använd kommandot uname med flaggan -a för att skriva ut systeminformation. Det här kommandot visar dig kärnnamnet, kärnversionen, kärnversionen, värdnamnet, processortypen och din hårdvaruplattformsinformation.
[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
Här är vad detta 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
Använd kommandot df för att verifiera storleken på filsystemet och tillgängligt utrymme. Detta kommando som används i sig visar utdata i 1K-block.
[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 visar utdata i ett läsbart format, det vill säga i MB och 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
För att ignorera alla filsystem, till exempel tmpfs, det vill säga för en renare utdata, använd flaggan -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
För att bara lista en specifik filsystemstyp, använd -t flagga. till exempel för att bara visa 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
Om du använder totalflaggan läggs en rad till som visar totalsummor:
[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
För att kontrollera diskutrymmesanvändningen i en katalog, använd kommandot du. Till exempel för att se användningen av diskutrymme i katalogen /var/log. Använd -h-flaggan för lä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
För att bara se den totala användningen använd endast flaggan -s (sammanfattning).
[email protected]:~$ sudo du -hs /var/log 204M /var/log
fri
Använd kommandot ledigt för att se totalt, använt och ledigt systemminne. Använd -h-flaggan för läsbart format.
ubuntu[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
Använd ps för att visa statusinformation om processer som körs på systemet. För att se alla processer som ägs av användaren ubuntu, använd flaggan -u med användarnamnet:
[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
För att se alla processer kör ps med aux-flaggor:
[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] ....
var
Rubrik
Menande
PID
Processidentifikationsnummer
%CPU
Procent av CPU-tid som processen använder
%MEM
Procent av RAM-processen som används
VSZ
Virtuellt minne som används i KB
RSS
Fysiskt minne som processen använder i KB
TTY
Terminal associerad med processen
STATISTIK
R – Igång eller redo att köra, S – Vila, I – Idle, T – Stoppad, Z – Zombie, D – Väntar på disk I/O, X – Död, W – Byt ut, N – Process med låg prioritet, < – Högprioriterad process
topp
Medan ps-kommandot visar en ögonblicksbild av processernas tillstånd när som helst, visar toppen en kontinuerligt uppdaterad (var tredje sekund, som standard) lista över systemprocesser i ordning efter processaktivitet.
Den översta kommandoutgången består av två huvuddelar: Systemsammanfattningen överst och tabellen över processer sorterade 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_+
Några av fälten i systemsammanfattningen är följande:
upp
Upptid. Tid sedan maskinen startades senast.
genomsnittlig belastning
Belastningsgenomsnitt hänvisar till antalet processer som väntar på att köras, värde mindre än 1,0 betyder att maskinen inte är upptagen. Det finns 3 värden. Först är medelvärdet av de senaste 60 sekunderna, andra är medelvärdet av de senaste 5 minuterna och det tredje visar medelvärdet av de senaste 15 minuterna.
%Cpu(s)
Den här raden beskriver processorns aktiviteter.
0,3 oss, användare
0,3 % CPU används för användarprocesser.
0,0 sy, system
0,0 % CPU används för systemprocesser.
0,0 ni, bra
0,0% CPU används av lågprioriterade (snälla) processer
99,7 id, tomgång
99,7 % CPU är inaktiv
0,0 wa, IO-vänta
0,0 % CPU väntar på I/O
0,0 hej
tid som ägnas åt hårdvaruavbrott
0,0 si
tid som ägnas åt programavbrott
0,0 st
tidssten från denna virtuella dator av hypervisorn
Processtabellfält är följande:
PID
Processidentifikationsnummer
ANVÄNDARE
Processägare
PR
Prioritet
NI
Bra värde
VIRT
Virtuellt minne som används av processen (KB)
RES
Fysiskt minne som används av processen
SHR
Delat minne som används av processen
S
Processstatus. R – Kör, S – sover, I – Idle, T – stoppad, Z – zombie, D – väntar på disk I/O, W- bytte ut, X – död
%CPU
CPU-tidprocessen används i procent
%MEM
Den fysiska minnesprocessen använder
TID[+]
Total CPU-tid som används av processen
KOMMANDO
Namn på programmet
Medan top körs kan du utfärda ett antal kommandon. Tryck på h eller ? för att se kommandon som kan köras medan top körs. Tryck på k för att avsluta en process. Tryck på q för att avsluta toppen.
gräv
dig är ett utmärkt verktyg för DNS-frågor. Den används enligt följande:
dig <DNS server> <domain> <query-type>
var
är DNS-servernamnet du vill fråga är domännamnet du vill fråga om är namnet på posten du vill veta – A, MX, NS SOA, etc.
För att undertrycka utförlig utdata, använd +kort flagga.
För att visa A record for google.com använd:
[email protected]:~$ dig google.com +short 172.217.164.174
För att se MX-poster för google.com använd:
[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.
Om du behöver fråga efter DNS-poster på Internet kan du använda DNS-sökningsverktyget.
vem och w
som visar användare som är inloggade.
[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 visar användare som för närvarande är inloggade och deras processer. Rubriken visar aktuell tid, systemupptid, antal inloggade användare och medelvärden för 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
Nästa del visar användarnamnen, terminalen och fjärr-IP från vilken de är inloggade, inloggningstid, vilotid, JCPU, PCPU och programmet de kör. JCPU är den tid som används av alla processer kopplade till tty medan PCPU är den tid som används av den aktuella processen.
tjära
Med GNU tar kan du arkivera flera filer till en enda fil.
Som ett exempel skapa en katalog myfiles och tre filer a.txt, b.txt, c.txt i myfiles-katalogen:
[email protected]:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}
Nu för att skapa ett arkiv med namnet allfiles.tar som innehåller alla filer i myfiles-katalogen:
[email protected]:~$ tar -cvf allfiles.tar myfiles myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
Lista alla filer i den aktuella katalogen. Du kan se myfiles-katalogen och allfiles.tar-arkivet:
[email protected]:~$ ls allfiles.tar myfiles
Du kan packa upp ett arkiv med flaggan -x. Så, för att packa upp allfiles.tar:
[email protected]:~$ tar -xvf allfiles.tar myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
Du kan också komprimera detta arkiv med -z-flaggan. Detta skulle skapa ett arkiv komprimerat 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
För att packa upp ett komprimerat arkiv använd -z med -x-flagga.
[email protected]:~$ tar -zxvf allfiles.tar.gz myfiles/ myfiles/c.txt myfiles/a.txt myfiles/b.txt
grep
grep används för att söka efter ett mönster i en fil, eller en uppsättning filer. Den skriver ut alla linjer som matchar det mönstret. Till exempel, för att söka efter raden som innehåller ”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"
För att söka i alla filer i en katalog använd *. Använd -r (rekursiv) flagga för att inkludera sökning i underkataloger. Så för att söka efter alla rader som innehåller mönstret ”VirtualHost” i alla 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 är ett snabbt kommandoradsverktyg för att synkronisera filer och kataloger mellan två platser. Kan användas för både lokal och fjärrkopiering och är snabb eftersom den bara skickar skillnaderna mellan källfilerna och de befintliga filerna på destinationen.
Det används ofta för säkerhetskopiering och som ett förbättrat kopieringskommando för dagligt bruk.
Här är ett exempel:
Så här kopierar/rsynkar du alla filer från myfiles-katalogen till säkerhetskopieringskatalogen:
[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
För att rsynkronisera alla filer från myfiles-katalogen till säkerhetskopieringskatalogen på en fjärrvärd, inkludera remote_user @remote_host i destinationsnamnet. Så, för att rsync myfiles-mappen till en fjärrvärd 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-kommandot används för att dumpa socketstatistik, liknande det äldre verktyget netstat. För att visa TCP-sockets använd -t-flaggan.
[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
Detta skulle inte visa uttag som lyssnar. För att inkludera både lyssnande och icke-lyssnande sockets använd -t och -a flaggor.
[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 *:*
lokalisera
Kommandot locate använder en databas för att söka efter filer och kan faktiskt vara mycket snabbare än find-kommandot. Mycket enkel att använda, för att söka efter en fil, säg apache2.conf:
[email protected]:~$ locate apache2.conf /etc/apache2/apache2.conf /var/lib/dpkg/info/apache2.conffiles
Du kan använda -c-flaggan om du bara vill ha antalet filer som matchar sökmönstret.
[email protected]:~$ locate -c apache2.conf 2
Ibland kan du behöva uppdatera databasen som används av locate, som är mlocate. För att uppdatera databasen använd updatedb kommando. Detta skulle behöva superanvändarprivilegier.
[email protected]:~$ sudo updatedb
hitta
Ett av de mest använda kommandona på Linux. Använd den för att söka efter filer baserat på filnamn, behörigheter, användar-id, groupid, storlek, filtyp, förutom andra kriterier.
För att söka efter en fil med namn i den aktuella katalogen, använd flaggan -name följt av filnamnet för att söka.:
[email protected]:~$ find . -name a.txt ./myfiles/a.txt
För att söka efter kataloger, använd -typ d flagga:
[email protected]:~$ find . -type d . ./.ssh ./myfiles ./.cache ./.gnupg ./.gnupg/private-keys-v1.d ./docker
För att söka efter filer efter storlek, säg filer som är större än 20 MB, använd flaggan -size:
[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 när systemd har ersatt SysV init-processen i de flesta Linux-distributioner, använd systemctl-kommandot för att hantera systemtjänster och -enheter.
För att starta en tjänst, till exempel apache2:
[email protected]:~$ sudo systemctl start apache2.service
Du kan lämna tjänstens suffix.
Så här stoppar du en tjänst:
[email protected]:~$ sudo systemctl stop apache2
För att se tjänstens status, använd systemctl statuskommandot. Följande exempel visar apache2-status medan den körs:
[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 – okomplicerad brandvägg är en lättanvänd frontend för iptables. Den är tillgänglig som standard på Ubuntu-baserade distributioner. På CentOS kan du installera ufw från EPEL-förvaret.
För att aktivera ufw:
$ sudo ufw enable
Kontrollera brandväggsstatus med ufw-status:
$ sudo ufw status Status: active
Standard UFW-policyer tillåter all utgående trafik och blockerar all inkommande trafik.
Följande kommando tillåter inkommande trafik på HTTP-porten:
$ sudo ufw allow http Rule added Rule added (v6)
Du kan neka trafik på vilken hamn som helst. Här är ett exempel för att blockera trafik på port 21:
$ sudo ufw deny 21 Rule added Rule added (v6)
journalctl
Använd journalctl för att se loggar som samlats in av systemd. systemd samlar in logg på en central plats i binärt format. Så här visar du dessa loggar:
[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 ...
Oftast föredrar du att se loggarna i omvänd ordning, det vill säga de senaste loggarna 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) ...
För att visa loggar för en specifik tjänst, till exempel mysql, använd -u-flaggan:
[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.
döda och döda
Du kan behöva döda en skenande process eller när du behöver frigöra några systemresurser. döda med -l flaggan visar alla signaler du kan skicka till en process.
[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 ....
De två vanligaste signalerna är SIGTERM OCH SIGKILL. Du kan också använda -9 för SIGKILL och -15 för SIGTERM. SIGTERM låter en process slutföras innan den avslutas och kallas därför soft kill. SIGKILL avslutar processen omedelbart. Här är ett exempel:
Lista alla 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
För att döda apache2-processen med process-id 45525:
[email protected]:~$ sudo kill -9 45525
Se listan över apache2-processer igen:
[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
Använd killall för att döda ett program med namn. Vilket betyder att killall dödar kontroll(förälder)processen och alla underordnade processer. För att döda alla instanser av apache2-processen i exemplet ovan:
[email protected]:~$ sudo killall apache2
Använd kill and killall med försiktighet. Dessa kommandon kan lämna systemet i ett instabilt tillstånd.
IP
ip-kommandot ersätter ifconfig i de nyare Linux-distributionerna. Använd den för att konfigurera och visa nätverksgränssnitt. Används även för att visa och ändra IP-adresser, rutter och grannobjekt.
Visa information om alla nätverksgränssnitt:
[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
För att få upp eller ner ett gränssnitt använd ip-länkset dev följt av enhetsnamnet. Till exempel, för att få gränssnittet eth0 online:
[email protected]:~$ ip link set eth0 up
Och för att få ner det:
[email protected]:~$ ip link set eth0 down
datum
Ett mycket vanligt använt kommando, här utforskar vi några intressanta sätt att använda detta kommando.
[email protected]:~$ date Tue Aug 11 07:42:49 UTC 2020
För att se nästa söndags datum:
[email protected]:~$ date -d 'next sunday' Sun Aug 16 00:00:00 UTC 2020
För att se förra söndagens datum:
[email protected]:~$ date -d 'last sunday' Sun Aug 9 00:00:00 UTC 2020
Du kan också använda –date istället för –d flagga:
[email protected]:~$ date --date="last sunday" Sun Aug 9 00:00:00 UTC 2020
För att se datum för 6 dagar sedan:
[email protected]ntu18:~$ date --date="6 days ago" Wed Aug 5 08:06:37 UTC 2020
Datum om 6 dagar:
[email protected]:~$ date --date="6 days" Mon Aug 17 08:08:37 UTC 2020
Du kan enkelt kontrollera datumutdataformatet. Här är ett exempel:
[email protected]:~$ date '+%d-%B-%Y' 11-August-2020
Sammanfattning
Du som systemadministratör håller världens datorinfrastruktur igång. Du behöver lösa problem, underhålla och hålla systemen igång optimalt samtidigt som du säkerställer säkerheten.
Hoppas dessa kommandon kommer till användning och hjälper dig att göra ditt jobb bättre.
Här är några FTP/SFTP-klienter och de bästa Vim-fuskbladen för utvecklare och Sysadmin.