03. Die Linux-Befehlszeile für Ubuntu Server meistern

Die Befehlszeile ist das Herz der Linux-Serveradministration. Ob Sie Anfänger oder erfahrener Systemadministrator sind: Das Verständnis der Grundlagen der Befehlszeilenadministration ist entscheidend für die effiziente Verwaltung Ihres Ubuntu-Servers. Dieser Artikel bietet eine ausführliche Einführung in die Linux-Befehlszeile und behandelt wichtige Befehle, Tools und Techniken zur Verwaltung von Dateien, Verzeichnissen und der Serverumgebung.


Vorheriger Artikel:

01. Einführung in Ubuntu Server – SysOSX: AI & Cloud

02. So richten Sie Ihren ersten Ubuntu-Server ein: Ein Leitfaden für Anfänger – SysOSX: AI & Cloud



Warum die Befehlszeile lernen?

Die Linux-Befehlszeile, auf die über das Terminal zugegriffen wird, ist ein leistungsstarkes Werkzeug für die Interaktion mit dem Betriebssystem. Im Gegensatz zu grafischen Oberflächen bietet die Befehlszeile:

  • Geschwindigkeit: Aufgaben können mit Befehlen schneller ausgeführt werden als über GUI-Oberflächen.
  • Flexibilität: Automatisieren Sie Prozesse und führen Sie komplexe Vorgänge mithilfe von Skripten aus.
  • Kontrolle: Greifen Sie auf tiefere Systemfunktionen zu und beheben Sie Probleme effektiv.

Zugriff auf die Befehlszeile unter Ubuntu Server

Ubuntu-Server-Installationen enthalten standardmäßig keine grafische Oberfläche, sodass alle Interaktionen über das Terminal erfolgen. Hier sind gängige Möglichkeiten, auf die Befehlszeile zuzugreifen:

1. Direkter Zugriff über die lokale Konsole

Nach der Anmeldung bei Ihrem Ubuntu-Server wird Ihnen die Terminaloberfläche angezeigt.

2. Fernzugriff über SSH

Verwenden Sie Secure Shell (SSH), um remote auf Ihren Server zuzugreifen:

ssh username@server_ip


Wichtige Linux-Befehle für Anfänger

1. Navigation im Dateisystem

Das Verständnis der Linux-Dateisystemhierarchie ist entscheidend für die Verwaltung von Dateien und Verzeichnissen.

Aktuelles Verzeichnis anzeigen: pwd

Zeigt das aktuelle Arbeitsverzeichnis an:

pwd

Verzeichnisinhalte auflisten: ls

Listet Dateien und Verzeichnisse am aktuellen Speicherort auf:

ls

Optionen:

  • ls -l: Detaillierte Liste mit Berechtigungen, Eigentümerschaft und Größe.
  • ls -a: Enthält versteckte Dateien (Dateien, die mit .).

Verzeichnis wechseln: cd

Wechselt in ein anderes Verzeichnis:

cd /path/to/directory

Beispiele:

  • cd ..: Geht eine Ebene nach oben.
  • cd ~: Wechselt in das Home-Verzeichnis.

2. Dateien und Verzeichnisse verwalten

Verzeichnis erstellen: mkdir

Erstellt ein neues Verzeichnis:

mkdir directory_name

Beispiel: Erstellen Sie eine Unterverzeichnisstruktur.

mkdir -p /home/user/documents/projects

Erklärung:

  • Die Option -p erstellt übergeordnete Verzeichnisse, falls sie nicht existieren (z. B. documents und projects).

Verzeichnis entfernen: rmdir

Löscht ein leeres Verzeichnis:

rmdir directory_name

Beispiel:

rmdir /home/user/old_directory

Dateien kopieren: cp

Kopiert Dateien oder Verzeichnisse:

cp source_file destination_file

Beispiel: Kopieren Sie eine Datei in ein neues Verzeichnis.

cp /home/user/file.txt /home/user/backup/file.txt

So kopieren Sie ganze Verzeichnisse:

cp -r /home/user/documents /home/user/backup/documents

Dateien verschieben oder umbenennen: mv

Verschiebt oder benennt Dateien um:

mv old_name new_name

Beispiel: Benennen Sie eine Datei um.

mv file.txt renamed_file.txt

Dateien in ein anderes Verzeichnis verschieben:

mv /home/user/file.txt /home/user/backup/

Dateien löschen: rm

Löscht Dateien oder Verzeichnisse:

rm file_name

Beispiel: Löschen Sie eine Datei.

rm /home/user/file.txt

So löschen Sie Verzeichnisse und deren Inhalte:

rm -r /home/user/old_directory

Warnung: Seien Sie vorsichtig mit rm, um versehentliche Löschungen zu vermeiden.


3. Dateien anzeigen und bearbeiten

Dateiinhalte anzeigen: cat

Zeigt den Inhalt einer Datei an:

cat file_name

Beispiel:

cat /etc/hostname

Dateiinhalte seitenweise anzeigen: less

Ermöglicht das Scrollen durch Dateiinhalte:

less file_name

Beispiel:

less /var/log/syslog

Dateien erstellen oder bearbeiten: nano

Ein anfängerfreundlicher Texteditor:

nano file_name

Beispiel: Erstellen Sie eine neue Datei oder bearbeiten Sie eine vorhandene.

nano /home/user/new_file.txt

Text in Dateien suchen: grep

Sucht nach einer bestimmten Zeichenfolge in Dateien:

grep "search_term" file_name

Beispiel: Finden Sie Fehlermeldungen in einer Protokolldatei.

grep "error" /var/log/syslog


4. Befehle zur Systemadministration

Festplattennutzung prüfen: df

Zeigt die Festplattennutzung an:

df -h

Optionen:

  • -h: Menschenlesbares Format.

Speichernutzung prüfen: free

Zeigt die Speichernutzung an:

free -h

Systemprozesse überwachen: top

Zeigt laufende Prozesse und die Systemressourcennutzung an:

top

Alternative:

  • htop: Ein benutzerfreundlicherer Prozessmonitor (Installation über sudo apt install htop).

Dienste verwalten: systemctl

Steuert Systemdienste:

sudo systemctl status service_name
sudo systemctl start service_name
sudo systemctl stop service_name
sudo systemctl restart service_name

Herunterfahren oder neu starten: shutdown

Fahren Sie den Server herunter oder starten Sie ihn neu:

sudo shutdown now    # Immediate shutdown
sudo shutdown -r now # Immediate restart

5. Dateiberechtigungen und Eigentümerschaft

Linux verwendet ein Berechtigungsmodell, um den Zugriff auf Dateien und Verzeichnisse zu steuern.

Dateiberechtigungen anzeigen: ls -l

Zeigt Dateiberechtigungen im detaillierten Format an:

ls -l

Dateiberechtigungen ändern: chmod

Ändert Dateiberechtigungen:

chmod 644 file_name

Dateieigentümerschaft ändern: chown

Ändert die Dateieigentümerschaft:

sudo chown new_owner:new_group file_name


6. Dateien suchen und finden

Dateien finden: locate

Der Befehl locate ist standardmäßig nicht installiert. Installieren Sie ihn zuerst:

sudo apt update
sudo apt install mlocate

Aktualisieren Sie die Datenbank:

sudo updatedb

Suchen Sie nach Dateien:

locate file_name

Dateien suchen: find

Sucht nach Dateien anhand von Kriterien:

find /path -name "file_name"


7. Netzwerkbefehle

Netzwerkkonnektivität prüfen: ping

Testet die Konnektivität zu einem Host:

ping google.com

Offene Ports prüfen: ss

Der Befehl netstat ist veraltet und standardmäßig nicht installiert. Verwenden Sie ss, eine moderne Alternative:

ss -tuln

Erklärung:

  • -t: Zeigt TCP-Verbindungen an.
  • -u: Zeigt UDP-Verbindungen an.
  • -l: Zeigt lauschende Ports an.
  • -n: Zeigt numerische Adressen und Ports an.

Remote-Konnektivität testen: curl

Ruft Daten von einer URL ab:

curl http://example.com


Praktische Tipps für die Befehlszeilenadministration

1. Tab-Vervollständigung verwenden

Drücken Sie Tab, während Sie einen Befehl oder Dateinamen eingeben, um Pfade oder Befehle automatisch zu vervollständigen.

2. Verlauf-Befehle verwenden

Greifen Sie auf zuvor ausgeführte Befehle zu:

history

Führen Sie einen bestimmten Befehl aus dem Verlauf aus:

!number

3. Ausgabe umleiten

Speichern Sie die Befehlsausgabe in einer Datei:

command > output_file

4. Befehle verketten

Führen Sie mehrere Befehle nacheinander aus:

command1 && command2

Beispiel-Workflow: Einrichten eines Webservers

Hier ist eine Schritt-für-Schritt-Anleitung zum Einrichten eines Webservers mit grundlegenden Befehlen. Befolgen Sie diese Anweisungen, um Ihre benutzerdefinierte Website zu konfigurieren und sicherzustellen, dass sie die Standard-Apache-Seite ersetzt.


1. System aktualisieren

Ihr System auf dem neuesten Stand zu halten, ist für Sicherheit und Stabilität unerlässlich. Führen Sie den folgenden Befehl aus, um alle Pakete zu aktualisieren:

sudo apt update && sudo apt upgrade -y


2. Apache installieren

Installieren Sie den Apache-Webserver:

sudo apt install apache2 -y

Überprüfen Sie nach der Installation, ob Apache läuft:

sudo systemctl status apache2

Sie sollten eine Statusmeldung wie diese sehen: Active: active (running).


3. Verzeichnis für Ihre Website erstellen

Erstellen Sie ein Verzeichnis zum Speichern Ihrer Website-Dateien. In diesem Beispiel erstellen wir ein Verzeichnis mit dem Namen mywebsite:

sudo mkdir -p /var/www/mywebsite


4. Berechtigungen festlegen

Legen Sie die korrekte Eigentümerschaft und die korrekten Berechtigungen fest, damit Apache auf die Website-Dateien zugreifen kann:

sudo chown -R www-data:www-data /var/www/mywebsite
sudo chmod -R 755 /var/www/mywebsite

5. Beispiel-HTML-Datei erstellen

Fügen Sie eine einfache index.html-Datei hinzu, die als Startseite Ihrer Website dient:

sudo tee /var/www/mywebsite/index.html > /dev/null << EOF
<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h1>Welcome to My Website</h1>
</body>
</html>
EOF

Dadurch wird eine einfache Seite erstellt, auf der steht: “Welcome to My Website”.


6. Virtuellen Host konfigurieren

Um Ihre benutzerdefinierte Website bereitzustellen, erstellen Sie eine neue Virtual-Host-Konfigurationsdatei für Apache:

sudo nano /etc/apache2/sites-available/mywebsite.conf

Fügen Sie den folgenden Inhalt in die Datei ein:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/mywebsite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Speichern Sie die Datei und verlassen Sie sie, indem Sie Ctrl+O drücken und dann Ctrl+X drücken.


7. Ihre Website aktivieren

Aktivieren Sie die neue Virtual-Host-Konfiguration:

sudo a2ensite mywebsite.conf

Deaktivieren Sie die Standard-Site-Konfiguration von Apache, um sicherzustellen, dass Ihre Website bereitgestellt wird:

sudo a2dissite 000-default.conf

Laden Sie Apache neu, um die Änderungen zu übernehmen:

sudo systemctl reload apache2


8. Konnektivität testen

Prüfen Sie, ob Ihre Website funktioniert, indem Sie Folgendes ausführen:

curl http://localhost

Sie sollten den HTML-Inhalt Ihrer benutzerdefinierten index.html-Datei sehen:

<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h1>Welcome to My Website</h1>
</body>
</html>

Alternativ können Sie einen Browser öffnen und zu http://<your-server-ip> navigieren, um Ihre Website anzuzeigen.


Fehlerbehebung

Wenn Sie weiterhin die Standard-Apache-Seite sehen oder Probleme auftreten:

  • Stellen Sie sicher, dass Ihre Site aktiviert ist
    Überprüfen Sie, ob Ihre Konfiguration aktiv ist:
ls /etc/apache2/sites-enabled/ 
  • Sie sollten mywebsite.conf sehen. Falls nicht, aktivieren Sie sie mit:
sudo a2ensite mywebsite.conf
  • Apache-Protokolle prüfen
    Suchen Sie in den Protokollen nach Fehlern:
sudo tail -f /var/log/apache2/error.log
  • Apache neu starten
    Wenn das Problem weiterhin besteht, starten Sie Apache neu:
sudo systemctl restart apache2

Fazit

Die Beherrschung der Linux-Befehlszeile ist für eine effektive Ubuntu-Server-Administration unerlässlich. Indem Sie diese Befehle lernen und üben, gewinnen Sie Sicherheit bei der Verwaltung Ihrer Serverumgebung, der Fehlerbehebung und der effizienten Ausführung administrativer Aufgaben.

Nächste Schritte: Benutzer und Berechtigungen verwalten

Sobald Sie mit den Grundlagen der Befehlszeilenadministration vertraut sind, ist der nächste wichtige Schritt in der Serververwaltung das Verständnis von Benutzern, Gruppen und Berechtigungen. Die ordnungsgemäße Verwaltung von Benutzerkonten und Zugriffskontrollen ist unerlässlich, um die Sicherheit zu wahren und sicherzustellen, dass nur autorisierte Personen auf vertrauliche Dateien und Ressourcen auf Ihrem Server zugreifen oder diese ändern können.

Im nächsten Artikel, „Benutzer und Berechtigungen verwalten“, behandeln wir:

  • So erstellen, ändern und löschen Sie Benutzerkonten.
  • Gruppen für eine effiziente Zugriffskontrolle verwalten.
  • Datei- und Verzeichnisberechtigungen verstehen (lesen, schreiben, ausführen).
  • Erweiterte Tools wie sudo zur Rechteerweiterung verwenden.
  • Bewährte Verfahren zur Sicherung von Benutzerkonten unter Ubuntu Server.

Bleiben Sie dran für umsetzbare Erkenntnisse zur Verbesserung Ihrer Sicherheits- und Zugriffsverwaltung!

14 thoughts on “03.Mastering the Linux Command Line for Ubuntu Server”

Kommentar hinterlassen