Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Acht Shell-Befehle, mit denen Sie im Handumdrehen zum Linux-Befehlszeilenmaster werden

Acht Shell-Befehle, mit denen Sie im Handumdrehen zum Linux-Befehlszeilenmaster werden

王林
王林nach vorne
2023-06-17 09:38:561297Durchsuche

Eine solide Programmiergrundlage zu haben, ist offensichtlich eine wesentliche Eigenschaft für einen guten Softwareentwickler. Es ist sehr wichtig, mindestens eine Programmiersprache zu beherrschen, sei es eine interpretierte Sprache wie Python oder eine kompilierte Sprache wie C++. Dies ist jedoch nur ein Aspekt auf dem Weg zu einem wirklich vielseitigen Ingenieur. Diese Grundlagen nützen nichts, wenn Sie sich in der Shell-Umgebung verlieren.

Durch die flexible Anwendung von Bash-Befehlen können Sie Bereiche betreten, die herkömmliche Programmiersprachen nicht abdecken können. Manchmal ist es nicht wirklich notwendig, eine leistungsfähigere Programmiersprache zu verwenden. Mit der Shell können Sie die benötigten Aufgaben schneller und einfacher erledigen, ohne dass zusätzliche Abhängigkeiten erforderlich sind.

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

In diesem Artikel werden wir einige sehr nützliche Bash-Befehle untersuchen. Mithilfe dieser Befehle können Sie vermeiden, mehr Code zu schreiben, als Sie tatsächlich benötigen. Wenn Sie das nächste Mal auf ein Problem stoßen, probieren Sie diese Befehle aus.

1. Schleifenbefehle

linuxmi@linuxmi:~/www.linuxmi.com$ while true; do echo "hello $(date)"; sleep 1; done

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

Sie müssen nicht in eine riesige Programmiersprache springen, nur um etwas zu schleifen. In Bash ist es einfach, in regelmäßigen Abständen eine Ausgabe zu erhalten oder grundlegende Daten zu iterieren.

Diese Codezeile zeigt, wie man eine einfache Endlosschleife in Shell erstellt. Sie verbinden einfach alles mit einem Semikolon und fertig. Es steht Ihnen frei, den ausgeführten Befehl zu ändern und den Sleep-Timer entsprechend anzupassen.

Wenn Sie diesen Befehl ausführen, sollte sich das Datum auf Ihrem Terminal jede Sekunde ändern.

2. Ausgabeumleitung

linuxmi@linuxmi:~/www.linuxmi.com$ echo "hello linux迷 www.linuxmi.com" | tee linuxmi.rs | less

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

tee-Befehl kann Funktionen ausführen, die mehrere Codezeilen in anderen Sprachen erfordern. Mit diesem praktischen kleinen Tool können Sie bestimmte Eingaben an eine Datei oder einen anderen Befehl senden, die dann an einen anderen Befehl übergeben werden können. Es ist eigentlich so, als würde man ein „T“-Ventil in die Wasserleitung einbauen. Sie können einen Teil der Ausgabe nach außen leiten und sie fließt weiter durch das Rohr.

Das obige Beispiel sendet den vom echo-Befehl erhaltenen Text „Hallo Linux-Fans www.linuxmi.com“ an die Datei linuxmi.rs und sendet ihn dann an less. Eine Möglichkeit, es umzuschreiben, besteht darin, dass Sie eine Datei mit dem Ausgabeinhalt erhalten und diese mit dem Befehl less auf dem Bildschirm anzeigen können.

3. Dateien komprimieren

linuxmi@linuxmi:~/www.linuxmi.com$ tar -czvf linuxmi.tar.gz linuxmi.sh

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

Das Verschieben von Dateien und Verzeichnissen auf der Befehlszeile ist eine wichtige Fähigkeit. Wenn Sie an etwas arbeiten und es zwischen Hosts verschieben müssen oder einfach nur eine Datei für die Offline-Speicherung komprimieren möchten, ist der Befehl tar Ihr Freund.

Mit den oben genannten Befehlen und Optionen können Sie ein Verzeichnis in ein neues komprimiertes tar.gz-Paket komprimieren. Jetzt können Sie Ihre Dateien schnell mitnehmen.

4. Zählen

linuxmi@linuxmi:~/www.linuxmi.com$ echo -e "linuxmi\n linuxmi.com\n www.linuxmi.com\n www.93139.com" > linuxmi.txt | wc -l

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

Möchten Sie wissen, wie viele Zeilen die Datei enthält? Ganz einfach. Verwenden Sie das WC-Dienstprogramm. Eigentlich bedeutet es „Wörter zählen“, es kann aber auch zum Zählen vieler anderer Dinge verwendet werden, beispielsweise der Anzahl der Zeilen.

Das obige Snippet gibt vier Textzeilen in eine Datei aus und verwendet dann wc, um die Anzahl der Zeilen zu zählen. Dieses Tool ist nützlich, wenn Sie eine bestimmte Anzahl von Zeilen bearbeiten oder überprüfen müssen, ob ein Prozess neue Zeilen in eine Datei geschrieben hat.

5. Zahlen generieren

linuxmi@linuxmi:~/www.linuxmi.com$ seq 95 100

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

So einfach, aber sehr hilfreich. Das Generieren von Zahlen in Bash ist sehr einfach. Verwenden Sie einfach das Dienstprogramm seq. Dieser nette kleine Befehl gibt eine Zahlenfolge aus, die Sie in Schleifen, Textdateien oder überall dort verwenden können, wo Sie eine Zahlenliste benötigen.

Sie können auch das Trennzeichen ändern, wenn Sie möchten:

seq -s " " 1 10

oder

echo {0..10}

Dadurch werden alle Zahlen durch Leerzeichen anstelle der standardmäßigen Zeilenumbrüche getrennt. Sie können auch den echo-Befehl und den ..-Operator verwenden, um dieselben Ergebnisse zu erhalten.

6. Verwalten Sie Ihre SSH-Schlüssel

linuxmi@linuxmi:~/www.linuxmi.com$ eval $(ssh-agent) && ssh-add && ssh-add -l

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

Ein grundlegendes Verständnis von SSH-Schlüsseln und deren Verwaltung ist unbedingt erforderlich. Möglicherweise stellen Sie fest, dass das Verständnis der Dienstprogramme ssh-add und ssh-agent nützlicher sein kann, als Sie denken.

Der obige Befehl führt mehrere wichtige Vorgänge aus:

  • eval命令将为你执行ssh-agent,并确保它在后台运行。
  • ssh-add命令将添加你的默认SSH密钥。如果你为默认密钥设置了密码,它将提示你输入密码。
  • 最后,ssh-add -l命令显示当前在你的代理中添加的所有密钥。

这个简单的一行命令确保你的代理工作正常,并包含了正确的密钥。当你需要连接到某个服务或获取一些代码时,下一步就可以直接开始了。

7、查找过去的命令

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

或者按下CTRL + R,然后输入top

还记得很久以前运行的那个命令吗?我也不记得了。在历史记录中搜索它吧。

如果你像我一样记忆力不太好,那么history命令非常有用。它会显示当前终端会话中所有已运行的命令列表。反向交互式搜索或grep工具的真正威力在于能够找到之前执行的命令。

如果你只是想查看命令历史记录而不是执行它,你可以使用grep搜索。要统一搜索和执行操作,你可以使用CTRL + R的反向交互式搜索历史记录组合键。一旦按下快捷键,一个交互提示符就会出现,当你开始输入命令时,控制台会显示相应的匹配命令。

8、将多个命令作为一个整体传递

linuxmi@linuxmi:~/www.linuxmi.com$ history | grep "top"

八个 Shell 命令,让你瞬间成为 Linux 命令行大师

有时Bash会变得有点奇怪。变量插值可能出错,嵌套引号可能会混乱且难以跟踪。情况将变得更加复杂,尤其是当你需要在不同的二进制文件或服务中传递命令字符串时。在这种情况下,你可以使用bash命令将一组命令作为单个实体进行评估。

这个指令将接收纯文本字符串,然后按照常规的Bash语法来进行解析。对于外部shell来说,你只是运行一个命令并传递一个参数,但实际上你是在指示Bash解析多个命令的字符串并执行它们。

Das obige ist der detaillierte Inhalt vonAcht Shell-Befehle, mit denen Sie im Handumdrehen zum Linux-Befehlszeilenmaster werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen