Website-Suche

4 Nützliche Tipps zu mkdir-, tar- und kill-Befehlen in Linux


Wir erledigen eine Aufgabe immer wieder auf konventionelle Weise, bis wir erkennen, dass sie auf eine viel bessere Weise auf die andere Weise erledigt werden kann. In Fortsetzung unserer Serie von Linux-Tipps und Tricks bin ich hier mit den folgenden vier Tipps, die Ihnen in vielerlei Hinsicht helfen werden. Los geht es!

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

Verzeichnisbaumstruktur, die wie unten vorgeschlagen erreicht werden soll.

$ 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 1-Zeilen-Befehls erreicht werden.

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

Um dies zu überprüfen, können Sie den Befehl tree verwenden. Falls nicht installiert, können Sie das Paket 'tree' apt 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 aus einem Shell-Skript heraus verwendet wird.

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

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

ein. Er erstellt die Datei zuerst, vorzugsweise mit dem Touch-Befehl, als:

$ touch /home/$USER/Desktop/test

b. Er verwendet einen Texteditor, um die Datei zu öffnen, 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 Zeit, die er/sie benötigt, benötigt er also mindestens 3 Schritte, um das obige Szenario auszuführen.

Was wird ein kluger, erfahrener Linux-ler tun? Er wird einfach den folgenden Text in einem Rutsch auf dem Terminal eingeben und alles ist fertig. Er muss nicht jede Handlung 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. Wir beschäftigen uns sehr oft mit Archiven (insbesondere TAR-Kugeln) unter Linux. In vielen Fällen müssen wir diesen TAR-Ball an einem anderen Ort als dem Downloads-Ordner verwenden. Was tun wir in diesem Szenario?

Normalerweise gehen wir in diesem Szenario zwei Dinge vor.

ein. Kopieren/Verschieben Sie die Teerkugel und extrahieren Sie sie am Zielort als:

$ 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. Extrahiert den Tarball.

# tar -jxvf firefox-37.0.2.tar.bz2 

Wir können das auch andersherum machen.

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

$ 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 mehr Schritte, um abgeschlossen zu werden. Der Fachmann kann diese Aufgabe in einem Schritt erledigen als:

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

Die Option -C bewirkt, dass tar das Archiv in den angegebenen Ordner (hier /opt/) extrahiert.

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

4. Wie töten wir einen Prozess auf traditionelle Weise?

Im Allgemeinen listen wir zuerst alle Prozesse mit dem Befehl ps -A auf und leiten ihn mit grep weiter, um einen Prozess/Dienst (z. B. apache2) zu finden, einfach als:

$ ps -A | grep -i apache2
Beispiel-Ausgabe
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 derzeit laufenden 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

Überprüfen Sie dann, ob ein Prozess/Dienst mit dem Namen 'apache2' ausgeführt wird oder nicht, denn:

$ ps -A | grep -i apache2

Wir können dies jedoch in einem verständlicheren Format mit Dienstprogrammen wie pgrep und pkill tun. Möglicherweise finden Sie relevante Informationen zu einem Prozess einfach durch die Verwendung von pgrep. Angenommen, Sie müssen die Prozessinformationen für apache2 finden, können Sie einfach Folgendes tun:

$ pgrep apache2
Beispiel-Ausgabe
15396
15400
15401
15402
15403
15404
15405

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

$ pgrep -l apache2
Beispiel-Ausgabe
15396 apache2
15400 apache2
15401 apache2
15402 apache2
15403 apache2
15404 apache2
15405 apache2

Einen Prozess mit pkill zu beenden ist sehr einfach. Sie geben einfach den Namen der zu beendenden Ressource ein und schon sind Sie fertig. Ich habe einen Beitrag über pkill geschrieben, auf den Sie hier verweisen können: https://linux-console.net/how-to-kill-a-process-in-linux/.

Um einen Prozess (z. B. apache2) mit pkill zu beenden, müssen Sie nur Folgendes tun:

# pkill apache2

Sie können überprüfen, ob apache2 beendet 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 war's fürs Erste, von mir. Alle oben genannten Punkte reichen nicht aus, werden aber sicherlich helfen. Wir wollen nicht nur Tutorials produzieren, damit Sie jedes Mal etwas Neues lernen, sondern auch zeigen, wie Sie im selben Rahmen produktiver sein können. Geben Sie uns Ihr wertvolles Feedback in den Kommentaren unten. Bleiben Sie in Verbindung. Kommentieren Sie weiter.

Verwandte Artikel: