WMP Sites

Das @-Zeichen in Linux: Verwendung, Funktionen und Beispiele

Lukas Fuchs vor 2 Jahren DevOps & Deployment 3 Min. Lesezeit

Verwendung des @-Zeichens in Linux

Das @-Zeichen ist in Linux ein vielseitiger Modifikator, der in verschiedenen Kontexten verwendet wird, um spezifische Funktionen bereitzustellen. Nachfolgend findest du einige gängige Verwendungen:

In regulären Ausdrücken:

  • Das @-Zeichen wird als Anker verwendet, um das Ende einer Zeichenfolge zu bezeichnen. Beispiel: ```bash grep "abc@" text.txt

**In Dateinamen:**

- Bei Reservierungen von Dateinamen unter Linux kann das @-Zeichen verwendet werden, um versteckte Dateien im Dateisystem zu erstellen. Beispiel: ```bash
touch .hidden@file

In Befehlzeilen:

  • Das @-Zeichen kann verwendet werden, um einen Befehl an eine andere Shell weiterzuleiten. Beispiel: ```bash echo "Hello world" | @bash
- Das @-Zeichen kann auch verwendet werden, um eine variable Substitution in Befehlszeilen durchzuführen. Beispiel: ```bash
NAME="John Doe"
echo "Hallo @$NAME"

In Variablen:

  • Das @-Zeichen kann verwendet werden, um indirekte Variablenreferenzen in Shell-Skripten durchzuführen. Beispiel: ```bash var1="value1" var2="var1" echo $$var2

**In Netzwerkbefehlen:**

- Das @-Zeichen kann verwendet werden, um eine Hostadresse in einem Netzwerkbefehl anzugeben. Beispiel: ```bash
ping @myhost
  • Das @-Zeichen kann auch verwendet werden, um eine Liste von Hosts in einem Netzwerkbefehl anzugeben. Beispiel: ```bash nslookup @host1 @host2

Funktionen des @-Zeichens

Indirekte Referenzierung

Das @-Zeichen wird verwendet, um indirekte Verweise zu erstellen. Wenn du beispielsweise einer Variable einen Wert zuweist, der sich in einer anderen Variable befindet, kannst du das @-Zeichen verwenden, um auf die indirekt referenzierte Variable zuzugreifen.

#!/bin/bash

a=10
b=$a
echo $b  # Ausgabe: 10

Dateierweiterung

In einigen Fällen kann das @-Zeichen verwendet werden, um eine Dateierweiterung anzugeben. Dies ist besonders nützlich, wenn du mit ausführbaren Skripten arbeitest.

#!/bin/bash

# date.sh: Ein ausführbares Skript
@ date

# Ausgabe: Das aktuelle Datum und die Uhrzeit

Eine leere oder nicht zusammenhängende Zeichenfolge

In regulären Ausdrücken kann das @-Zeichen verwendet werden, um eine leere oder nicht zusammenhängende Zeichenfolge zu identifizieren. Dies ist nützlich, wenn du Text nach Mustern durchsuchen möchtest.

Bereichsoperator

In Befehlszeilen-Berechnungen kann das @-Zeichen als Bereichsoperator verwendet werden. Es ermöglicht dir, einen Bereich von Werten zu generieren.

seq 5@2 12
# Ausgabe: 5 7 9 11

Das @-Zeichen im Dateisystem

Das @-Zeichen spielt im Linux-Dateisystem eine besondere Rolle, die du kennen solltest. Hier erfährst du, wie du es effektiv nutzt.

Verbergen von Dateien

Eine wichtige Funktion des @-Zeichens ist das Verbergen von Dateien vor neugierigen Blicken. Wenn du eine Datei mit einem führenden @-Zeichen benennst, wird sie im Verzeichnis versteckt, in dem sie sich befindet. Du kannst darauf zugreifen, indem du ls -a ausführst oder einen Dateimanager verwendest, der versteckte Dateien anzeigt.

Abrufen der primären Gruppe

Wenn du das @-Zeichen vor einem Benutzernamen setzt, kannst du seine primäre Gruppe abrufen. Dies kann in Skripten nützlich sein, um Gruppenmitgliedschaften zu überprüfen. Führe dazu einfach den folgenden Befehl aus:

groups @username

Dateieigenschaften ändern

In Verbindung mit den Befehlen chgrp und chown kannst du das @-Zeichen verwenden, um die Gruppen- und Besitzerzugehörigkeit von Dateien zu ändern. Dabei steht @ für die aktuelle Gruppe bzw. den aktuellen Benutzer.

Zum Ändern der Gruppenzugehörigkeit:

chgrp @group filename

Zum Ändern der Besitzerzugehörigkeit:

chown @user filename

Das @-Zeichen in Befehlszeilen

In Befehlszeilen-Befehlen wird das @-Zeichen für verschiedene Zwecke verwendet, darunter:

Dateisystem-Operationen

  • globstar: Das @-Zeichen in **-Glob-Mustern (z. B. /pfad/**/*) passt rekursiv zu Dateien und Verzeichnissen. So kannst du beispielsweise mit find /tmp -name *.txt nur Dateien mit der Endung .txt im Verzeichnis /tmp finden, während find /tmp -name **/*.txt alle Dateien mit der Endung .txt in allen Unterverzeichnissen rekursiv findet.

Befehlsersetzung

  • Befehlsersetzung: Das @-Zeichen vor einem Befehl (z. B. @echo "Hallo") ersetzt den Befehl durch seine Ausgabe. Dies kann nützlich sein, um die Ausgabe eines Befehls als Argument für einen anderen Befehl zu verwenden. Beispielsweise kannst du ls -l | @grep "groß" verwenden, um nur Dateien mit einer Größe über einem bestimmten Schwellenwert aufzulisten.

Variable Substitution

  • Variable Substitution: Das @-Zeichen in Variablennamen (z. B. @HOME, @PWD) ersetzt die Variable durch ihren Wert. Dies kann nützlich sein, um auf Umgebungsvariablen zuzugreifen oder Variablen von externen Quellen zu laden. Beispielsweise kannst du echo $@ verwenden, um alle Argumente eines Skripts als einzelnen String auszugeben.

Sonderzeichen

  • Sonderzeichen: Das @-Zeichen kann in Befehlszeilen auch als Sonderzeichen verwendet werden, das je nach Kontext eine bestimmte Bedeutung hat. Beispielsweise ist @ in Befehlsaliase (z. B. alias ls='ls -al') ein Platzhalter, der durch den tatsächlichen Befehl ersetzt wird.

Das @-Zeichen in Variablen

In Bash-Variablen dient das @-Zeichen dazu, indirekt auf eine Variable zu verweisen. Es ermöglicht dir, Variableninhalte dynamisch festzulegen, ohne den Variablennamen explizit anzugeben.

Vordefinierte Variablen

Das @-Zeichen wird häufig in vordefinierten Variablen verwendet, die von Bash bereitgestellt werden. Zu diesen Variablen gehören:

  • @$?: Rückgabewert des zuletzt ausgeführten Befehls
  • @#: Anzahl der an ein Skript übergebenen Argumente
  • @: Liste aller an ein Skript übergebenen Argumente
  • @a: Liste der an den Befehl übergebenen Argumente

Zum Beispiel kannst du den Rückgabewert des letzten Befehls mit echo $@? ausgeben oder die Liste der an das Skript übergebenen Argumente mit echo $@ anzeigen.

Indirekte Variablenreferenzierung

Mit dem @-Zeichen kannst du auch eine indirekte Variablenreferenzierung durchführen. Dies kann nützlich sein, wenn du den Namen der Variable nicht kennst oder wenn der Name dynamisch generiert wird.

Um eine indirekte Variablenreferenzierung durchzuführen, verwendest du die folgende Syntax:

${!VARIABLE}

Dabei ist VARIABLE der Name der Variablen, auf die du zugreifen möchtest.

Zum Beispiel kannst du den Wert der Variablen VAR1 mit echo ${!VAR1} ausgeben, selbst wenn der Wert von VAR1 nicht bekannt ist.

Verwendung mit Arrays

Das @-Zeichen kann auch in Verbindung mit Arrays verwendet werden. Du kannst das @-Zeichen vor dem Array-Namen verwenden, um auf alle Elemente des Arrays zu verweisen.

Zum Beispiel kannst du alle Elemente des Arrays ARRAY mit echo ${ARRAY[@]} ausgeben.

Das @-Zeichen in regulären Ausdrücken

In regulären Ausdrücken dient das @-Zeichen als Platzhalter für Positionen im Zeichenfolgenmuster, an denen bestimmte Bedingungen erfüllt sein müssen. Es ist ein äußerst nützliches Werkzeug, mit dem du komplexe Such- und Ersetzungsvorgänge durchführen kannst.

Verwendung des @-Zeichens in regulären Ausdrücken

Das @-Zeichen wird in regulären Ausdrücken in Verbindung mit dem Vorwärts-Slash (/) verwendet, um das Ende einer Zeichenfolge zu markieren. Du kannst es verwenden, um:

  • Zeilenenden zu finden: Das Platzieren eines @-Zeichens am Ende eines regulären Ausdrucks zeigt an, dass das Muster nur am Zeilenende übereinstimmen soll.
  • Zeilenanfänge zu finden: Wenn du ein @-Zeichen an den Anfang eines regulären Ausdrucks stellst, wird es an den Zeilenanfängen übereinstimmen.
  • Wörter zu finden: Durch das Einschließen eines @-Zeichens zwischen zwei Buchstaben kannst du Wörter finden, die mit den angegebenen Buchstaben beginnen oder enden.

Beispiele für die Verwendung des @-Zeichens in regulären Ausdrücken

Hier sind einige Beispiele für die Verwendung des @-Zeichens in regulären Ausdrücken:

  • Zeilenenden finden: Der reguläre Ausdruck .*@$ wird mit allen Zeilen übereinstimmen, die mit einem beliebigen Text enden.
  • Zeilenanfänge finden: Der reguläre Ausdruck ^@Beispiel wird mit allen Zeilen übereinstimmen, die mit dem Wort "Beispiel" beginnen.
  • Wörter finden: Der reguläre Ausdruck @Beispiel$ wird mit allen Wörtern übereinstimmen, die mit "Beispiel" enden.

Vorteile des @-Zeichens in regulären Ausdrücken

Das @-Zeichen bietet mehrere Vorteile in regulären Ausdrücken:

  • Erhöhte Flexibilität: Es ermöglicht dir, komplexe Muster zu erstellen, die an bestimmten Positionen übereinstimmen.
  • Vereinfachte Suchanfragen: Du kannst das @-Zeichen verwenden, um Suchvorgänge zu vereinfachen, indem du Zeilenenden oder -anfänge angibst.
  • Verbesserte Genauigkeit: Das @-Zeichen hilft dir, übereinstimmende Muster genauer zu identifizieren.

Das @-Zeichen in Netzwerkbefehlen

Das @-Zeichen spielt auch eine wichtige Rolle in Netzwerkbefehlen unter Linux. Es wird hauptsächlich verwendet, um Hostnamen oder IP-Adressen in Befehlen anzugeben.

Verwendung des @-Zeichens in Netzwerkbefehlen

  • SSH: Du kannst das @-Zeichen verwenden, um dich remote über SSH mit einem anderen Host zu verbinden. Beispiel: ssh benutzer@host
  • Ping: Ping ist ein Netzwerkdienstprogramm, das zur Überprüfung der Konnektivität zu einem anderen Host verwendet wird. Du kannst das @-Zeichen verwenden, um eine bestimmte IP-Adresse anzugeben, beispielsweise: ping [email protected]
  • Traceroute: Traceroute ist ein Netzwerkdienstprogramm, das den Pfad eines Datenpakets zu einem anderen Host verfolgt. Du kannst das @-Zeichen verwenden, um eine bestimmte IP-Adresse zu verfolgen, beispielsweise: traceroute [email protected]
  • Netcat: Netcat ist ein vielseitiges Netzwerkdienstprogramm, das für verschiedene Zwecke verwendet werden kann, wie z. B. Port-Scans und Dateitransfers. Du kannst das @-Zeichen verwenden, um einen Ziel-Host festzulegen, beispielsweise: nc 192.168.1.1@80 (verbindet sich mit Port 80 auf 192.168.1.1)
  • Telnet: Telnet ist ein Netzwerkdienstprogramm, das für die Remote-Anmeldung bei einem anderen Host verwendet wird. Du kannst das @-Zeichen verwenden, um einen Ziel-Host festzulegen, beispielsweise: telnet 192.168.1.1@23 (verbindet sich mit Port 23 auf 192.168.1.1)

Vorteile des @-Zeichens in Netzwerkbefehlen

Die Verwendung des @-Zeichens in Netzwerkbefehlen bietet mehrere Vorteile:

  • Vereinfachung: Das @-Zeichen bietet eine einfache und prägnante Möglichkeit, Hostnamen oder IP-Adressen anzugeben.
  • Lesbarkeit: Die Verwendung des @-Zeichens verbessert die Lesbarkeit von Befehlen, insbesondere bei der Angabe mehrerer Hosts oder Adressen.
  • Fehlerreduzierung: Durch die Verwendung des @-Zeichens wird die Wahrscheinlichkeit von Tippfehlern bei der Eingabe von Hostnamen oder Adressen verringert.

Weitere Beiträge

Folge uns

Neue Beiträge

Frameworks & Libraries

HTML einfach in WordPress übertragen: Schritt-für-Schritt-Anleitung

AUTOR • Jun 16, 2026
Frontend

Bilder werden in HTML nicht angezeigt: Ursachen und Lösungen

AUTOR • Jun 16, 2026
DevOps & Deployment

BASH-Befehl: Dateien auf Existenz prüfen

AUTOR • Jun 16, 2026
Backend

Dateiüberschreibung mit dem Linux Befehl cp: So überschreibst du Dateien sicher und ohne Rückfragen

AUTOR • Jun 16, 2026
DevOps & Deployment

Nitrux: Ein Open-Source-Betriebssystem für ein modernes digitales Erlebnis

AUTOR • Jun 16, 2026
Frontend

Non-Breaking Space in HTML: Trennwörter und Leerzeichen formatieren

AUTOR • Jun 16, 2026
DevOps & Deployment

Entdecke die Snap-Store-App: Dein Gateway zu linuxbasierten Apps

AUTOR • Jun 16, 2026
DevOps & Deployment

Umgebungsvariablen in Linux auflisten: Die praktische Anleitung für schnelle Kontrolle und Debugging

AUTOR • Jun 16, 2026
Frontend

HTML-Content: Der ultimative Leitfaden zur Erstellung ansprechender Webseiten

AUTOR • Jun 16, 2026
DevOps & Deployment

Verzeichnis in Linux löschen: Anleitung für Anfänger mit sicheren Befehlen

AUTOR • Jun 16, 2026
DevOps & Deployment

logrotate optimieren: Protokollverwaltung in Linux-Systemen effizienter machen

AUTOR • Jun 16, 2026
DevOps & Deployment

SteamCMD: Der umfassende Leitfaden zur Verwaltung von Steam-Servern

AUTOR • Jun 16, 2026
DevOps & Deployment

MobaXterm: Das ultimative Tool für die Remote-Verbindung und Verwaltung

AUTOR • Jun 16, 2026
DevOps & Deployment

Musik unter Linux taggen und verwalten: So bringst du deine Sammlung in Ordnung

AUTOR • Jun 16, 2026
DevOps & Deployment

Entpacken von Archiven in Ubuntu: Die beste Methode und die wichtigsten Befehle

AUTOR • Jun 16, 2026
Frontend

HTML in Pug konvertieren: einfach und schnell gemacht ohne Chaos im Code

AUTOR • Jun 16, 2026
Frontend

CSS Viewport verstehen: So steuerst du das Browser-Ansichtsfenster richtig

AUTOR • Jun 16, 2026
DevOps & Deployment

So löschen Sie alle Dateien in einem Ordner unter Linux: einfache Anleitung für rm, find und sichere Alternativen

AUTOR • Jun 16, 2026
Frontend

HTML Select readonly: Deaktivieren von Optionsfeldern und Listen sauber lösen

AUTOR • Jun 16, 2026
DevOps & Deployment

Linux USB Datenträger einbinden: Schritt-für-Schritt Anleitung für Mount, Rechte und Fehlerbehebung

AUTOR • Jun 16, 2026

Beliebte Beiträge

DevOps & Deployment

Linux Mint AppImages: Mühelose Installation und Ausführung von Anwendungen

AUTOR • Jan 20, 2026
DevOps & Deployment

Die ultimativen Linux eBook-Reader: Eine umfassende Anleitung

AUTOR • May 06, 2024
DevOps & Deployment

Linux su-Befehl: Benutzer wechseln und Berechtigungen erhöhen

AUTOR • May 06, 2024
DevOps & Deployment

Linux: PDFs einfach zusammenführen

AUTOR • May 06, 2024
Frontend

Link-HTML: So fügen Sie Hyperlinks in Ihre Website ein

AUTOR • Apr 24, 2024
Frontend

App-Symbole personalisieren: Eine Anleitung zum Ändern von App-Symbolen auf Ihrem Gerät

AUTOR • May 09, 2024
DevOps & Deployment

Linux Mint: Aufwertung Ihres Desktops mit atemberaubenden Hintergrundbildern

AUTOR • May 06, 2024
DevOps & Deployment

Linux-Dienste anzeigen: Eine Schritt-für-Schritt-Anleitung

AUTOR • May 06, 2024
DevOps & Deployment

JDownloader 2: Der ultimative Download-Manager für rasend schnelle Downloads

AUTOR • May 06, 2024
DevOps & Deployment

Auflistung von Gruppen in Linux: Ein umfassender Leitfaden

AUTOR • May 06, 2024
DevOps & Deployment

So löschen Sie Linux-Benutzer sicher und effizient

AUTOR • May 06, 2024
API & Webservices

HTML in PDF konvertieren: API-Lösungen für mühelose Dokumenterstellung

AUTOR • Apr 24, 2024
Frontend

Das Placeholder-Attribut in HTML: Nutzen und Best Practices

AUTOR • Apr 24, 2024
Frontend

YouTube-Einbettungen: So integrierst du Videos auf deiner Website

AUTOR • Feb 18, 2025
API & Webservices

POST-Anfragen: Erstellen, Senden und Empfangen von Daten im Web

AUTOR • Apr 22, 2025
DevOps & Deployment

Linux Mint 20.3: Das aktualisierte Cinnamon-Erlebnis

AUTOR • May 06, 2024
DevOps & Deployment

DHCP-Server unter Ubuntu einrichten und konfigurieren

AUTOR • May 06, 2024
DevOps & Deployment

Neustart Ihres Debian-Systems: Eine umfassende Anleitung

AUTOR • May 06, 2024
DevOps & Deployment

Das @-Zeichen in Linux: Verwendung, Funktionen und Beispiele

AUTOR • May 06, 2024
DevOps & Deployment

Linux Mint LTS: Eine stabile und langfristig unterstützte Linux-Distribution

AUTOR • May 06, 2024