[Muss für Anfänger] Grundlagen von Linux

Inhalt dieses Artikels und Zielgruppe

In diesem Artikel werde ich das Grundwissen für diejenigen schreiben, die mit dem Programmieren unter Linux beginnen, um andere Artikel im Internet zu sehen und mit dem Selbstlernen fortzufahren. Schreiben Sie unter der Annahme, dass Sie die Grundkenntnisse von Computern kennen. Für diejenigen, die mit der Befehlszeile nicht vertraut sind, finden Sie hier eine Anleitung, an die Sie sich erinnern können, damit Sie keine Probleme beim Suchen im Internet haben.

Umgebung

Ubuntu 18.04.5 LTS

Vorsichtsmaßnahmen für den Umweltbau

Es ist der Umgebungsbau der ersten Barriere. Viele Anfänger stolpern. Grundsätzlich erstellen wir eine Umgebung, die mit Dual Boot beginnt. "Ubuntu" wird als Betriebssystem beim Erstellen einer Linux-Umgebung empfohlen. Beim Erstellen einer Umgebung wird empfohlen, diese direkt auf der SSD zu installieren, ohne eine virtuelle Umgebung wie Virtualbox zu verwenden. Das liegt daran, dass Sie von den Problemen dieser virtuellen Umgebung gestört werden. Bitte tun Sie es, nachdem Sie sich ein wenig daran gewöhnt haben. Die Lenovo Thinkpad-Serie und die Zenbook-Serie von ASUS werden als Hardware-Umgebungen empfohlen. (Kommentar, wenn es einen anderen PC gibt, der problemlos funktioniert.) Einplatinencomputer wie Jetson und Raspberry pi leiden unter einzigartigen Umweltproblemen, die sich von Ubuntu unterscheiden, und verbrauchen Zeit. Studieren Sie daher Grundkenntnisse Wenn Sie einen normalen PC verwenden möchten.

Grundkenntnisse in Linux

Was ist Linux?

Unix ist ein altes Betriebssystem, und viele seiner Nachkommen werden noch heute verwendet. Linux ist derzeit das am häufigsten verwendete Unix-basierte Betriebssystem, das auf dem Unix-Kernel basiert. MacOS ist übrigens auch eine direkte Unix-Leitung, sodass Sie Unix-Befehle unverändert verwenden können.

Linux-Distribution

・ Ubuntu ... Ein beliebtes Betriebssystem für Studenten und die breite Öffentlichkeit. Es ist möglich, auch an einer Maschine mit niedrigen Spezifikationen leicht zu arbeiten. Dieser Artikel setzt diese Verteilungsumgebung voraus. ・ Redhat Enterprise ... Linux für Unternehmen ・ Debian ... Für diejenigen, die unabhängig voneinander mit verschiedenen Dingen spielen möchten ・ Neuwertig ... für machtlose Computer

Befehlszeilenschnittstelle (CLI)

verdienen

・ Eine genaue und detaillierte Bedienung ist möglich ・ Einfache Automatisierung von Vorgängen · Weniger Aufwand

Fehler

・ Die Aussage muss auswendig gelernt werden ・ Das Meistern dauert einige Zeit

Die Befehlszeile kann zunächst entmutigend wirken, aber sobald Sie sich daran gewöhnt haben, können Sie um ein Vielfaches schneller arbeiten als mit einer Maus.

Wo soll der Befehl eingegeben werden?

Geben Sie den Befehl in das Terminal ein und führen Sie ihn mit der "Eingabetaste" aus. Terminal durch Drücken der Tasten "Strg" + "Alt" + "T" Sie können es starten. Dann erscheint ein Bildschirm wie dieser. Geben Sie den Befehl nach dem $ ein. Screenshot from 2020-09-26 11-51-54_LI.jpg

Tastenkürzel

Die Tastenkombinationen zum Bedienen des Terminals lauten wie folgt.

Schlüssel Erläuterung
「ctrl」+「c」 Beenden Sie den aktuellen Befehl
「ctrl」+「a」 Gehen Sie zum Anfang des Eingabezeichens
「ctrl」+「e」 Gehen Sie zum Ende des Eingabezeichens
「ctrl」+「u」 Löschen Sie das Zeichen vor dem Cursorteil
ctrl」+「k」 Löschen Sie die Zeichen nach dem Cursorteil
「ctrl」+「z」 Aktuellen Befehl anhalten
!! Führen Sie den zuletzt ausgeführten Befehl aus

Linux-Verzeichnisstruktur

Die Verzeichnisstruktur von Linux ist wie folgt. Oben befindet sich das Stammverzeichnis und darunter befinden sich separate Verzeichnisse für verschiedene Rollen. Das erste, was Sie beim Booten von Linux sehen, ist / home. Die Arbeit des Benutzers erfolgt grundsätzlich in / home.

/(Wurzelverzeichnis) ** / bin ** Grundbefehle und allgemeine Arbeitsbefehle werden gespeichert. ** / sbin ** Enthält Befehle, die nur vom Systemadministrator ausgeführt werden können. ** / boot ** Enthält Dateien, die zum Booten erforderlich sind. ** / etc ** Die Programmeinstellungsdatei wird gespeichert. ** / home ** Dies ist das Home-Verzeichnis des Benutzers. ** / lib ** Eine gemeinsam genutzte Bibliothek für Programme. ** / mnt ** Dies ist ein Verzeichnis, das vorübergehend angeschlossen werden kann, wenn allgemeine Wechselmedien (USB-Speicher, SD-Karte) angeschlossen werden. ** / opt ** Es gibt zusätzliche Anwendungen. ** / root ** Dies ist das Ausgangsverzeichnis für root. ** / srv ** Ich habe Daten für Dienste wie HTTP / FTP. ** / usr ** Das vom Benutzer freigegebene Programm wird gespeichert. ** / tmp ** Speichert Dateien zur vorübergehenden Verwendung. Es verschwindet beim Neustart. ** / dev ** Enthält Gerätedateien. ** / proc ** Zeigt den Status wie Prozessinformationen an.

Spezieller Verzeichnisname

Name Funktion
. Aktuelles Verzeichnis(Aktuelles Verzeichnis)Zeigen auf
.. Zeigen Sie auf das Verzeichnis über dem aktuellen Verzeichnis
/ Das erste Zeichen zeigt auf das Stammverzeichnis
~ Zeigen Sie auf das Ausgangsverzeichnis

Spezieller Dateiname

Wenn Sie ".file name" verwenden, ist die Datei normalerweise nicht sichtbar. Dies ist beispielsweise die Konfigurationsdatei ".bashrc", die beim Starten des Terminals geladen wird.

bash bash ist die grundlegendste und bekannteste CUI unter Linux. Es gibt auch tcsh und zsh. bash kann auch als Programmiersprache verwendet werden. Es kann bei der Automatisierung von Vorgängen verwendet werden.

grundlegende Bash-Befehle

Wenn Sie im Internet suchen, wird eine Liste mit Befehlen angezeigt. Es ist jedoch schwierig herauszufinden, welche Befehle priorisiert und gespeichert werden müssen. Zunächst sollten Sie sich an die folgenden drei Dinge erinnern. Lassen Sie uns das Terminal eingeben und es versuchen. Nach dem Befehl steht übrigens ein Leerzeichen. cd(change directory) Dieser Befehl wird aus dem aktuellen Verzeichnis verschoben.

Befehl Bewegung
cd Gehen Sie zu Ihrem Home-Verzeichnis
cd .. Wechseln Sie zum nächsthöheren Ordner
cd hoge Wechseln Sie in einen Ordner namens hoge unter dem aktuellen Verzeichnis
cd /hoge Wechseln Sie in einen Ordner namens hoge im Stammverzeichnis
cd ~/hoge Gehen Sie zu hoge unter Ihrem Home-Ordner

ls(list) Zeigen Sie den Inhalt des Verzeichnisses an.

Befehl Bewegung
ls Alle Dateien und Ordner im aktuellen Verzeichnis anzeigen
ls -l Zeigen Sie verschiedene Informationen zusammen an
ls -F Für Ordner "/, Wenn es sich um eine ausführbare Datei handelt, "*Wird am Ende hinzugefügt und angezeigt
ls -a Anzeige einschließlich versteckter Dateien

echo Dieser Befehl zeigt Zeichen auf dem Bildschirm an. Wenn Sie "Echo Hoge" eingeben, wird ** Hoge ** im Terminal angezeigt.

Beachten Sie, dass bei Befehlen zwischen Groß- und Kleinschreibung unterschieden wird, sodass Sie nicht "Ls" anstelle von "ls" verwenden können.

Ordner- / Dateibetriebsbefehl

Nachdem Sie die grundlegenden Befehle erhalten haben, lernen wir, wie Sie mit Dateien und Ordnern arbeiten. mkdir ** Ein Befehl zum Erstellen eines Ordners. ** Es gibt zwei Methoden: Die eine besteht darin, den Pfad anzugeben und die andere im aktuellen Verzeichnis zu erstellen.

Erstellen Sie einen Huga-Ordner in einem Ordner namens hoge.

mkdir hoge/huga

Im Folgenden wird beschrieben, wie Sie es im aktuellen Verzeichnis erstellen.

mkdir hoge

touch ** Erstellt eine Datei mit dem angegebenen Namen, wenn die Datei nicht vorhanden ist. ** Wenn es bereits vorhanden ist, werden das Erstellungsdatum und die Erstellungszeit aktualisiert. Erstellen Sie eine Datei mit dem Namen "Datei" mit "Touch-Datei". rm Dieser Befehl löscht eine Datei. Wenn Sie den Verzeichnisnamen mit der Option "-r" angeben, wird der Ordner mit dem Inhalt des Ordners gelöscht.

rm -r hoge

cp Dies ist der zu kopierende Befehl.

Kopieren Sie die Datei A in das Verzeichnis B.

cp A B

mv Es hat zwei Funktionen: Umbenennen von Dateien und Verschieben von Dateien.

Benennen Sie die Datei A in B um.

mv A B

Verschieben Sie die Datei A in den Ordner hoge. Sie können mehrere zu verschiebende Dateien angeben.

mv A hoge

cat  Wenn Sie nach diesem Befehl einen Dateinamen angeben, wird der Inhalt der Datei angezeigt.

Filterbefehl

Verwenden Sie diese Option, wenn Sie nach Dateien oder Verzeichnissen suchen oder eingrenzen möchten. grep ** Extrahieren Sie die Zeile mit dem angegebenen Zeichen ** Befehl. Wird bei der Suche nach einem Dateinamen verwendet. Ich denke, es ist der am häufigsten verwendete Befehl. Es wird oft in Kombination mit einem Rohr verwendet. file Dieser Befehl überprüft den Dateityp. wc Dieser Befehl zählt die Anzahl der Zeichen und Zeilen in einem Satz.

Zählt die Anzahl der Zeilen in einer Datei namens hoge.

wc -l hoge

Zählt die Anzahl der Zeichen in einer Datei namens hoge.

wc -m hoge

tr Ersetzt das angegebene Zeichen und die Ausgaben.

Befehl zum Dekomprimieren komprimierter Dateien

Entpacken Sie die Zip-Datei

unzip xxx.zip

Entpacken Sie die Datei tar.gz.

tar -zxvf xxxx.tar.gz

Entpacken Sie die TAR-Datei

tar -xvf xxxx.tar

Administratorrechte gewähren

Stellen Sie dem Befehl "sudo" voran, um Administratorrechte zu erteilen. Es wird verwendet, wenn Dateien verarbeitet werden, die ohne Administratorrechte nicht bearbeitet werden können.

Paketinstallation und Update

Unter Linux können Sie das Paket mit dem Befehl apt install installieren. apt ist ein Befehl zur Paketverwaltung. Die von apt bereitgestellten Pakete sind sehr einfach mit einem einzigen Befehl zu installieren. Laden Sie für Software, die nicht von apt bereitgestellt wird, die Quelle herunter und erstellen Sie sie selbst.

Im Folgenden finden Sie die Befehle zum Installieren des VIM-Editors. Andere Editoren sind "Nano", "Emacs" und "Code", aber detaillierte Erklärungen werden hier nicht gegeben.

sudo apt install vim

Aktualisieren Sie die Paketliste.

sudo apt update

Aktualisieren Sie das Paket.

sudo apt upgrade

Bequeme Funktionen, die Sie wissen möchten

Bash Tab Vervollständigung

・ ** Befehlsabschluss ** Wenn Sie nach Eingabe eines Teils des Befehls die Tabulatortaste drücken, wird der Befehl abgeschlossen. Dies verhindert Tippfehler. Wenn mehrere Befehlskandidaten vorhanden sind, wird eine Liste der Kandidaten angezeigt. ・ ** Vervollständigung des Dateinamens ** Wenn Sie nach Eingabe eines Teils des Dateinamens die Tabulatortaste drücken, wird der Dateiname angezeigt. Wenn mehrere Kandidaten vorhanden sind, wird eine Liste angezeigt.

Bash-Befehlsverlauf

Platzhalter

Es ist ein Sonderzeichen, das eine Zeichenfolge in einem Dateinamen oder dergleichen ersetzen kann. Sie können es für die Dateisuche usw. verwenden, indem Sie es ersetzen. Sie können eine beliebige Zeichenfolge als "?" Schreiben. Jede Zeichenfolge mit 0 oder mehr Zeichen kann als "*" geschrieben werden. Sie können a oder b oder c als [abc] schreiben. Sie können a ~ z und 0 ~ 9 als [a-z] und [0-9] schreiben.

Lassen Sie uns nach beliebigen Dateien suchen

** 1. Zeigen Sie diejenige an, die einer beliebigen Zeichenfolge entspricht ** Wenn ein Verzeichnis angegeben ist, wird der Inhalt aller übereinstimmenden Verzeichnisse angezeigt. ls ab * Zeigt nur Dateien mit beliebigen Zeichenfolgen an, die mit "ab" beginnen. ls * e Zeigt nur Dateien mit beliebigen Zeichenfolgen an, die mit" e "enden. ls q * ta Zeigt nur Dateien mit" q "+ beliebiger Zeichenfolge +" ta "an.

** 2. Zeigt die Übereinstimmung für ein beliebiges Zeichen an ** Es sind keine Buchstaben enthalten. ls a? Zeigt nur diejenigen an, die mit "a + any string" übereinstimmen. ls ??? Zeigt nur 3-stellige Dateinamen an.

** 3. Zeigen Sie übereinstimmende Zeichen in eckigen Klammern an ** ls [cd] * Nur Dateien mit "c oder d + beliebige Zeichenfolge" anzeigen. ls * [0-9] Zeigt nur Dateien mit beliebigen Zeichenfolgen + Zahlen an.

Dateiberechtigungen

** · Benutzertyp ** u ... Dateibesitzer g ... Benutzer in derselben Gruppe o ... andere Benutzer ** ・ Erlaubnis zu erlauben ** r ... Erlaubnis lesen w ... Schreiberlaubnis x ... Berechtigung ausführen chmod Ein Befehl zum Ändern von Berechtigungen. Die erstellte Datei kann nicht so ausgeführt werden, wie sie ist. Daher wird sie häufig verwendet, um sie ausführbar zu machen.

Der folgende Befehl gibt der Datei die Ausführungsberechtigung.

chmod u+x hoge.bash

Unix OS-Dateiabstraktion

Unter Unix-basierten Betriebssystemen einschließlich Linux werden alle Vorgänge als Dateivorgänge behandelt. Beispielsweise sind Tastatureingabe, Bildschirmausgabe und Drucker alle Dateien. Mit dieser Abstraktion können Sie viele nützliche Dinge tun, die Sie mit Gerätetreibern nicht tun konnten. Typische Beispiele sind die Filterfunktion und die Umleitung.

umleiten

ファイル抽象化.png

<Eingangsumleitung

Lesen aus der Datei anstelle der Standardeingabe

A < input.txt

> Ausgabeumleitung

Ausgabe in Datei statt Standardausgabe

echo abc > list.txt

Wenn Sie es hinzufügen möchten, setzen Sie <auf zwei.

echo def >> list.txt 

Wenn Sie "cat list.txt" ausführen, können Sie sehen, dass "abc" und "def" geschrieben sind.

Rohr

** Ein Befehl, der die Standardausgabe des Programms links mit der Standardeingabe rechts verbindet. ** ** ** Durch Eingabe des folgenden Befehls können Sie nur diejenigen ausgeben, die "vim" aus der Liste der Pakete enthalten. Die von apt list angezeigten Ergebnisse werden durch | verbunden und durch grep eingegrenzt. Die Suche ist zwar schwierig, aber Sie können mit nur einer Zeile suchen, indem Sie eine Verbindung mit einer Pipe herstellen.

sudo apt list |grep vim

Filterfunktion

Sie können den Inhalt der Datei sortieren, formatieren und filtern. Bereiten Sie beispielsweise eine Datei vor, in der Wörter wie folgt beschrieben werden.

word_list.txt


Qiita
LINUX
Post
shell
bash
Library

Der folgende Befehl sollte Groß- und Kleinbuchstaben in Kleinbuchstaben konvertieren, Zeichenfolgen mit i oder l in abc-Reihenfolge sortieren und ausgeben.

tr [A-Z] [a-z] < word_list.txt |sort|grep [il]

Zusammenfassung

Dies ist im Grunde das, was Sie brauchen. Wenn Sie andere Kenntnisse haben, die Sie darüber wissen sollten, kommentieren Sie bitte.

Referenzmaterial

TECCAMP Blog, "[Muss für Anfänger] Lassen Sie uns die Grundkenntnisse von Unix / Linux kennen!" Qiita, "Linux-Verzeichnisstruktur" Qiita, "Komprimieren und Dekomprimieren von [Linux] -Dateien" ITatmarkit, "[apt] Befehl (Basis) - Software installieren" Qiita, "apt command cheat sheet"

Recommended Posts

[Muss für Anfänger] Grundlagen von Linux
[Linux] Grundlagen der Berechtigungseinstellung von chmod für Anfänger
[Linux-Befehlsübersicht] Befehlsliste [Muss für Anfänger]
[Linux-Befehl] Liste der cp-Befehlsoptionen [Muss für Anfänger]
[Linux-Befehl] ls Befehlsoptionsliste [Muss für Anfänger]
[Linux-Befehl] Touch-Befehlsoptionsliste [Muss für Anfänger]
[Linux-Befehl] Liste weniger Befehlsoptionen [Muss für Anfänger sein]
[Linux-Befehl] Liste der Cat-Befehlsoptionen [Muss für Anfänger]
[Linux-Befehl] Liste der rm-Befehlsoptionen [Muss für Anfänger]
[Linux-Befehl] Liste der CD-Befehlsoptionen [Muss für Anfänger]
[Linux-Befehl] Liste der mv-Befehlsoptionen [Muss für Anfänger]
[Linux-Befehl] Liste der man-Befehlsoptionen [Muss für Anfänger]
[Linux-Befehl] Liste der ssh-Befehlsoptionen [Muss für Anfänger]
[Linux-Befehl] Liste der mkdir-Befehlsoptionen [Muss für Anfänger]
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
Empfohlene Linux-Distribution für Anfänger
Übersicht über Docker (für Anfänger)
Seaborn Basics für Anfänger ④ Pairplot
Linux Command Memorandum [für Anfänger]
Praktische Linux-Verknüpfung (für Anfänger)
Pandas Grundlagen für Anfänger ① Lesen & Verarbeiten
[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 2
Pandas Grundlagen für Anfänger ⑧ Ziffernverarbeitung
Seaborn Grundlagen für Anfänger ② Histogramm (Distplot)
Häufig verwendete Linux-Befehle (für Anfänger)
Linux-Grundlagen
Pandas-Grundlagen für Anfänger ④ Umgang mit Datums- und Zeitangaben
[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 1
Pandas Basics Summary Link für Anfänger
Lernen Sie die Grundlagen von Python ① Grundlegende Anfänger
Seaborn-Grundlagen für Anfänger ① Aggregiertes Diagramm der Anzahl der Daten (Countplot)
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Linux-Betrieb für Anfänger Grundlegende Befehlsübersicht
Zusammenfassung der Petit-Techniken für Linux-Befehle
[Linux] Lernen Sie die Grundlagen von Shell-Befehlen
Für SageMaker Anfänger-Material Links-
Python-Grundlagen ①
Grundlagen von Python ①
pyenv für Linux
Grundlagen der Linux-Befehle
[Linux] Überprüfung der Befehle für die Bereitstellung unter AWS
Pandas-Grundlagen für Anfänger ③ Erstellen Sie ein Histogramm mit matplotlib
Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
Praktisches Tool für Anfänger (unter Berücksichtigung von Ideen)
Grundprinzipien der Bilderkennungstechnologie (für Anfänger)
[Hikari-Python] Kapitel 09-01 Klassen (Grundlagen von Objekten)
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
[Linux] Liste der Linux-Befehle, die Anfänger kennen sollten
[Übersetzung] NumPy Official Tutorial "NumPy: die absoluten Grundlagen für Anfänger"
Spacemacs-Einstellungen (für Anfänger)
Python-Grundlagen ② für Anweisung
Zusammenfassung nützlicher Tipps für das Linux-Terminal ☆ Täglich aktualisiert
Grundlagen der Python-Scraping-Grundlagen
Linux-Grundlagen (Benutzer / Gruppen)
[Für Memo] Linux Teil 2
Bedeutung der Linux-Berechtigungen