GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 3

Letzte Woche und die Woche davor habe ich Teil 1 und Teil 2 dieser fünfteiligen Serie mit dem Titel:Von Linux-Systemadministratoren häufig verwendete Linux-Befehle veröffentlicht . Diese beiden Artikel führten uns etwas tiefer in die meiner Meinung nach etwa 50 bis 100 Befehle, die häufig von Linux-Systemadministratoren und Power-Usern verwendet werden. Siehe auch Teil 4 und Teil 5.

Lassen Sie uns zu Teil 3 mit einem weiteren Satz von Befehlen und Befehlszeilentools springen, die häufig für die Dateiübertragung, Dateimanipulation, Netzwerkfehlerbehebung und andere administrative Aufgaben verwendet werden, die von Linux-Systemen ausgeführt werden. In dieser und zukünftigen Serien werde ich verwandte Befehle so weit wie möglich gruppieren und auch ein Inhaltsverzeichnis hinzufügen, um alle fünf Teile dieser Serie miteinander zu verknüpfen.

1. rsync – Remote-Dateiübertragungen und -synchronisierung.

Rsync (Remote Sync) ist ein Open-Source-Tool für die Dateisynchronisierung zwischen lokalen und Remote-Systemen. Im Jahr 2016 hatte ich die Aufgabe, einen globalen CDN-gestützten Mirror für Linux-Distributionen und andere Repositories einzurichten: Evowise CDN (https://mirros.evowise.com). Dieses Projekt stützt sich stark auf rsync um sicherzustellen, dass Hunderte von Terabyte an Dateien immer synchron sind. Im Laufe der Zeit haben mehr Distributionen ihre eigenen globalen CDN-gestützten Mirrors angeboten; Es gibt jedoch immer noch nur eine Handvoll Multi-Distro- und Multi-Software-Mirrors. Hier ist ein Beispiel für die Verwendung von rsync Befehl zum Remote-Backup von Dateien:

rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/

Um aus dem Remote-Verzeichnis herunterzuladen, kehren Sie die Reihenfolge des Befehls um:

rsync -avze ssh user@IP_or_hostname:/remote/backup/directory1/ /path/to/directory1/

Rsync ist ein ganzes Thema für sich. Lassen Sie uns daher zu einem späteren Zeitpunkt auf diesen Befehl noch einmal ausführlicher eingehen. In der Zwischenzeit ist es am besten, die Dokumentation und die Spickzettel zu lesen.

2. tar , gzip , b2zip , und zip Dateimanipulation.

tar (Bandarchiv) ist ein Archivierungsprogramm.

Verwenden Sie zum Extrahieren aus einem Archiv:(mit den Optionen x =extrahieren, v =ausführlich, f =Datei):

tar - xvf archive.tar

Um ein Archiv aus Dateien oder einem Verzeichnis zu erstellen, verwenden Sie:(mit Option c =erstellen)

tar -cvf archive.tar file1 file2 file3

Um komprimierte Archive zu erstellen, verwenden Sie:(mit Option z mit gzip komprimieren)

tar -cvzf archive.tar file1 file2 file3

Um alle in einem Archiv enthaltenen Dateien anzuzeigen, verwenden Sie (mit Option t =Liste):

tar -tvf archive.tar

gzip steht für GNU-Zip. Es wird für die Dateikomprimierung und -dekomprimierung verwendet.

Um eine komprimierte Datei zu erstellen, verwenden Sie:

gzip file1

Um eine Datei zu dekomprimieren, verwenden Sie:

gunzip file1.gz

Als Archiv erstellt mit  tar wird ohne zusätzliche Optionen nicht komprimiert; Dies kann mit gzip erfolgen .

Um Dateien in einem komprimierten Archiv zusammenzufassen, verwenden Sie (mit Option z =gzip):

tar -cvzf archive.tar.gz file1 file2

Was zu archive.tar.gz führen wird

Um Dateien aus einem gzip-Archiv zu dekomprimieren und zu extrahieren, verwenden Sie:

tar -xvzf archive.tar.gz

bzip2 ist ähnlich wie gzip. Es verwendet lediglich einen anderen Komprimierungsalgorithmus.

Um eine komprimierte Datei zu erstellen, verwenden Sie:

bzip2 file1

Um eine Datei zu dekomprimieren, verwenden Sie:

bunzip2 file1.bz2

Um Dateien in einem komprimierten Archiv zusammenzufassen, verwenden Sie (mit der Option j =bzip2):

tar -cvjf archive.tar.bz2 file1 file2

Was zu archive.tar.bz2 führen wird

Oben Dateien aus einem bzip2-Archiv dekomprimieren und extrahieren verwenden:

tar -xvjf archive.tar.bz2

zip wird zum Packen und Komprimieren (zum Archivieren) von Dateien verwendet.

Um einzelne Dateien in einem komprimierten Archiv zusammenzufassen, verwenden Sie:

zip archive.zip file1 file2

So kombinieren Sie ganze Verzeichnisse zu einem komprimierten Archiv:

zip -r archive.zip directory1 directory2 directory3

Um Dateien oder Verzeichnisse aus einem Zip-Archiv zu dekomprimieren und zu extrahieren, verwenden Sie:

unzip archive.zip

Um alle in einem Archiv gespeicherten Dateien anzuzeigen, verwenden Sie:

unzip -l archive.zip

3. locate – Dateien in Linux suchen.

In Teil 1 haben wir die Verwendung von find angesprochen und grep . Locate verwendet einen Hintergrundprozess, der regelmäßig ausgeführt wird, um die Dateien Ihres Systems zu suchen und in seiner eigenen Datenbank zu speichern. Darin liegt sein einziger Vorteil ... Geschwindigkeit!

Auf einigen Distributionen, zum Beispiel Ubuntu, müssen Sie manuell installieren:

sudo apt-get install locate

Um nach einer Datei zu suchen, verwenden Sie (mit der Option i =Groß-/Kleinschreibung ignorieren):

locate -i filename

Zum Beispiel:

hydn@ubuntu:~$ sudo locate -i firewall
/etc/fail2ban/action.d/firewallcmd-allports.conf
/etc/fail2ban/action.d/firewallcmd-common.conf
/etc/fail2ban/action.d/firewallcmd-ipset.conf
/etc/fail2ban/action.d/firewallcmd-multiport.conf
...

Die Datenbank wird täglich über cron aktualisiert. Wenn Sie es jedoch manuell aktualisieren müssen, können Sie Folgendes verwenden:

sudo updatedb

4. ps – Informationen über die aktuell laufenden Prozesse.

In Teil 1 haben wir uns pstree angesehen , eine visuellere Alternative zum Befehl ps. Eine Möglichkeit, ps zu verwenden Um weitere Informationen zu laufenden Prozessen zu erhalten, verwenden Sie Folgendes:

ps aux | less

Der a listet alle Benutzerprozesse auf, mit Ausnahme von Gruppenleitern und Prozessen, die keinem Terminal zugeordnet sind.

Das u Option bietet detaillierte Informationen zu jedem Prozess.

Das x Option listet alle Prozesse auf, wenn sie zusammen mit a verwendet wird Option.

So zeigen Sie einen Prozessbaum an:

ps axjf | less

Um Informationen zu Threads anzuzeigen, verwenden Sie:

ps -eLf | less
ps axms | less

Um jeden als root ausgeführten Prozess im Benutzerformat anzuzeigen, verwenden Sie:

ps -U root -u root u

Um nur die Prozess-IDs von syslogd anzuzeigen, verwenden Sie:

ps -C syslogd -o pid=

Um nur den Namen von PID 411 anzuzeigen, verwenden Sie:

ps -q 411 -o comm=

Die obigen Beispiele stammen von man ps .

5. Verwendung von Bash-Skripten.

Ein Bash-Skript ist eine reine Textdatei, die eine Reihe von Befehlen enthält. Dies sind Befehle, die wir normalerweise in die Befehlszeile eingeben würden (z. B. rsync ... oder cp ... ), möchten aber Zeit sparen, indem wir nicht jedes Mal Befehle manuell eingeben müssen, oder wir möchten diese Befehle mithilfe von cron so planen, dass sie später ausgeführt werden.

Um ein Bash-Skript zu erstellen, platzieren Sie #!/bin/bash oben in der Datei. Hier ist ein einfaches Bash-Skript zum Ausführen von Backups:

#!/bin/bash
rsync -avze ssh /path/to/directory1/ user@IP_or_hostname:/remote/backup/directory1/
echo "Remote backup for $(date) " | mail -s "backup complete" user@youremail

Nachdem Sie dies eingegeben oder in eine neue Datei eingefügt haben, können Sie es als scriptname.sh speichern. In diesem Fall remotebackup.sh. Ändern Sie dann die Berechtigungen der Datei, um sie ausführbar zu machen:

chmod +x remotebackup.sh

Um das Skript aus dem aktuellen Verzeichnis auszuführen/auszuführen, geben Sie Folgendes ein:

./remotebackup.sh

Oder Sie können das Bash-Skript so planen, dass es mit Mais ausgeführt wird, wie im nächsten Abschnitt beschrieben.

Siehe auch Ubuntus BashScripting für Anfänger.

6. cron – Richten Sie geplante Aufgaben zur Ausführung ein.

Der cron Daemon ist ein integriertes Linux-Tool, das geplante Aufgaben (Befehle oder Shell-Skripts) regelmäßig zu festen Zeiten, Daten oder Intervallen ausführt. Systemadministratoren verwenden in der Regel cron, um Systemwartungs- und Verwaltungsaufgaben zu automatisieren. Zum Beispiel durch die Verwendung von cron um rsync auszuführen jede Nacht.

Hier ist ein Beispiel für einen cron Einzeiliger Eintrag, der verwendet wird, um jede Nacht um 2 Uhr morgens ein Backup-Skript auszuführen:

0 2 * * * ~/myscripts/remotebackup.sh

Lesen Sie zunächst den cron Einrichtungsanleitungen, die von Ubuntu und Red Hat erstellt wurden, und verweisen auf die Cron-Manpage. Es gibt auch Online-Cron-Ausdrucksgeneratoren.

7. nmcli – Netzwerkverwaltung.

NetworkManager ist eine Reihe von Tools zur Verwaltung der Netzwerkkonnektivität auf Ihrem Linux-System. Es funktioniert für kabelgebundene, drahtlose und sogar Bluetooth-Verbindungen.

Um alle verfügbaren Netzwerkgeräte anzuzeigen, verwenden Sie:

nmcli d

Zum Beispiel:

Red Hat hat einen großartigen Netzwerkleitfaden für nmcli veröffentlicht .

8. ping – ICMP ECHO_REQUEST an Netzwerkhosts senden.

Der ping Der Befehl (Packet Internet Groper) wird verwendet, um die Netzwerkkonnektivität zwischen Servern und anderen Hosts zu überprüfen. Sie können die IP-Adresse oder die URL eingeben und der Ping-Befehl sendet dann ein Datenpaket mit der Nachricht „PING“ an die angegebene Adresse und wartet auf eine Antwort des Zielservers/-hosts. Die Zeit bis zum Erhalt dieses Antwortpakets wird gemeldet. Diese Zeit wird Latenz genannt. Niedrige Latenz =schnellere Verbindungsantwort.

ping [hostname/ip]

Zum Beispiel:

Verwenden Sie das -c -Flag, um die Anzahl der zu sendenden Ping-Pakete anzugeben. Zum Beispiel:

ping -c 5 IP_ADDRESS

9. traceroute – Überprüfen Sie die Route von Paketen zu einem bestimmten Host.

traceroute überprüft die Route, die Pakete nehmen, um einen bestimmten Host zu erreichen. Es nutzt das Time-to-Live (TTL)-Feld des IP-Protokolls und versucht, eine ICMP TIME_EXCEEDED-Antwort von jedem Gateway entlang des Pfads zum Host zu entlocken. (Quelle:man traceroute) Traceroute kann dabei helfen, die Ursache von Netzwerklatenzverzögerungen, Ausfällen und anderen Netzwerk-Routing-Problemen zu finden.

Sehen Sie sich auch mtr an (Mein Traceroute).

10. nslookup – Internet-Nameserver (NS) interaktiv abfragen.

nslookup (Name Server Lookup) ist ein Befehl, der verwendet wird, um Informationen von Domain Name Systems (DNS) zu sammeln. Mit nslookup , Systemadministratoren können Informationen zum Domänennamen oder zur IP-Adresse abfragen.

Um den A-Eintrag einer Domain nachzuschlagen, verwenden Sie:

nslookup haydenjames.io

Um die NS-Einträge einer Domain nachzuschlagen, um ihre autoritativen Server herauszufinden, verwenden Sie:

nslookup -type=ns ubuntu.com

Um die MX-Einträge einer Domain nachzuschlagen, verwenden Sie:

nslookup -query=mx redhat.com

Um den SOA (Start of Authority) einer Domain nachzuschlagen, verwenden Sie:

nslookup -query=soa debian.com

Um die Liste der DNS-Einträge einer Domain anzuzeigen, verwenden Sie:

nslookup -type=any mysql.com

Um das rDNS (Reverse DNS) einer Domain nachzuschlagen, verwenden Sie:

nslookup [domain_IP]

Siehe auch host und dig Befehle.

Extra-Tipp: Besuchen Sie explainshell.com, um Befehlszeilenargumente mit ihrem Hilfetext abzugleichen.

Das war es fürs Erste. Ich hoffe, dir hat Teil 3 gefallen. Bitte teile, abonniere, markiere und hinterlasse Kommentare oder Vorschläge, die du vielleicht hast.

Weiter – Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 4 >


Linux
  1. 16 Tar-Befehle zum Komprimieren und Extrahieren von Dateien unter Linux

  2. 40 häufig verwendete grundlegende Linux-Befehle

  3. So archivieren Sie Dateien und Verzeichnisse unter Linux [Teil 1]

  4. Linux-tar-Befehl

  5. nohup mehrere aufeinanderfolgende Befehle

40 nützliche Linux-Netzwerkbefehle für moderne SysAdmins

90 Linux-Befehle, die häufig von Linux-Systemadministratoren verwendet werden

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 5

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 4

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 2

Von Linux-Systemadministratoren häufig verwendete Linux-Befehle – Teil 1