Website-Suche

20 unverzichtbare fortgeschrittene Linux-Befehle für Benutzer der mittleren Ebene


Möglicherweise fanden Sie den ersten Artikel "Nützliche Befehle für Anfänger" sehr hilfreich, da er für Neulinge gedacht war, ist dieser Artikel auf mittlere und fortgeschrittene Benutzer zugeschnitten.

Es behandelt Themen wie das Anpassen der Suche, das Verstehen von Prozessen und deren Beendigung, die Optimierung des Linux-Terminals für die Produktivität und das Kompilieren von C-, C++- und Java-Programmen in einer Unix-ähnlichen Umgebung.

21. Befehl finden

Der Befehl find wird verwendet, um nach Dateien im angegebenen Verzeichnis zu suchen, wobei hierarchisch vom übergeordneten Verzeichnis aus in Unterverzeichnisse gewechselt wird.

find -name *.sh 

Mit der Option -name wird zwischen Groß- und Kleinschreibung unterschieden. Sie können die Option -iname verwenden, um Dateien ohne Berücksichtigung der Groß-/Kleinschreibung mit unterschiedlichen Groß-/Kleinschreibungsmustern in der Erweiterung zu finden.

Das * ist ein Platzhalter und durchsucht alle Dateien mit der Erweiterung .sh Sie können einen Dateinamen oder einen Teil des Dateinamens verwenden, um die Ausgabe anzupassen.

find -iname *.SH

Der folgende Befehl wird verwendet, um nach allen Dateien mit der Erweiterung ".tar.gz" im aktuellen Verzeichnis und seinen Unterverzeichnissen einschließlich gemounteter Geräte zu suchen.

find -name *.tar.gz 

22. grep-Befehl

Der Befehl grep durchsucht eine angegebene Datei nach Zeilen, die eine Übereinstimmung mit bereitgestellten Zeichenfolgen oder Wörtern enthalten.

In diesem Fall wird es verwendet, um in der Datei '/etc/passwd' nach dem Benutzer 'tecmint' zu suchen.

grep tecmint /etc/passwd 

Die Option -i wird verwendet, um nach dem String "TECMINT" (Groß-/Kleinschreibung wird nicht beachtet) in der Datei '/etc/passwd' zu suchen.

grep -i TECMINT /etc/passwd 

Die Option -r wird verwendet, um rekursiv nach dem String "127.0.0.1" in der Datei '/etc/hosts' zu suchen.

grep -r "127.0.0.1" /etc/hosts 

23. man Befehl

Der man-Befehl ist der manuelle Pager des Systems, der eine Online-Dokumentation für alle möglichen Optionen mit einem Befehl und dessen Verwendung bereitstellt.

Fast alle Linux-Befehle werden mit den entsprechenden Handbuchseiten geliefert. Die folgenden 'man cat' (Handbuchseite für den Befehl cat) und 'man ls' (Handbuchseite für den Befehl ls) zeigen z.B. die Handbuchseiten für einen bestimmten Befehl an.

man cat
man ls

24. ps Befehl

Der Befehl ps gibt den Status laufender Prozesse mit einer eindeutigen ID namens PID an.

ps

Um den Status aller Prozesse zusammen mit der Prozess-ID und der PID aufzulisten, verwenden Sie die Option -A.

ps -A

Der Befehl ps ist sehr nützlich, wenn Sie wissen möchten, welche Prozesse laufen oder manchmal PID benötigen, damit ein Prozess beendet wird. Sie können es mit dem Befehl grep verwenden, um eine benutzerdefinierte Ausgabe zu finden.

ps -A | grep -i ssh

Hier wird ps mit dem Befehl grep weitergeleitet, um eine benutzerdefinierte und relevante Ausgabe unseres Bedarfs zu finden.

25. Befehl töten

Der Befehl kill in Linux ist entscheidend, um nicht reagierende oder irrelevante Prozesse effizient zu beenden. Im Gegensatz zu Windows, wo nach dem Beenden eines Prozesses häufig ein Neustart erforderlich ist, können Sie unter Linux Prozesse beenden und neu starten, ohne das gesamte System neu zu starten.

Wenn Sie beispielsweise das Programm 'firefox' beenden müssen, wenn es nicht reagiert, können Sie den Befehl ps zusammen mit grep verwenden, um die Prozess-pid zu finden, und dann den Befehl 'kill' verwenden, um den Prozess zu stoppen.

ps -A | grep -i firefox
kill 69881

Jedes Mal, wenn Sie einen Prozess erneut ausführen oder ein System starten, wird für jeden Prozess eine neue PID generiert und Sie können mit dem Befehl 'ps' die aktuell laufenden Prozesse und deren PID ermitteln.

Eine andere Möglichkeit, den gleichen Prozess zu beenden, ist.

pkill apache2

Der Befehl kill benötigt die Job-ID/Prozess-ID zum Senden von Signalen, während Sie in pkill die Möglichkeit haben, ein Muster zu verwenden, den Prozessbesitzer anzugeben usw.

26. whereis Befehl

Der Befehl whereis wird verwendet, um die Binär-, Quellen- und Handbuchseiten des Befehls zu suchen.

Zum Beispiel, um die Binär-, Quellen- und Handbuchseiten der Befehle 'ls' und 'kill' zu finden.

whereis ls 
whereis kill

Der Befehl whereis ist nützlich, um zu wissen, wo die Binärdateien für die manuelle Bearbeitung installiert sind.

27. systemctl-Befehl

Der Befehl systemctl steuert das Starten, Stoppen, Neustarten, Aktivieren, Deaktivieren und Überprüfen des Status eines Dienstes oder Programms.

sudo systemctl start sshd
sudo systemctl stop sshd
sudo systemctl restart sshd
sudo systemctl enable sshd
sudo systemctl disable sshd
sudo systemctl status sshd

28. Alias-Befehl

Der Alias-Befehl ist ein integrierter Shell-Befehl, mit dem Sie einem langen Befehl oder einem häufig verwendeten Befehl einen Namen zuweisen können.

Ich verwende häufig den Befehl 'ls -l', der aus 5 Zeichen besteht, einschließlich Leerzeichen. Daher habe ich einen Alias dafür als 'l' erstellt.

alias l='ls -l'

Überprüfen Sie, ob es funktioniert oder nicht.

l

Um den Alias 'l' zu entfernen, verwenden Sie den folgenden Befehl 'unalias'.

unalias l

Prüfen Sie, ob 'l' noch ein Alias ist oder nicht.

l

l: command not found

Fügen Sie Linux-Befehlen ein wenig Spaß hinzu, indem Sie Aliase für bestimmte wichtige Befehle zu anderen wichtigen Befehlen erstellen.

alias cd='ls -l' (set alias of ls -l to cd)
alias su='pwd'   (set alias of pwd to su)

Stellen Sie sich nun den Humor vor, wenn Ihr Freund den Befehl cd eintippt, in der Erwartung, das Verzeichnis zu wechseln, aber stattdessen eine Verzeichnisliste erhält. Ähnlich verhält es sich, wenn er 'su' versucht, sieht er nur den Speicherort des Arbeitsverzeichnisses.

Sie können den Alias später mit dem Befehl 'unalias' entfernen, wie oben beschrieben.

29. df-Befehl

Der Befehl df wird verwendet, um die Informationen über die Speicherplatznutzung im Dateisystem anzuzeigen. Sie zeigt den gesamten, belegten und verfügbaren Speicherplatz auf jedem gemounteten Dateisystem an.

df -h

Die Option -h wird verwendet, um die Speicherplatznutzung in einem lesbaren Format auszudrucken, das Größen in Gigabyte (GB) und Megabyte (MB) für jedes bereitgestellte Dateisystem auf Ihrem System anzeigt.

30. du Befehl

Der Befehl du wird verwendet, um die Speicherplatznutzung von Dateien und Verzeichnissen anzuzeigen, einschließlich des gesamten Speicherplatzes, der von einer bestimmten Datei oder einem bestimmten Verzeichnis belegt wird, einschließlich des von den Unterverzeichnissen belegten Speicherplatzes.

du -h

Die Option -h wird verwendet, um die Dateiverwendung in einem lesbaren Format zu drucken, das Größen in Gigabyte (GB) und Megabyte (MB) anzeigt.

31. rm Befehl

Der Befehl rm steht für remove, mit dem Dateien und Verzeichnisse dauerhaft aus dem Dateisystem entfernt oder gelöscht werden.

Die grundlegende Syntax zum Entfernen einer Datei lautet:

rm file

Die grundlegende Syntax zum Entfernen eines Verzeichnisses lautet:

rm -rf directory

-r (rekursiv, entfernt Verzeichnisse und deren Inhalt) und -f (erzwingt das Entfernen von Dateien ohne Aufforderung zur Bestätigung).

Der Befehl "rm -rf" ist ein destruktiver Befehl. Wenn Sie es versehentlich im falschen Verzeichnis ausführen, sind alle Dateien und das Verzeichnis selbst dauerhaft verloren.

32. Echo-Befehl

Der Befehl echo gibt, wie der Name schon sagt, ein Echo eines Textes in der Standardausgabe aus. Es hat nichts mit der Shell zu tun, noch liest die Shell die Ausgabe des Befehls echo.

In einem interaktiven Skript leitet jedoch ein Echo die Nachricht über das Terminal an den Benutzer weiter. Es ist einer der Befehle, die häufig beim Scripting und interaktiven Scripting verwendet werden.

echo "linux-console.net is a very good website" 

linux-console.net is a very good website

Lassen Sie uns ein kleines interaktives Bash-Skript erstellen, das eine personalisierte Willkommensnachricht auf dem Terminal anzeigt.

#!/bin/bash

echo "Welcome to the Interactive Welcome Script!"
echo "----------------------------------------"

Prompt the user to enter their name
echo "Please enter your name:"
read name

Display a personalized welcome message
echo "Hello, $name! Welcome to the interactive script. Have a great day!"

Speichern Sie dieses Skript in einer Datei, z. B. welcome_script.sh, und machen Sie das Skript mit dem Befehl ausführbar.

chmod +x welcome_script.sh

Dann können Sie es ausführen, indem Sie es in das Terminal eingeben.

./welcome_script.sh

33. passwd-Befehl

Der Befehl passwd wird verwendet, um das eigene Passwort oder das Passwort eines anderen Benutzers zu ändern, wenn er mit den sudo-Rechten ausgeführt wird.

Um beispielsweise das Kennwort für den aktuellen Benutzer zu ändern, geben Sie einfach Folgendes ein:

passwd

Wenn Sie über die sudo-Berechtigungen verfügen, können Sie das Passwort eines anderen Benutzers ändern, indem Sie den Benutzernamen angeben:

sudo passwd username

34. lpr-Befehl

Der Befehl lpr wird zum Senden von Druckaufträgen an einen Drucker verwendet. Es sendet Dateien an die Druckerwarteschlange eines Druckers, sodass Benutzer Dokumente über die Befehlszeile drucken können.

lpr document.txt

Mit dem Befehl 'lpq' können Sie den Status eines Druckers (ob er aktiv ist oder nicht) und die Aufträge (Dateien), die darauf warten, gedruckt zu werden, anzeigen.

35. cmp-Befehl

Der Befehl cmp vergleicht zwei Dateien eines beliebigen Typs und schreibt die Ergebnisse in die Standardausgabe. Standardmäßig gibt 'cmp' 0 zurück, wenn die Dateien identisch sind; Wenn sie sich unterscheiden, wird die Byte- und Zeilennummer angegeben, bei der die erste Differenz aufgetreten ist.

Um Beispiele für den cmp-Befehl bereitzustellen, betrachten wir zwei Dateien:

cat file1.txt

Hi My name is Tecmint
cat file2.txt

Hi My name is tecmint [dot] com

Vergleichen wir nun zwei Dateien und sehen uns die Ausgabe des Befehls an.

cmp file1.txt file2.txt 

file1.txt file2.txt differ: byte 15, line 1

36. wget-Befehl

Der Befehl wget ist ein kostenloses Dienstprogramm für den nicht-interaktiven (d.h. im Hintergrund arbeitenden) Download von Dateien aus dem Internet. Es unterstützt HTTP-, HTTPS-, FTP-Protokolle und HTTP-Proxys.

Um beispielsweise eine Datei mit dem Namen "Server-Health.sh" von einer Website herunterzuladen, verwenden Sie Folgendes:

wget https://linux-console.net/wp-content/scripts/Server-Health.sh

37. mount-Befehl

Der Befehl mount wird verwendet, um ein Dateisystem zu mounten, das sich nicht selbst einhängt. Sie benötigen die Root-Berechtigung, um ein Gerät zu mounten.

Führen Sie zunächst 'lsblk' aus, nachdem Sie Ihr Dateisystem angeschlossen haben, identifizieren Sie Ihr Gerät und notieren Sie sich den zugewiesenen Namen Ihres Geräts.

lsblk 

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT 
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0 923.6G  0 part / 
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0   7.9G  0 part [SWAP] 
sr0     11:0    1  1024M  0 rom  
sdb      8:16   1   3.7G  0 disk 
└─sdb1   8:17   1   3.7G  0 part

Von diesem Bildschirm aus war klar, dass ich einen 4-GB-USB-Stick angeschlossen hatte, also 'sdb1' mein Dateisystem ist, das gemountet werden soll. Werden Sie ein Root, um diesen Vorgang auszuführen, und wechseln Sie in das Verzeichnis /dev, in dem das gesamte Dateisystem eingehängt ist.

su
cd /dev

Erstellen Sie ein Verzeichnis mit dem Namen any, das für die Referenz relevant sein sollte.

mkdir usb

Hängen Sie nun das Dateisystem 'sdb1' in das Verzeichnis 'usb' ein.

mount /dev/sdb1 /dev/usb

Jetzt können Sie vom Terminal oder vom X-Windows-System aus zu /dev/usb navigieren und auf Dateien aus dem bereitgestellten Verzeichnis zugreifen.

38. gcc-Befehl

gcc ist der eingebaute Compiler für die Sprache 'c' in der Linux-Umgebung. Ein einfaches c-Programm, speichern Sie es auf Ihrem Desktop als Hello.c (denken Sie daran, dass die Erweiterung '.c' ein Muss ist).

#include <stdio.h>
int main()
{
  printf("Hello world\n");
  return 0;
}

Kompilieren Sie es als Nächstes und führen Sie es aus.

gcc Hello.c
./a.out 

Hello world

Beim Kompilieren eines C-Programms wird die Ausgabe automatisch in eine neue Datei "a.out" erzeugt und jedes Mal, wenn Sie ein C-Programm kompilieren, wird die gleiche Datei "a.out" geändert.

Daher ist es ratsam, während der Kompilierung eine Ausgabedatei zu definieren, damit keine Gefahr besteht, dass die Ausgabedatei überschrieben wird.

gcc -o Hello Hello.c

Hier sendet '-o' die Ausgabe an die 'Hello'-Datei und nicht an 'a.out'.

39. g++ Befehl

g++ ist der eingebaute Compiler für 'C++', die erste objektorientierte Programmiersprache. Ein einfaches C++-Programm, speichern Sie es als Add.cpp auf Ihrem Desktop (denken Sie daran, dass die Erweiterung ".cpp" ein Muss ist).

#include <iostream>

using namespace std;

int main() 
    {
          int a;
          int b;
          cout<<"Enter first number:\n";
          cin >> a;
          cout <<"Enter the second number:\n";
          cin>> b;
          cin.ignore();
          int result = a + b;
          cout<<"Result is"<<"  "<<result<<endl;
          cin.get();
          return 0;
     }

Kompilieren Sie es als Nächstes, und führen Sie es aus.


g++ Add.cpp
./a.out

Enter the first number:
...
...

Beim Kompilieren eines C++-Programms wird die Ausgabe automatisch in eine neue Datei "a.out" generiert und jedes Mal, wenn Sie ein C++-Programm kompilieren, wird dieselbe Datei "a.out" geändert.

Daher ist es ratsam, während der Kompilierung eine Ausgabedatei zu definieren, damit keine Gefahr besteht, dass die Ausgabedatei überschrieben wird.

g++ -o Add Add.cpp
./Add

Enter the first number:
...
...

40. java Befehl

Java ist eine der weltweit am häufigsten verwendeten Programmiersprachen und gilt als schnell, sicher und zuverlässig. Der größte Teil der webbasierten Dienste von heute läuft auf Java.

Erstellen Sie ein einfaches Java-Programm, indem Sie den folgenden Test in eine Datei mit dem Namen tecmint.java einfügen (denken Sie daran, dass die Erweiterung '.java' ein Muss ist).

class tecmint {
  public static void main(String[] arguments) {
    System.out.println("Tecmint ");
  }
}

Kompilieren Sie es als Nächstes und führen Sie es aus.


javac tecmint.java
java tecmint

Fast jede Distribution ist mit einem gcc-Compiler ausgestattet, die meisten Distributionen haben eingebaute G++- und Java-Compiler, während einige dies möglicherweise nicht tun. Sie können apt oder yum das benötigte Paket erstellen.

Vergessen Sie nicht, Ihren wertvollen Kommentar und die Art des Artikels, den Sie hier sehen möchten, zu erwähnen. Ich werde bald mit einem interessanten Thema über die weniger bekannten Fakten über Linux zurückkommen.

Verwandte Artikel: