Suche…


Hallo Welt

Geben Sie den folgenden Code in Ihr Terminal ein und drücken Sie die Eingabetaste :

echo "Hello World"

Dies wird die folgende Ausgabe erzeugen:

Hello World

Dateibearbeitung

Dateien und Verzeichnisse (ein anderer Name für Ordner) sind das Herzstück von Linux. Daher ist das Erstellen, Anzeigen, Verschieben und Löschen über die Befehlszeile sehr wichtig und sehr leistungsfähig. Mit diesen Dateibearbeitungsbefehlen können Sie dieselben Aufgaben ausführen, die ein grafischer Dateiexplorer ausführen würde.

Erstellen Sie eine leere Textdatei mit dem Namen myFile :

touch myFile

myFile myFirstFile myFile in myFirstFile :

mv myFile myFirstFile 

Anzeigen des Inhalts einer Datei:

cat myFirstFile

Anzeigen des Inhalts einer Datei mit Pager (jeweils eine Bildschirmseite):

less myFirstFile

Sehen Sie sich die ersten Zeilen einer Datei an:

head myFirstFile

Sehen Sie sich die letzten Zeilen einer Datei an:

tail myFirstFile

Bearbeiten Sie eine Datei:

vi myFirstFile

Sehen Sie, welche Dateien sich in Ihrem aktuellen Arbeitsverzeichnis befinden:

ls

Erstellen Sie ein leeres Verzeichnis namens myFirstDirectory :

mkdir myFirstDirectory

Mehrpfadverzeichnis erstellen: (erstellt zwei Verzeichnisse, src und myFirstDirectory)

mkdir -p src/myFirstDirectory

Verschieben Sie die Datei in das Verzeichnis:

mv myFirstFile myFirstDirectory/

Sie können die Datei auch umbenennen:

user@linux-computer:~$ mv myFirstFile secondFileName

Ändern Sie das aktuelle Arbeitsverzeichnis in myFirstDirectory :

cd myFirstDirectory

Eine Datei löschen:

rm myFirstFile

Wechseln Sie in das übergeordnete Verzeichnis (das als .. ):

cd ..

Löschen Sie ein leeres Verzeichnis:

rmdir myFirstDirectory

Löschen Sie ein nicht leeres Verzeichnis (dh enthält Dateien und / oder andere Verzeichnisse):

rm -rf myFirstDirectory

Beachten Sie, dass Sie beim Löschen von Verzeichnissen das. ./ Not / löschen, das Ihr gesamtes Dateisystem löscht.

Datei- / Verzeichnisdetails

Der Befehl ls hat mehrere Optionen, die zusammen verwendet werden können, um weitere Informationen anzuzeigen.

Details / Rechte

Die Option l zeigt die Dateiberechtigungen, die Größe und das Datum der letzten Änderung an. Wenn das Stammverzeichnis also ein Verzeichnis mit dem Namen test und eine Datei someFile enthält, someFile der Befehl:

user@linux-computer:~$ ls -l

Würde so etwas ausgeben

-rw-r--r-- 1 user users   70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4096 Jul 21 07:18 test

Die Berechtigungen haben das Format von drwxrwxrwx . Das erste Zeichen steht für den Dateityp d wenn es sich um ein Verzeichnis handelt - ansonsten. Die nächsten drei rwx sind die Berechtigungen, die der Benutzer über die Datei hat, die nächsten drei sind die Berechtigungen, die die Gruppe über die Datei hat, und die letzten drei sind die Berechtigungen, die jeder andere Benutzer über die Datei hat.

Das r von rwx steht dafür, ob eine Datei gelesen werden kann, das w steht für die Änderung der Datei und das x für die Ausführung der Datei. Falls eine Genehmigung nicht erteilt wird ein - wird anstelle von seiner r , w oder x .

Von oben aus kann der user someFile.txt lesen und ändern, aber die Gruppe hat nur someFile.txt .

Um die Rechte zu ändern, können Sie den Befehl chmod ### fileName wenn Sie über Sudo-Rechte verfügen. r wird durch einen Wert von 4 dargestellt, w wird durch 2 dargestellt, und x wird durch eine 1 dargestellt. Wenn Sie also nur den Inhalt des test ändern möchten

Owner rwx = 4+2+1 = 7
Group r-x = 4+0+1 = 5
Other r-x = 4+0+1 = 5

Der ganze Befehl ist also

chmod 755 test

ls -l nun ein ls -l würde das ungefähr so ​​aussehen

drwxr-xr-x 2 user users 4096 Jul 21 07:20 test

Lesbare Größe

In Verbindung mit der Option l zeigt die Option h Benutzer lesbaren Dateigrößen. Laufen

user@linux-computer:~$ ls -lh

Würde ausgeben:

total 4166
-rw-r--r-- 1 user users   70 Jul 22 13:36 someFile.txt
drwxrwxrwx 2 user users 4.0K Jul 21 07:18 test

Versteckt

Um zu sehen , versteckte Dateien , die verwenden a Option. Zum Beispiel

user@linux-computer:~$ ls -a

Könnte auflisten

.profile
someFile.txt
test

Gesamtverzeichnisgröße

Um die Größe des aktuellen Verzeichnisses anzuzeigen, verwenden Sie die Option s (die Option h kann auch verwendet werden, um die Größe lesbarer zu machen).

user@linux-computer:~$ ls -s

Ausgänge

total 4166
someFile.txt      test

Rekursive Ansicht

Sagen wir test hatte eine Datei anotherFile und man wollte es aus dem Stammordner , um zu sehen, könnten Sie die verwenden R - Option , die die rekursive Baumliste würde.

user@linux-computer:~$ ls -R

Ausgänge

.:
someFile.txt    test

./test:
anotherFile

Grundlegende Linux-Dienstprogramme

Linux hat einen Befehl für fast alle Aufgaben und die meisten von ihnen sind intuitiv und leicht zu interpretieren.

Hilfe in Linux erhalten

Befehl Verwendbarkeit
man <name> Lesen Sie die Handbuchseite von <Name>.
man <section> <name> Lesen Sie die Handbuchseite von <Name>, die sich auf den angegebenen Abschnitt bezieht.
man -k <editor> Alle Software ausgeben, deren Manpages das Schlüsselwort <editor> enthalten.
man -K <keyword> Gibt alle Manpages aus, die <keyword> enthalten.
apropos <editor> Output alle Anwendungen , deren eine Zeile Beschreibung stimmt mit dem Wort - Editor. Wenn Sie den Namen der Anwendung nicht abrufen können, verwenden Sie diesen Befehl.
help In der Bash-Shell zeigt dies die Liste aller verfügbaren Bash-Befehle an.
help <name> In der Bash-Shell werden hier die Informationen zum Bash-Befehl <Name> angezeigt.
info <name> Alle Informationen zu <Name> anzeigen.
dpkg -l Eine Liste aller installierten Pakete auf einem Debian-basierten System ausgeben.
dpkg -L packageName Listet die installierten Dateien und Pfadangaben für ein bestimmtes Paket unter Debian auf.
dpkg -l | grep -i <edit> Geben Sie alle installierten .deb-Pakete unabhängig von den Fällen mit <edit> zurück.
less /var/lib/dpkg/available Beschreibungen aller verfügbaren Pakete zurückgeben.
whatis vim Listen Sie eine einzeilige Beschreibung von vim auf.
<command-name> --help Zeigt Informationen zur Verwendung des <Werkzeugnamens> an. Manchmal funktioniert auch command -h , aber nicht für alle Befehle.

Benutzeridentifikation und wer ist wer in der Linux-Welt

Befehl Verwendbarkeit
hostname Zeigt den Hostnamen des Systems an.
hostname -f Zeigt den vollständig qualifizierten Domänennamen (FQDN) des Systems an.
passwd Passwort des aktuellen Benutzers ändern.
whoami Benutzername der am Terminal angemeldeten Benutzer.
who Liste aller Benutzer, die aktuell als Benutzer angemeldet sind.
w Aktuellen Systemstatus, Zeit, Dauer, Liste der aktuell im System angemeldeten Benutzer und andere Benutzerinformationen anzeigen.
last Wer hat das System kürzlich genutzt?
last root Wann war root das letzte Mal als Benutzer angemeldet?
lastb Zeigt alle fehlerhaften Anmeldeversuche im System an.
chmod Berechtigungen ändern - Lesen, Schreiben, Ausführen einer Datei oder eines Verzeichnisses.

Prozessbezogene Informationen

Befehl Verwendbarkeit
top Listen Sie alle Prozesse nach ihrer aktuellen Nutzung der Systemressourcen auf. Zeigt eine ständig aktualisierte Anzeige von Prozessen an (Standardeinstellung 3 Sekunden). Benutzen Sie die q Taste, um den oberen Bereich zu verlassen.
ps Listet Prozesse auf, die aktuell in der aktuellen Shell-Sitzung ausgeführt werden
ps -u root Listen Sie alle Prozesse und Befehle auf, die root ausgeführt wird
ps aux Alle Prozesse aller Benutzer des aktuellen Systems auflisten

Dateiverwaltungsbefehle

Linux verwendet einige Konventionen für vorhandene und übergeordnete Verzeichnisse. Dies kann für Anfänger etwas verwirrend sein.

Wenn Sie sich unter Linux in einem Terminal befinden, befinden Sie sich in dem sogenannten Arbeitsverzeichnis . Oft zeigt Ihre Eingabeaufforderung entweder das vollständige Arbeitsverzeichnis oder nur den letzten Teil dieses Verzeichnisses an. Ihre Eingabeaufforderung könnte wie folgt aussehen:

user@host ~/somedir $
user@host somedir $
user@host /home/user/somedir $

Das besagt, dass Ihr aktuelles Arbeitsverzeichnis /home/user/somedir .

In Linux steht .. für das übergeordnete Verzeichnis und . repräsentiert das aktuelle Verzeichnis.

Wenn das aktuelle Verzeichnis /home/user/somedir , cd ../somedir das Arbeitsverzeichnis daher nicht.

In der folgenden Tabelle sind einige der am häufigsten verwendeten Dateiverwaltungsbefehle aufgeführt

Verzeichnisnavigation

Befehl Nützlichkeit
pwd Rufen Sie den vollständigen Pfad des aktuellen Arbeitsverzeichnisses ab.
cd - Navigieren Sie zum letzten Verzeichnis, in dem Sie gearbeitet haben.
cd ~ oder nur cd Navigieren Sie zum Heimatverzeichnis des aktuellen Benutzers.
cd .. Wechseln Sie in das übergeordnete Verzeichnis des aktuellen Verzeichnisses (beachten Sie den Abstand zwischen cd und .. )

Dateien in einem Verzeichnis auflisten

Befehl Nützlichkeit
ls -l Listen Sie die Dateien und Verzeichnisse im aktuellen Verzeichnis im langen Format (Tabelle) auf (Es wird empfohlen, -l mit ls zu verwenden, um die Lesbarkeit zu verbessern).
ls -ld dir-name Liste Informationen über das Verzeichnis dir-name anstelle seines Inhalts.
ls -a Listen Sie alle Dateien auf, einschließlich der versteckten (Dateinamen, die mit einem . Beginnen, sind versteckte Dateien in Linux).
ls -F Hängt ein Symbol am Ende eines Dateinamens an, um den Typ anzugeben ( * bedeutet ausführbar, / bedeutet Verzeichnis, @ bedeutet symbolischer Link, = bedeutet Socket, | bedeutet named pipe, > bedeutet Tür).
ls -lt Listen Sie die Dateien nach der zuletzt geänderten Zeit sortiert auf, wobei die zuletzt geänderten Dateien oben angezeigt werden (Die Option -l ermöglicht die Verwendung des langen Formats, das die Lesbarkeit verbessert).
ls -lh Listen Sie die Dateigrößen in einem für Menschen lesbaren Format auf.
ls -lR Zeigt alle Unterverzeichnisse rekursiv an.
tree Erzeugt eine Baumdarstellung des Dateisystems ab dem aktuellen Verzeichnis.

Datei / Verzeichnis erstellen, kopieren und entfernen

Befehl Nützlichkeit
cp -p source destination Kopiert die Datei von der source zum Ziel . -p steht für die Erhaltung. Die ursprünglichen Attribute der Datei werden beim Kopieren wie Eigentümer, Zeitstempel, Gruppe, Berechtigungen usw. beibehalten.
cp -R source_dir destination_dir Kopiert das Quellverzeichnis rekursiv an das angegebene Ziel.
mv file1 file2 In Linux gibt es keinen Umbenennungsbefehl . Daher verschiebt / benennt mv die Datei1 in Datei2.
rm -i filename Bittet Sie vor jeder Dateientfernung um Bestätigung. Wenn Sie ein neuer Benutzer der LINUX COMMAND LINE sind, sollten Sie immer rm -i . Sie können mehrere Dateien angeben.
rm -R dir-name Wird das Verzeichnis entfernen dir-name rekursiv.
rm -rf dir-name Wird entfernen Sie das Verzeichnis dir rekursiv, ignoriert nicht vorhandene Dateien und wird nie für irgendetwas veranlassen . VORSICHTIGER VERWENDUNG DIESES BEFEHLS! Sie können mehrere Verzeichnisse angeben.
rmdir dir-name Wird das Verzeichnis entfernen dir-name , wenn es leer ist. Dieser Befehl kann nur leere Verzeichnisse entfernen.
mkdir dir-name Erstellen Sie ein Verzeichnis dir-name .
mkdir -p dir-name/dir-name Erstellen Sie eine Verzeichnishierarchie. Erstellen Sie nach Bedarf übergeordnete Verzeichnisse, falls diese nicht vorhanden sind. Sie können mehrere Verzeichnisse angeben.
touch filename Erstellen Sie einen filename , falls dieser nicht vorhanden ist. Andernfalls ändern Sie den Zeitstempel der Datei auf den aktuellen Zeitpunkt.

Datei- / Verzeichnisberechtigungen und Gruppen

Befehl Nützlichkeit
chmod <specification> filename Ändern Sie die Dateiberechtigungen. Spezifikationen = u Benutzer, g Gruppe, o andere, + Berechtigung hinzufügen, - entfernen, r lesen, w schreiben, x ausführen.
chmod -R <specification> dir-name Ändern Sie die Berechtigungen eines Verzeichnisses rekursiv. Verwenden Sie diesen Befehl, um die Berechtigung eines Verzeichnisses und aller Elemente in diesem Verzeichnis zu ändern.
chmod go=+r myfile Fügen Sie Leseberechtigung für den Eigentümer und die Gruppe hinzu.
chmod a +rwx myfile Erlauben Sie allen Benutzern, myfile zu lesen, zu schreiben oder auszuführen.
chmod go -r myfile Entfernen Sie die Leseberechtigung von der Gruppe und anderen.
chown owner1 filename Ändern Sie den Besitz einer Datei in user owner1 .
chgrp grp_owner filename Ändern Sie den primären Gruppeninhalt der Datei filename in Gruppe grp_owner .
chgrp -R grp_owner dir-name Ändern Sie primäre Gruppenzugehörigkeit des Verzeichnisses dir-name zu einer Gruppe grp_owner rekursiv. Verwenden Sie diesen Befehl, um den Gruppeneigentum eines Verzeichnisses und aller Elemente in diesem Verzeichnis zu ändern.

Nützliche Verknüpfungen

Das Terminal verwenden

Bei den Beispielen in diesem Dokument wird davon ausgegangen, dass Sie eine POSIX-kompatible Shell (z. B. bash , sh , zsh , ksh ) verwenden.

Große Teile der GNU / Linux-Funktionalität werden mit dem Terminal erzielt. Die meisten Linux-Distributionen enthalten Terminalemulatoren, mit denen Benutzer mit einer Shell von ihrer Desktop-Umgebung aus interagieren können. Eine Shell ist ein Befehlszeileninterpreter, der vom Benutzer eingegebene Befehle ausführt. Bash (Bourne Again SHell) ist eine übliche Standardshell unter vielen Linux-Distributionen und die Standardshell für macOS.

Diese Verknüpfungen funktionieren, wenn Sie Bash mit den Emacs- Tastenkombinationen verwenden (standardmäßig eingestellt):

Terminal öffnen

  • Strg + Alt + T oder Super + T

Cursorbewegung

  • Strg + A Geht zum Anfang der Zeile, in der Sie gerade schreiben.
  • Strg + E Geht zum Ende der Zeile, in der Sie gerade schreiben.
  • Strg + XX Zwischen dem Zeilenanfang und der aktuellen Position des Cursors wechseln.
  • Alt + F Bewegt den Cursor ein Wort in der aktuellen Zeile vor.
  • Alt + B Bewegt den Cursor ein Wort in der aktuellen Zeile zurück.
  • Strg + F Bewegt den Cursor in der aktuellen Zeile um ein Zeichen vorwärts.
  • Strg + B Bewegt den Cursor ein Zeichen in der aktuellen Zeile zurück.

Textmanipulation

  • Strg + U Schneidet die Linie von der aktuellen Position bis zum Anfang der Zeile aus und fügt sie der Zwischenablage hinzu. Wenn Sie sich am Ende der Zeile befinden, schneiden Sie die gesamte Zeile ab.
  • Strg + K Schneidet die Linie von der aktuellen Position bis zum Ende der Linie aus und fügt sie der Zwischenablage hinzu. Wenn Sie sich am Anfang der Zeile befinden, schneiden Sie die gesamte Zeile aus.
  • Strg + W Löscht das Wort vor dem Cursor und fügt es der Zwischenablage hinzu.
  • Strg + Y Fügen Sie das letzte aus der Zwischenablage zuletzt ausgeschnittene Objekt ein (machen Sie den letzten Löschvorgang an der aktuellen Cursorposition rückgängig).
  • Alt + T Tausche die letzten beiden Wörter vor dem Cursor aus.
  • Alt + L Kleinbuchstaben vom Cursor bis zum Wortende verwenden.
  • Alt + U Großbuchstaben vom Cursor bis zum Wortende verwenden.
  • Alt + C Groß- / Kleinschreibung bis zum Wortende beginnend am Cursor (ganzes Wort, wenn sich der Cursor am Wortanfang befindet).
  • Alt + D Löscht bis zum Wortende, beginnend am Cursor (ganzes Wort, wenn sich der Cursor am Wortanfang befindet).
  • Alt +. Gibt das letzte Wort aus, das im vorherigen Befehl geschrieben wurde.
  • Strg + T Tausche die letzten beiden Zeichen vor dem Cursor.

Verlaufszugriff

  • Strg + R Ermöglicht das Durchsuchen zuvor verwendeter Befehle.
  • Strg + G Verlässt den Verlaufssuchmodus, ohne einen Befehl auszuführen.
  • Strg + J Ermöglicht Ihnen, den aktuell übereinstimmenden Befehl in die Befehlszeile zu kopieren, ohne ihn auszuführen, sodass Sie vor dem Ausführen des Befehls Änderungen vornehmen können.
  • Alt + R Alle Änderungen an einem Befehl, den Sie aus Ihrem Verlauf gezogen haben, werden wiederhergestellt, wenn Sie ihn bearbeitet haben.
  • Strg + P Zeigt den zuletzt ausgeführten Befehl an, dh durch den Befehlsverlauf zurückgehen (Ähnlich wie der Aufwärtspfeil).
  • Strg + N Zeigt den nächsten ausgeführten Befehl an, dh vorwärts durch den Befehlsverlauf (ähnlicher Pfeil wie der Pfeil nach unten).

Terminalsteuerung

  • Strg + L Löscht den Bildschirm, ähnlich dem Befehl zum Löschen.
  • Strg + S Stoppt alle Ausgaben auf dem Bildschirm. Dies ist nützlich, wenn Befehle mit vielen langen Ausgaben ausgeführt werden. Der laufende Befehl wird dadurch jedoch nicht angehalten.
  • Strg + Q Setzen Sie die Ausgabe auf dem Bildschirm fort, nachdem Sie sie mit Strg + S angehalten haben.
  • Strg + C Beendet den aktuell laufenden Prozess und gibt die Eingabeaufforderung zurück.
  • Strg + D Melden Sie sich von der aktuellen Shell-Sitzung ab, ähnlich wie der Befehl exit oder logout. Dient in einigen Befehlen als Signal für das Dateiende, um anzuzeigen, dass ein Dateiende erreicht wurde.
  • Strg + Z Unterbricht (Pause) den aktuell ausgeführten Vordergrundprozess, wodurch die Shell-Eingabeaufforderung zurückgegeben wird. Sie können dann den Befehl bg damit dieser Prozess im Hintergrund ausgeführt werden kann. Um diesen Prozess wieder in den Vordergrund zu bringen, verwenden Sie den Befehl fg . Verwenden Sie den Befehl jobs , um alle Hintergrundprozesse anzuzeigen.
  • Registerkarte Autovervollständigen Dateien und Verzeichnisnamen.
  • Tab Tab Zeigt alle Möglichkeiten, wenn eingegebene Zeichen nicht eindeutig mit einem Datei- oder Verzeichnisnamen übereinstimmen.

Spezielle Charaktere

  • Strg + H Entspricht der Rücktaste.
  • Strg + J Wie Rückgabe (historisch Zeilenvorschub).
  • Strg + M Entspricht der Rückgabe (historisch Wagenrücklauf).
  • Strg + I Wie Tab.
  • Strg + G Klingelzeichen.
  • Strg + @ Nullzeichen.
  • Esc Deadkey entspricht dem Alt- Modifizierer.

Terminal schließen

  • Strg + Umschalt + W Um die Registerkarte "Terminal" zu schließen.
  • Strg + Umschalt + Q Um das gesamte Terminal zu schließen.

Alternativ können Sie mit set -o vi zu den vi- Tastenkombinationen in bash wechseln. Verwenden Sie set -o emacs , um zurück zu den emacs- Tastenkombinationen zu wechseln.

Suchen nach Dateien anhand von Mustern in Name / Inhalt

Eine häufige Aufgabe eines Benutzers, der die Linux-Befehlszeile (Shell) verwendet, ist die Suche nach Dateien / Verzeichnissen mit einem bestimmten Namen oder mit einem bestimmten Text. Es gibt zwei Befehle, mit denen Sie sich vertraut machen sollten, um dies zu erreichen:


Dateien nach Namen suchen

find /var/www -name '*.css'

Dadurch wird der vollständige Pfad / Dateiname für alle Dateien unter /var/www , die auf .css enden. Beispielausgabe:

/var/www/html/text-cursor.css
/var/www/html/style.css

Für mehr Information:

man find

Finden Sie Dateien, die Text enthalten

grep font /var/www/html/style.css 

Dadurch werden alle Zeilen drucken Sie das Muster enthält font in der angegebenen Datei. Beispielausgabe:

font-weight: bold;
font-family: monospace;

Ein anderes Beispiel:

grep font /var/www/html/

Das funktioniert nicht so, wie Sie gehofft haben. Du kriegst:

grep: /var/www/html/: Is a directory

Sie müssen rekursiv grep machen, damit es funktioniert, indem Sie die Option -R :

grep -R font /var/www/html/

Hey schön! Schauen Sie sich die Ausgabe von diesem an:

/var/www/html/admin/index.php:  echo '<font color=red><b>Error: no dice</b></font><br/>';
/var/www/html/admin/index.php:  echo '<font color=red><b>Error: try again</b></font><br/>';
/var/www/html/style.css:  font-weight: bold;
/var/www/html/style.css:  font-family: monospace;

Beachten Sie, dass wenn grep mit mehreren Dateien übereinstimmt, den übereinstimmenden Zeilen die Dateinamen vorangestellt werden. Sie können die Option -h , um das zu löschen, wenn Sie möchten.

Für mehr Information:

man grep


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow