Website-Suche

4 nützliche Tipps zu mkdir-, tar- und kill-Befehlen unter Linux


Wir erledigen eine Aufgabe so lange auf herkömmliche Weise, bis wir feststellen, dass sie anders viel besser erledigt werden kann. Als Fortsetzung unserer Linux-Tipps- und Trick-Reihe stelle ich Ihnen die folgenden vier Tipps vor, die Ihnen in vielerlei Hinsicht helfen werden. Auf geht's!

1. Sie sollen einen langen/komplexen Verzeichnisbaum ähnlich dem unten angegebenen erstellen. Was ist der effektivste Weg, dies zu erreichen?

Die Verzeichnisbaumstruktur soll wie unten vorgeschlagen erreicht werden.

cd /home/$USER/Desktop
mkdir tecmint
mkdir tecmint/etc
mkdir tecmint/lib
mkdir tecmint/usr
mkdir tecmint/bin
mkdir tecmint/tmp
mkdir tecmint/opt
mkdir tecmint/var
mkdir tecmint/etc/x1
mkdir tecmint/usr/x2
mkdir tecmint/usr/x3
mkdir tecmint/tmp/Y1
mkdir tecmint/tmp/Y2
mkdir tecmint/tmp/Y3
mkdir tecmint/tmp/Y3/z

Das obige Szenario kann einfach durch Ausführen des folgenden einzeiligen Befehls erreicht werden.

mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}

Zur Überprüfung können Sie den Befehl tree verwenden. Wenn es nicht installiert ist, können Sie das Paket „treeapt oder yum verwenden.

tree tecmint

Auf die oben beschriebene Weise können wir eine Verzeichnisbaumstruktur beliebiger Komplexität erstellen. Beachten Sie, dass es sich um nichts anderes als einen normalen Befehl handelt, der jedoch {} verwendet, um eine Hierarchie von Verzeichnissen zu erstellen. Dies kann sich als sehr hilfreich erweisen, wenn es bei Bedarf und im Allgemeinen innerhalb eines Shell-Skripts verwendet wird.

2. Erstellen Sie eine Datei (z. B. test) auf Ihrem Desktop (/home/$USER/Desktop) und füllen Sie sie mit den folgenden Inhalten.
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z

Was würde ein normaler Benutzer in diesem Szenario tun?

a. Er erstellt zunächst die Datei, vorzugsweise mit dem Touch-Befehl, wie folgt:

touch /home/$USER/Desktop/test

b. Er wird zum Öffnen der Datei einen Texteditor verwenden, bei dem es sich um nano, vim oder einen anderen Editor handeln kann.

nano /home/$USER/Desktop/test

c. Er wird dann den obigen Text in diese Datei einfügen, speichern und beenden.

Unabhängig von der von ihm/ihr benötigten Zeit benötigt er/sie also mindestens drei Schritte, um das obige Szenario auszuführen.

Was wird ein kluger, erfahrener Linux-Benutzer tun? Er gibt einfach den folgenden Text in einem Durchgang auf dem Terminal ein, und schon ist alles erledigt. Er muss nicht jede Aktion einzeln ausführen.

cat << EOF > /home/$USER/Desktop/test
ABC
DEF
GHI
JKL
MNO
PQR
STU
VWX
Y
Z
EOF

Sie können den Befehl „cat“ verwenden, um zu überprüfen, ob die Datei und ihr Inhalt erfolgreich erstellt wurden oder nicht.

cat /home/avi/Desktop/test

3. Unter Linux beschäftigen wir uns sehr oft mit Archiven (insbesondere TAR-Balls). In vielen Fällen müssen wir diesen TAR-Ball an einem anderen Ort als dem Download-Ordner verwenden. Was machen wir in diesem Szenario?

Normalerweise machen wir in diesem Szenario zwei Dinge.

a. Kopieren/verschieben Sie den Teerball und extrahieren Sie ihn am Ziel wie folgt:

cp firefox-37.0.2.tar.bz2 /opt/
or
mv firefox-37.0.2.tar.bz2 /opt/

b. cd in das Verzeichnis /opt/.

cd /opt/

c. Extrahieren Sie den Tarball.

tar -jxvf firefox-37.0.2.tar.bz2 

Wir können das auch andersherum machen.

Wir extrahieren den Tarball dort, wo er sich befindet, und kopieren/verschieben das extrahierte Archiv an das gewünschte Ziel wie folgt:

tar -jxvf firefox-37.0.2.tar.bz2 
cp -R firefox/  /opt/
or
mv firefox/ /opt/

In beiden Fällen dauert die Arbeit zwei oder mehrere Schritte. Der Fachmann kann diese Aufgabe in einem Schritt wie folgt erledigen:

tar -jxvf firefox-37.0.2.tar.bz2 -C /opt/

Die Option -C veranlasst tar, das Archiv im angegebenen Ordner (hier /opt/) zu extrahieren.

Nein, es geht nicht um eine Option (-C), sondern um Gewohnheiten. Machen Sie es sich zur Gewohnheit, die Option -C mit tar zu verwenden. Es wird Ihr Leben erleichtern. Verschieben Sie von nun an nicht mehr das Archiv und kopieren/verschieben Sie die extrahierte Datei nicht mehr, sondern lassen Sie den TAR-Ball einfach im Ordner Downloads und extrahieren Sie ihn an eine beliebige Stelle.

4. Wie beenden wir einen Prozess auf traditionelle Weise?

Im Allgemeinen listen wir zunächst den gesamten Prozess mit dem Befehl ps -A auf und leiten ihn mit grep weiter, um einen Prozess/Dienst zu finden (z. B. Apache2 ). ), einfach als:

ps -A | grep -i apache2
Beispielausgabe
1006 ?        00:00:00 apache2
 2702 ?        00:00:00 apache2
 2703 ?        00:00:00 apache2
 2704 ?        00:00:00 apache2
 2705 ?        00:00:00 apache2
 2706 ?        00:00:00 apache2
 2707 ?        00:00:00 apache2

Die obige Ausgabe zeigt alle aktuell ausgeführten Apache2-Prozesse mit ihren PIDs. Sie können diese PIDs dann verwenden, um Apache2 mit Hilfe des folgenden Befehls zu beenden.

kill 1006 2702 2703 2704 2705 2706 2707

und prüfen Sie dann, ob ein Prozess/Dienst mit dem Namen „Apache2“ ausgeführt wird oder nicht, wie folgt:

ps -A | grep -i apache2

Wir können dies jedoch in einem verständlicheren Format tun, indem wir Dienstprogramme wie pgrep und pkill verwenden. Möglicherweise finden Sie relevante Informationen zu einem Prozess, indem Sie einfach pgrep verwenden. Angenommen, Sie müssen die Prozessinformationen für Apache2 finden, können Sie einfach Folgendes tun:

pgrep apache2
Beispielausgabe
15396
15400
15401
15402
15403
15404
15405

Sie können den Prozessnamen auch gegen pid auflisten, indem Sie Folgendes ausführen.

pgrep -l apache2
Beispielausgabe
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Es ist sehr einfach, einen Prozess mit pkill abzubrechen. Geben Sie einfach den Namen der zu tötenden Ressource ein und schon sind Sie fertig. Ich habe einen Beitrag zu pkill geschrieben, auf den Sie hier verweisen können: https://linux-console.net/how-to-kill-a-process-in-linux/.

Um einen Prozess (sagen wir Apache2) mit pkill abzubrechen, müssen Sie nur Folgendes tun:

pkill apache2

Sie können überprüfen, ob Apache2 getötet wurde oder nicht, indem Sie den folgenden Befehl ausführen.

pgrep -l apache2

Es gibt die Eingabeaufforderung zurück und gibt nichts aus, was bedeutet, dass kein Prozess mit dem Namen Apache2 ausgeführt wird.

Das ist für den Moment alles von mir. Alle oben besprochenen Punkte reichen nicht aus, werden aber sicherlich helfen. Wir möchten nicht nur Tutorials erstellen, damit Sie jedes Mal etwas Neues lernen, sondern auch zeigen, „wie Sie im gleichen Rahmen produktiver sein können“. Geben Sie uns Ihr wertvolles Feedback in den Kommentaren unten. Bleiben Sie in Verbindung. Kommentieren Sie weiter.