Inhaltsverzeichnis
1. Führen Sie Befehle aus dem Verlauf mithilfe der Befehlsnummer aus. " > 1. Führen Sie Befehle aus dem Verlauf mithilfe der Befehlsnummer aus.
2. Zuvor ausgeführte Befehle unter Linux ausführen" >2. Zuvor ausgeführte Befehle unter Linux ausführen
Im obigen Beispiel ist der erste Befehl „cp“ und der zweite Parameter muss gedruckt werden. Daher „!cp:2“. Wenn Sie für den xyz-Befehl mit 5 Parametern den 4. Parameter benötigen, können Sie „!xyz:4“ verwenden und diesen Parameter nach Bedarf verwenden. Alle Parameter sind über „!*“ erreichbar. " >Im obigen Beispiel ist der erste Befehl „cp“ und der zweite Parameter muss gedruckt werden. Daher „!cp:2“. Wenn Sie für den xyz-Befehl mit 5 Parametern den 4. Parameter benötigen, können Sie „!xyz:4“ verwenden und diesen Parameter nach Bedarf verwenden. Alle Parameter sind über „!*“ erreichbar.
6、在Linux中重复上次执行的命令" >6、在Linux中重复上次执行的命令
7、使用’!’操作符删除除一个文件之外的所有文件" >7、使用’!’操作符删除除一个文件之外的所有文件
Heim Betrieb und Instandhaltung Nginx Acht mysteriöse Verwendungen des „!'-Operators in Linux-Befehlen

Acht mysteriöse Verwendungen des „!'-Operators in Linux-Befehlen

Jun 27, 2023 pm 12:51 PM
linux 操作符

Die Verwendung der meisten Linux-Befehle, die das „!“-Symbol verwenden, kann in verschiedenen Shells variieren. Während die von mir bereitgestellten Beispiele normalerweise in Bash-Shells verwendet werden, verfügen einige andere Linux-Shells möglicherweise über andere Implementierungen oder unterstützen bestimmte Verwendungen des „!“-Symbols möglicherweise überhaupt nicht.

Lassen Sie uns in die überraschenden und mysteriösen Verwendungen des „!“-Symbols in Linux-Befehlen eintauchen.

Linux 命令中“!”操作符的八个神秘用途

1. Führen Sie Befehle aus dem Verlauf mithilfe der Befehlsnummer aus.

Ein nützlicher Tipp ist, dass Sie historische Befehle von zuvor ausgeführten Befehlen finden und erneut ausführen können. Ermitteln Sie zunächst die Nummer des Befehls, indem Sie den Befehl „history“ ausführen.

linuxmi@linuxmi:~/www.linuxmi.com$ history
Nach dem Login kopieren

Linux 命令中“!”操作符的八个神秘用途

Zuletzt ausgeführte Befehle unter Linux finden

Um einen Befehl aus dem Verlauf nach Befehlsnummer auszuführen, können Sie das Symbol „!“ gefolgt von der Befehlsnummer verwenden, wie unten gezeigt.

$ !58
Nach dem Login kopieren

Linux 命令中“!”操作符的八个神秘用途

Befehl nach Befehlsnummer ausführen

Wenn Sie den obigen Befehl ausführen, wird der Befehl in Zeile 58 im Verlauf ausgeführt.

Bitte beachten Sie, dass die tatsächliche Befehlsnummer je nach Ihrem Befehlsverlauf variieren kann. Mit dem Befehl „history“ können Sie eine Liste der Befehle und deren Zeilennummern anzeigen.

2. Zuvor ausgeführte Befehle unter Linux ausführen

Sie können zuvor ausgeführte Befehle in der Reihenfolge ausführen, in der sie ausgeführt werden. Die letzte Befehlsausführung wird als -1 dargestellt, die vorletzte als -2 vom letzten zum letzten. Der siebte ist -7 und so weiter. Sie können !-n verwenden, wobei n die reziproke Zahl des Befehls ist, den Sie zitieren möchten. Wie unten gezeigt: Führen Sie den Befehl unter Linux erneut aus. , also führe ich den folgenden Befehl aus:

$ history$ !-3$ !-6$ !-10
Nach dem Login kopieren

Dann wurde mir klar, dass ich den Befehl „ls -l“ ausführen sollte, um zu sehen, welche Dateien ausführbar sind. Anstatt den gesamten Befehl erneut einzugeben, übergeben Sie einfach die im vorherigen Befehl übergebenen Parameter an diesen neuen Befehl, wie folgt: Linux 命令中“!”操作符的八个神秘用途

$ ls /home/linuxmi/snap
Nach dem Login kopieren

Hier übergibt '!$' die im vorherigen Befehl übergebenen Parameter an diesen neuen Befehl.

4. So gehen Sie mit zwei oder mehr Parametern im Befehl um

Angenommen, ich erstelle eine Textdatei mit dem Namen 1.txt auf dem Desktop.

$ ls -l !$
Nach dem Login kopieren

Kopieren Sie es dann mit dem Befehl cp und dem vollständigen Pfad in das Verzeichnis „/home/avi/Downloads“. Linux 命令中“!”操作符的八个神秘用途

linuxmi@linuxmi ~/www.linuxmi.com% touch /home/linuxmi/linuxmi.go
Nach dem Login kopieren
Jetzt übergeben wir zwei Parameter im cp-Befehl. Die erste ist „/home/avi/Desktop/1.txt“ und die zweite ist „/home/avi/Downloads“. Wir können zwei Parameter auf unterschiedliche Weise drucken, indem wir den Echo-Befehl ausführen und unterschiedliche Parameter verwenden.

linuxmi@linuxmi ~/www.linuxmi.com% cp /home/linuxmi/linuxmi.go /home/linuxmi/go
Nach dem Login kopieren
Bitte beachten Sie, dass der erste Parameter als „!^“ angezeigt werden kann, während andere Parameter durch Ausführen von „![Befehlsname]:[Parameternummer]“ gedruckt werden können.

Im obigen Beispiel ist der erste Befehl „cp“ und der zweite Parameter muss gedruckt werden. Daher „!cp:2“. Wenn Sie für den xyz-Befehl mit 5 Parametern den 4. Parameter benötigen, können Sie „!xyz:4“ verwenden und diesen Parameter nach Bedarf verwenden. Alle Parameter sind über „!*“ erreichbar.

Verarbeitung von zwei oder mehr Parametern

5. Führen Sie kürzlich ausgeführte Befehle basierend auf bestimmten Schlüsselwörtern aus.

Wir können kürzlich ausgeführte Befehle basierend auf Schlüsselwörtern ausführen. Die Details sind wie folgt:

linuxmi@linuxmi ~/www.linuxmi.com% echo "第一个参数是:!^"echo "第一个参数是:/home/linuxmi/linuxmi.go"第一个参数是:/home/linuxmi/linuxmi.golinuxmi@linuxmi ~/www.linuxmi.com% echo "第二个参数是:!cp:2"echo "第二个参数是:/home/linuxmi/go"第二个参数是:/home/linuxmi/go
Nach dem Login kopieren

Hier haben wir den Befehl ls verwendet, jedoch mit unterschiedlichen Optionen und unterschiedlichen Ordnern. Um die Konsole sauber zu halten, senden wir außerdem die Ausgabe jedes Befehls an „/dev/null“. Linux 命令中“!”操作符的八个神秘用途

Führen Sie nun den zuletzt ausgeführten Befehl basierend auf dem Schlüsselwort aus:

$ ! ls			[Command 1]$ ! ls -l		[Command 2]	$ ! ls -la		[Command 3]$ ! ls -lA		[Command 4]
Nach dem Login kopieren

Linux 命令中“!”操作符的八个神秘用途

检查输出,你会惊讶地发现你正在运行已经执行过的命令,只是使用了ls关键词。

6、在Linux中重复上次执行的命令

你可以使用(!!)操作符来运行/修改你上次执行的命令,这是一个简写符号,允许你引用在命令行中执行的上一个命令。

例如,我运行了一个单行脚本来查找Linux机器的IP地址:

$ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/
Nach dem Login kopieren

然后突然我发现我需要将上述脚本的输出重定向到一个名为ip.txt的文件中,那么我该怎么办呢?我需要重新输入整个命令并将输出重定向到文件吗?好吧,一个简单的解决方案是使用上箭头键来调出上一条命令,并在末尾添加’> ip.txt’来将输出重定向到文件。

$ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/ > ip.txt
Nach dem Login kopieren

感谢上箭头键的救命作用。现在考虑以下情况,下次我运行下面的单行脚本。

ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:
Nach dem Login kopieren

当我运行脚本时,bash提示返回了一个错误,信息为“bash: ifconfig: command not found”,我很容易猜到我以一个普通用户的身份运行了这个命令,而它应该以root身份运行。

那么解决办法是什么呢?登录为root然后重新输入整个命令是很困难的!在上一个示例中的(上箭头键)在这里也无法帮助。所以,要调用用户的最后一个命令,需要输入“!!”(不需要引号)

su -c “!!” root
Nach dem Login kopieren

这里的su是切换用户的命令,root是要切换到的用户,-c是以指定的用户身份运行命令的选项,最重要的部分是!!将被替换为上次运行的命令。是的!你需要提供root密码。

7、使用’!’操作符删除除一个文件之外的所有文件

在Linux中,’!’操作符(也称为”bang”操作符)用于历史扩展,它允许你引用先前的命令并对其执行各种操作。要从目录中删除除了特定文件(important_file.txt)之外的所有文件,可以使用带有’!’操作符的rm命令,如下所示。

$ rm !(important_file.txt)
Nach dem Login kopieren

要从文件夹中删除除了扩展名为’.pdf’之外的所有文件类型。

$ $ rm !(*.pdf)
Nach dem Login kopieren

8、检查Linux中的目录是否存在

在这里,我们将使用’! -d’来验证目录是否存在,如果目录不存在,则紧随其后的是逻辑与操作符(&&),打印出目录不存在,如果目录存在,则紧随其后的是逻辑或操作符(||),打印出目录存在。

逻辑是,当[ ! -d /home/linuxmi/linuxmi.com ]的输出为0时,它将执行逻辑与之后的内容,否则它将转到逻辑或(||)并执行逻辑或之后的内容。

$ [ ! -d /home/linuxmi/linuxmi.com ] && printf '\nno such /home/linuxmi/linuxmi.com directory exist\n' || printf '\n/home/linuxmi/linuxmi.com directory exist\n'
Nach dem Login kopieren

类似于上面的条件,但是如果所需目录不存在,它将退出命令。

$ [ ! -d /home/linuxmi/linuxmi.com] && exit
Nach dem Login kopieren

在脚本语言中的一般实现,如果所需目录不存在,它将创建一个目录。

[ ! -d /home/linuxmi/linuxmi.com] && mkdir /home/linuxmi/linuxmi.com
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAcht mysteriöse Verwendungen des „!'-Operators in Linux-Befehlen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Feb 19, 2025 pm 04:54 PM

Deepseek ist ein leistungsstarkes Intelligent -Such- und Analyse -Tool, das zwei Zugriffsmethoden bietet: Webversion und offizielle Website. Die Webversion ist bequem und effizient und kann ohne Installation verwendet werden. Unabhängig davon, ob Einzelpersonen oder Unternehmensnutzer, können sie massive Daten über Deepseek problemlos erhalten und analysieren, um die Arbeitseffizienz zu verbessern, die Entscheidungsfindung zu unterstützen und Innovationen zu fördern.

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Feb 21, 2025 pm 08:42 PM

Bitget ist eine Kryptowährungsbörse, die eine Vielzahl von Handelsdienstleistungen anbietet, darunter Spot -Handel, Vertragshandel und Derivate. Der 2018 gegründete Austausch hat seinen Hauptsitz in Singapur und verpflichtet sich, den Benutzern eine sichere und zuverlässige Handelsplattform zu bieten. Bitget bietet eine Vielzahl von Handelspaaren, einschließlich BTC/USDT, ETH/USDT und XRP/USDT. Darüber hinaus hat der Austausch einen Ruf für Sicherheit und Liquidität und bietet eine Vielzahl von Funktionen wie Premium -Bestellarten, gehebelter Handel und Kundenunterstützung rund um die Uhr.

Holen Sie sich das Installationspaket Gate.io kostenlos Holen Sie sich das Installationspaket Gate.io kostenlos Feb 21, 2025 pm 08:21 PM

Gate.io ist ein beliebter Kryptowährungsaustausch, den Benutzer verwenden können, indem sie sein Installationspaket herunterladen und auf ihren Geräten installieren. Die Schritte zum Abholen des Installationspakets sind wie folgt: Besuchen Sie die offizielle Website von Gate.io, klicken Sie auf "Download", wählen Sie das entsprechende Betriebssystem (Windows, Mac oder Linux) und laden Sie das Installationspaket auf Ihren Computer herunter. Es wird empfohlen, die Antiviren -Software oder -Firewall während der Installation vorübergehend zu deaktivieren, um eine reibungslose Installation zu gewährleisten. Nach Abschluss muss der Benutzer ein Gate.io -Konto erstellen, um es zu verwenden.

Ouyi OKX Installationspaket ist direkt enthalten Ouyi OKX Installationspaket ist direkt enthalten Feb 21, 2025 pm 08:00 PM

Ouyi Okx, die weltweit führende digitale Asset Exchange, hat jetzt ein offizielles Installationspaket gestartet, um ein sicheres und bequemes Handelserlebnis zu bieten. Auf das OKX -Installationspaket von Ouyi muss nicht über einen Browser zugegriffen werden. Der Installationsprozess ist einfach und einfach zu verstehen.

Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Mar 31, 2025 pm 11:54 PM

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Ouyi Exchange Download Official Portal Ouyi Exchange Download Official Portal Feb 21, 2025 pm 07:51 PM

Ouyi, auch bekannt als OKX, ist eine weltweit führende Kryptowährungsplattform. Der Artikel enthält ein Download -Portal für das offizielle Installationspaket von Ouyi, mit dem Benutzer den Ouyi -Client auf verschiedenen Geräten installiert werden können. Dieses Installationspaket unterstützt Windows, Mac, Android und iOS -Systeme. Nach Abschluss der Installation können sich Benutzer registrieren oder sich beim Ouyi -Konto anmelden, Kryptowährungen mit dem Handel mit den von der Plattform erbrachten Diensten anmelden.

See all articles