In Linux und Networking Letztes Updateated:
Teilen:
Jira-Software ist das Projektmanagement-Tool Nr. 1, das von agilen Teams zum Planen, Verfolgen, Freigeben und Unterstützen großartiger Software verwendet wird.

Linux bietet unzählige Befehle und Dienstprogramme, mit denen Sie Ihre Systemverwaltungsaufgaben schnell und effizient ausführen können.

Ihre Arbeit als System Administrator umfasst die Installation und Ausführung von Software, die Zugriffskontrolle, monitoring, Sicherstellung der Verfügbarkeit, Backups, Wiederherstellung von Backups und natürlich Brandbekämpfung. 😜

In diesem Artikel haben wir revSehen Sie sich einige der Befehle an, die Linux-Systemadministratoren bei ihrer täglichen Arbeit häufig verwenden.

uname

Verwenden Sie die uname Befehl mit dem -a Flag zum Drucken von Systeminformationen. Dieser Befehl zeigt Ihnen den Kernelnamen, die Kernel-Version, die Kernel-Version, den Hostnamen usw. an. processoder geben Sie & Ihre Hardware ein platFormularinformationen.

ubuntu@ubuntu18:~$ 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

Folgendes bedeutet dies:

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

Verwenden Sie die df Befehl, um die Größe des Dateisystems und den verfügbaren Speicherplatz zu überprüfen. Dieser Befehl wird von ihm verwendetself Zeigt die Ausgabe in an 1K Blöcke 

ubuntu@ubuntu18:~$ 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% /
....

Option -h Zeigt die Ausgabe in einem für Menschen lesbaren Format an MB und GB.

ubuntu@ubuntu18:~$ 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 

Verwenden Sie flag, um ein Dateisystem zu ignorieren, z. B. tmpfs, dh eine sauberere Ausgabe -x

ubuntu@ubuntu18:~$ 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

Verwenden Sie, um nur einen bestimmten Dateisystemtyp aufzulisten -t Flagge. So zeigen Sie beispielsweise nur das ext4-Dateisystem an:

ubuntu@ubuntu18:~$ 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

Wenn Sie das Total-Flag verwenden, wird eine Zeile mit den Gesamtsummen hinzugefügt:

ubuntu@ubuntu18:~$ 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

Verwenden Sie, um die Speicherplatznutzung in einem Verzeichnis zu überprüfen du Befehl. Zum Beispiel, um die Speicherplatznutzung im Verzeichnis / var / log anzuzeigen. Verwenden -h Flag für lesbares Format.

ubuntu@ubuntu18:~$ 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

Um nur die Gesamtnutzung zu sehen, verwenden Sie nur -s (Zusammenfassung) Flagge.

ubuntu@ubuntu18:~$ sudo du -hs /var/log
204M	/var/log

gratis

Verwenden Sie den Befehl free, um den gesamten, verwendeten und freien Systemspeicher anzuzeigen. Verwenden -h Flag für lesbares Format.

ubuntu@ubuntu18:~$ 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

Verwenden Sie die ps um Statusinformationen anzuzeigen processEs läuft auf dem System. Um alles zu sehen processEs gehört dem Benutzer Ubuntu und wird verwendet -u Flag mit dem Benutzernamen:

ubuntu@ubuntu18:~$ 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

Um alle anzuzeigen processes führt ps mit Aux-Flags aus:

ubuntu@ubuntu18:~$ 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]
....

woher

ÜberschriftBedeutung
PIDProcess Identifikationsnummer
%ZENTRALPROZESSORProzentsatz der CPU-Zeit process benutzt
% MEMProzentsatz des RAM process benutzt
VSZVirtueller Speicher wird in KB verwendet
RSSPhysisches Gedächtnis process wird in KB verwendet
TTYTerminalzuordnungenated mit dem process
STATR – Läuft oder ist betriebsbereit, S – Schlafend, I – Leerlauf, T – Angehalten, Z – Zombie, D – Warten auf Festplatten-E/A, X – Tot, W – Ausgelagert, N – Niedrige Priorität process, < – Hohe Priorität process

Top

Während ps Der Befehl zeigt einen Schnappschuss des state of processOben wird jederzeit eine ständig aktualisierte Systemliste (standardmäßig alle drei Sekunden) angezeigt processes in der Reihenfolge von process Aktivität.

Der top Die Befehlsausgabe besteht aus zwei Hauptteilen: der Systemzusammenfassung oben und der Tabelle processEs ist nach CPU-Aktivität sortiert.

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_+

Einige der Felder in der Systemzusammenfassung lauten wie folgt:

upBetriebszeit. Zeit seit dem letzten Start der Maschine.
DurchschnittslastDer Lastdurchschnitt bezieht sich auf die Anzahl der processBei Maschinen, die auf ihre Ausführung warten, bedeutet ein Wert kleiner als 1.0, dass die Maschine nicht ausgelastet ist. Es gibt 3 Werte. Erstens ist der Durchschnitt der letzten 60 Sekunden, zweitens ist der Durchschnitt der letzten 5 Minuten und der third zeigt den Durchschnitt der letzten 15 Minuten.
% CPU (s)

 

 

 

Diese Zeile beschreibt die Aktivitäten der CPU.

 

0.3 us, Benutzer 0.3 % CPU werden für den Benutzer verwendet processzB.
0.0 sy, System 0.0 % CPU wird für das System verwendet processzB.
0.0 ni, nice 0.0 % CPU wird von niedriger Priorität verwendet(nice) processes
99.7 id, idle 99.7% der CPU ist im Leerlauf
0.0 wa, IO-Wartezeit 0.0% der CPU wartet auf E / A.
0.0 hi Zeitaufwand für Hardware-Interrupts
0.0 und Zeitaufwand für Software-Interrupts
Jeder 0.0 Zeitstein von dieser VM durch den Hypervisor

Process Tabellenfelder sind wie folgt:

PIDProcess Identifikationsnummer
USERProcess Eigentümer
PRPriorität
NINice Wert
RESPEKTIERTEVirtueller Speicher, der von verwendet wird process (KB)
RESPhysischer Speicher, der von verwendet wird process
SHRGemeinsam genutzter Speicher, der von verwendet wird process
SProcess Status. R – läuft, S – schläft, I – im Leerlauf, T – gestoppt, Z – Zombie, D – wartet auf Festplatten-E/A, W – ausgelagert, X – tot
%ZENTRALPROZESSORCPU-Zeit process verwendet in Prozent
% MEMDas physische Gedächtnis process benutzt
ZEIT [+]Gesamte CPU-Zeit, die von verwendet wird process
COMMANDName des Programms

Während top läuft, können Sie eine Reihe von Befehlen ausgeben. Drücken Sie h or ? um Befehle zu sehen, die ausgeführt werden können, während top ausgeführt wird. Drücken Sie k a process. Drücken Sie q oben zu beenden.

graben

dig ist ein großartiges Tool für DNS-Abfragen. Es wird wie folgt verwendet:

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

woher

  • ist der DNS-Servername, den Sie abfragen möchten
  • ist der Domainname, über den Sie abfragen möchten
  • ist der Name des Datensatzes, den Sie kennen möchten - A, MX, NS SOA usw.

Verwenden Sie das Flag + short, um eine ausführliche Ausgabe zu unterdrücken.

So zeigen Sie einen Datensatz für google.com an:

ubuntu@ubuntu18:~$ dig google.com +short
172.217.164.174

Um MX-Einträge für google.com anzuzeigen, verwenden Sie:

ubuntu@ubuntu18:~$ 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.

Wenn Sie DNS-Einträge im Internet abfragen müssen, können Sie die verwenden DNS-Nachschlagetool.

wer und w

who Zeigt Benutzer an, die angemeldet sind.

ubuntu@ubuntu18:~$ 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 Zeigt die aktuell angemeldeten Benutzer und ihre Benutzer an processes. In der Kopfzeile werden die aktuelle Uhrzeit, die Systemverfügbarkeit, die Anzahl der angemeldeten Benutzer und die durchschnittliche Systemlast angezeigt.

ubuntu@ubuntu18:~$ w
 18:07:33 up 46 days, 15:19,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   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

Der nächste Teil zeigt die Benutzernamen, das Terminal und die Remote-IP, von der aus sie angemeldet sind, Anmeldezeit, Leerlaufzeit, JCPU, PCPU und das Programm, das sie ausführen. JCPU ist die von allen genutzte Zeit processEs ist an den TTY gebunden, während PCPU die vom Strom verwendete Zeit ist process.

Teer

Mit GNU tar können Sie archive mehrere Dateien in einer einzigen Datei.

Als Beispiel create ein Verzeichnis myfiles und drei Dateien a.txt, b.txt, c.txt im Verzeichnis myfiles:

ubuntu@ubuntu18:~$ mkdir myfiles ; touch myfiles/{a.txt,b.txt,c.txt}

Nun zur Create ein Bogenhive mit dem Namen allfiles.tar, das alle Dateien im Verzeichnis myfiles enthält:

ubuntu@ubuntu18:~$ tar -cvf allfiles.tar myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Alle Dateien im aktuellen Verzeichnis auflisten. Sie können das Verzeichnis myfiles und den Bogen allfiles.tar sehenhive:

ubuntu@ubuntu18:~$ ls
allfiles.tar  myfiles

Sie können einen Bogen auspackenhive mit der Flagge -x. Also, um allfiles.tar zu entpacken:

ubuntu@ubuntu18:~$ tar -xvf allfiles.tar
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

Sie können diesen Bogen auch komprimierenhive mit der Flagge -z. Das wäre Create ein Bogenhive mit gzip komprimiert.

ubuntu@ubuntu18:~$ tar -zcvf allfiles.tar.gz myfiles
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt
ubuntu@ubuntu18:~$ ls
allfiles.tar.gz  myfiles

Zum Auspacken eines komprimierten Lichtbogenshive - -z mit -x Flagge.

ubuntu@ubuntu18:~$ tar -zxvf allfiles.tar.gz 
myfiles/
myfiles/c.txt
myfiles/a.txt
myfiles/b.txt

grep

grep wird verwendet, um nach einem Muster in einer Datei oder einer Reihe von Dateien zu suchen. Es werden alle Zeilen gedruckt, die diesem Muster entsprechen. So suchen Sie beispielsweise in /etc/apache2/apache2.conf nach der Zeile mit "ServerRoot":

ubuntu@ubuntu18:~$ grep ServerRoot /etc/apache2/apache2.conf 
# ServerRoot: The top of the directory tree under which the server's
#ServerRoot "/etc/apache2"

Um in allen Dateien in einem Verzeichnis zu suchen, verwenden Sie *. Um die Suche in Unterverzeichnisse aufzunehmen, verwenden Sie -r (rekursives) Flag. So suchen Sie in allen Dateien in / etc / apache2 nach allen Zeilen, die das Muster "VirtualHost" enthalten:

ubuntu@ubuntu18:~$ cd /etc/apache2
ubuntu@ubuntu18:/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

<a href="https://geekflare.com/rsync-guide/">rsync</a> is a fast command-line tool for synchronizing files and directories between two locations. Can be used for both local and remote copying and is fast because it sends only the differences between the source files and the existing files in the destination.

Es wird häufig für Sicherungen und als verbesserter Kopierbefehl für den täglichen Gebrauch verwendet.

Hier ist ein Beispiel:

Kopieren/rsync alle Dateien vom Verzeichnis „myfiles“ in das Verzeichnis „backups“:

ubuntu@ubuntu18:~$ 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

Zu rsync Alle Dateien vom Verzeichnis „myfiles“ bis zum Verzeichnis „backups“ auf einem Remote-Host, einschließlich remote_user @remote_host im Zielnamen. Also, zu rsync myfiles-Ordner auf einen Remote-Host mit IP 10.0.0.50:

vagrant@ubuntu-xenial:~$ rsync -avh myfiles/ vagrant@10.0.0.50:/home/vagrant
vagrant@10.0.0.50'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 Der Befehl wird verwendet, um Socket-Statistiken zu sichern, ähnlich dem alten Dienstprogramm netstat. Verwenden Sie zum Anzeigen von TCP-Sockets -t Flagge.

ubuntu@ubuntu18:~$ 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

Dies würde keine Sockets anzeigen, die gerade lauschen. Um sowohl hörende als auch nicht hörende Steckdosen einzuschließen, verwenden Sie -t und -a Flaggen.

ubuntu@ubuntu18:~$ 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                                *:*

locate

Der locate Der Befehl verwendet eine Datenbank, um nach Dateien und Aktu zu suchenally kann viel schneller sein als der Befehl „find“. Sehr einfach zu verwenden, um nach einer Datei zu suchen, beispielsweise apache2.conf:

ubuntu@ubuntu18:~$ locate apache2.conf
/etc/apache2/apache2.conf
/var/lib/dpkg/info/apache2.conffiles

Sie können verwenden -c Flag, wenn nur die Anzahl der Dateien mit dem Suchmuster übereinstimmen soll.

ubuntu@ubuntu18:~$ locate -c apache2.conf
2

Manchmal müssen Sie möglicherweise die von loc verwendete Datenbank aktualisierenate, also mlocate. Zu aktualisierenate die Datenbanknutzung updatedb Befehl. Dies würde Superuser-Berechtigungen erfordern.

ubuntu@ubuntu18:~$ sudo updatedb

finden

Einer der am häufigsten verwendeten Befehle unter Linux. Verwenden Sie es, um nach Dateien anhand von Dateinamen, Berechtigungen, Benutzer-ID, Gruppen-ID, Größe, Dateityp und anderen Kriterien zu suchen.

Verwenden Sie zum Suchen nach einer Datei nach Namen im aktuellen Verzeichnis das Flag -name gefolgt vom Dateinamen für die Suche:

ubuntu@ubuntu18:~$ find . -name a.txt
./myfiles/a.txt

Verwenden Sie zum Suchen nach Verzeichnissen -type d Flagge:

ubuntu@ubuntu18:~$ find . -type d
.
./.ssh
./myfiles
./.cache
./.gnupg
./.gnupg/private-keys-v1.d
./docker

Verwenden Sie zum Suchen nach Dateien nach Größe, z. B. Dateien mit einer Größe von mehr als 20 MB -size Flagge:

ubuntu@ubuntu18:~$ 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

Erfahren Sie hier mehr über Linux-Suchbefehl.

systemctl

Nun systemd hat SysV init ersetzt process Verwenden Sie in den meisten Linux-Distributionen systemctl Befehl zum Verwalten von systemd-Diensten und -Einheiten.

So starten Sie einen Dienst, zum Beispiel apache2:

ubuntu@ubuntu18:~$ sudo systemctl start apache2.service

Sie können das Service-Suffix verlassen.

So stoppen Sie einen Dienst:

ubuntu@ubuntu18:~$ sudo systemctl stop apache2

Verwenden Sie, um den Servicestatus anzuzeigen systemctl Statusbefehl. Das folgende Beispiel zeigt den Status von Apache2 während der Ausführung:

ubuntu@ubuntu18:~$ 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 Befehl

UFW – unkompliziertated Firewall ist ein benutzerfreundliches Frontend für iptables. Es ist standardmäßig auf Ubuntu-basierten Distributionen verfügbar. Auf CentOS können Sie installieren ufw aus dem EPEL-Repository.

Aktivieren ufw:

$ sudo ufw enable

Überprüfen Sie den Firewall-Status mit ufw Status:

$ sudo ufw status
Status: active

Standard UFW Richtlinien lassen den gesamten ausgehenden Datenverkehr zu und blockieren den gesamten eingehenden Datenverkehr.

Der folgende Befehl ermöglicht eingehenden Datenverkehr am HTTP-Port:

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

Sie können den Datenverkehr an jedem Port verweigern. Hier ist ein Beispiel zum Blockieren des Datenverkehrs auf Port 21:

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

journalctl

Verwenden Sie die journalctl um von systemd gesammelte Protokolle anzuzeigen. systemd sammelt das Protokoll an einem zentralen Ort in einem Binärformat. So zeigen Sie diese Protokolle an:

ubuntu@ubuntu18:~$ 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 (buildd@lcy01-amd64-003) (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
...

Meistens möchten Sie lieber die Anmeldungen sehen revandere Reihenfolge, das heißt, das latest protokolliert zuerst:

ubuntu@ubuntu18:~$ 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)
...

Zum Anzeigen von Protokollen eines bestimmten Dienstes, z. B. mysql -u Flagge:

ubuntu@ubuntu18:~$ 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.

Töte und töte alle

Möglicherweise müssen Sie einen töten runaWeg, process oder wenn Sie einige Systemressourcen freigeben müssen. töten mit -l Flag zeigt alle Signale an, die Sie an a senden können process.

ubuntu@ubuntu18:~$ 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
....

Zwei am häufigsten verwendete Signale sind SIGTERM und SIGKILL. Sie können auch -9 für SIGKILL und -15 für SIGTERM verwenden. SIGTERM ermöglicht a process zu vervollständigen, bevor es terminiert istated und wird daher Softkill genannt. SIGKILL-Terminates die process sofortately. Hier ist ein Beispiel:

Listen Sie alle Apache2 auf processes

ubuntu@ubuntu18:~$ 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

Um Apache2 zu töten process mit process ID 45525:

ubuntu@ubuntu18:~$ sudo kill -9 45525

Sehen Sie sich noch einmal die Liste von Apache2 an processist:

ubuntu@ubuntu18:~$ 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

Verwenden Sie killall, um ein Programm namentlich zu beenden. Das bedeutet, dass killall die Kontrolle (übergeordnetes Element) tötet. process und alles Kind processes. Um alle Instanzen von Apache2 zu töten process im Beispiel oben:

ubuntu@ubuntu18:~$ sudo killall apache2

Verwenden Sie die kill und killall mit Vorsicht. Diese Befehle können dazu führen, dass das System instabil wirdate.

IP

Der ip Befehl ersetzt ifconfig in den neueren Linux-Distributionen. Verwenden Sie diese Option, um Netzwerkschnittstellen zu konfigurieren und anzuzeigen. Wird auch zum Anzeigen und Ändern von IP-Adressen, Routen und Nachbarobjekten verwendet.

Informationen zu allen Netzwerkschnittstellen anzeigen:

ubuntu@ubuntu18:~$ 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

Um eine Schnittstelle nach oben oder unten zu bringen, verwenden Sie ip link set dev gefolgt vom Gerätenamen. So schalten Sie beispielsweise die Schnittstelle eth0 online:

ubuntu@ubuntu18:~$ ip link set eth0 up

Und um es runter zu bringen:

ubuntu@ubuntu18:~$ ip link set eth0 down

date

Ein sehr häufig verwendeter Befehl. Hier untersuchen wir einige interessante Möglichkeiten, diesen Befehl zu verwenden.

ubuntu@ubuntu18:~$ date
Tue Aug 11 07:42:49 UTC 2020

Um den nächsten Sonntag d zu sehenate:

ubuntu@ubuntu18:~$ date -d 'next sunday'
Sun Aug 16 00:00:00 UTC 2020

Um das d vom letzten Sonntag zu sehenate:

ubuntu@ubuntu18:~$ date -d 'last sunday'
Sun Aug  9 00:00:00 UTC 2020

Sie können auch –d verwendenate statt -d Flag:

ubuntu@ubuntu18:~$ date --date='last sunday'
Sun Aug  9 00:00:00 UTC 2020

Sähenate Vor 6 Tagen:

ubuntu@ubuntu18:~$ date --date='6 days ago'
Wed Aug  5 08:06:37 UTC 2020

Date In 6 Tagen:

ubuntu@ubuntu18:~$ date --date='6 days'
Mon Aug 17 08:08:37 UTC 2020

Sie können d einfach steuernate Ausgabeformat. Hier ist ein Beispiel:

ubuntu@ubuntu18:~$ date '+%d-%B-%Y'
11-August-2020

Zusammenfassung

Sie als Systemadministrator behalten die Welt Computerinfrastruktur läuft. Sie müssen Probleme lösen, die Systeme warten und optimal laufen lassenally und gleichzeitig die Sicherheit gewährleisten.

Ich hoffe, diese Befehle sind nützlich und helfen Ihnen, Ihre Arbeit besser zu machen.

Hier sind einige FTP/SFTP-Clients und dem besten Vim-Spickzettel für Entwickler und Sysadmin.

Teilen:
  • Vijay Khurana
    Autor
    Vijay arbeitet seit 2000 an Linux und Open-Source-Software. Er teilt sein Linux-Wissen gerne mit der Welt.

Danke an unsere Sponsoren

Weitere großartige Lektüre zu Linux

Treiben Sie Ihr Geschäft an

Einige der Tools und Services, die Ihrem Unternehmen helfen grow.