Heim > Artikel > Betrieb und Instandhaltung > Lassen Sie uns über allgemeine Befehle und Umgebungsvariablen des Linux-Betriebssystems sprechen
Dieser Artikel vermittelt Ihnen die Grundkenntnisse des Linux-Betriebssystems, einschließlich Kenntnisse über die Programmentwicklungsumgebung, allgemeine Befehle und Umgebungsvariablen. Ich hoffe, er wird Ihnen hilfreich sein.
Linux ist eine frei verteilbare UNIX-ähnliche Kernel-Implementierung. Es ist der zugrunde liegende Kern eines Betriebssystems. Linux wurde von Linus an der Universität Helsinki in Finnland mit Hilfe einer großen Anzahl von UNIX-Programmierern im Internet entwickelt. Es war ursprünglich ein Programm, das vom Minix seines Professors (einem kleinen UNIX-ähnlichen System) inspiriert wurde. Es war ein reines persönliches Hobby, aber später entwickelte es sich nach und nach zu einem vollständigen System. Um zu verstehen, was Linux ist, müssen Sie zunächst Systeme verstehen und Anwendungen, die Linux vorausgingen – UNIX- und GNU-Software.
1.1.1 Was ist UNIX?Es gibt einige typische Stile und Merkmale der Programmentwicklung unter UNIX:
1) Einfachheit: Viele nützliche UNIX-Tools sind sehr einfach. „Klein und einfach“ ist eine erlernbare Technik. Größere, komplexere Systeme enthalten zwangsläufig größere und komplexere Fehler.
2) Zentralisierung: Es ist besser, ein Programm eine Aufgabe gut ausführen zu lassen, als alle Funktionen zusammenzustapeln. Programme mit aufgeblähter Funktionalität sind schwierig zu verwenden und zu warten, und Programme mit nur einem Ziel werden mit größerer Wahrscheinlichkeit verbessert, wenn bessere Algorithmen entwickelt werden. Wenn unter UNIX neue Anforderungen von Benutzern auftreten, kombinieren wir normalerweise kleine Tools, um komplexere Aufgaben zu erledigen, anstatt zu versuchen, alle von einem Benutzer erwarteten Funktionen in einem großen Programm unterzubringen.
3) Wiederverwendbare Komponenten: Implementieren Sie den Kern der Anwendung als Bibliothek. Bibliotheken mit einfachen und flexiblen Programmierschnittstellen können anderen dabei helfen, ähnliche Programme zu entwickeln oder diese Techniken auf neue Anwendungsbereiche anzuwenden.
1.1.2 GNU Project und Free Software FoundationDie Linux-Community unterstützt das Konzept der freien Software, das heißt, die Software selbst sollte nicht eingeschränkt werden und sie entspricht der GNU (GNU ist die rekursive Abkürzung für GNU’s Not UNIX) General Public License (GPL).
Die Free Software Foundation wurde von Richard Stallman gegründet. Ihr Zweck ist es, ein Betriebssystem und eine Entwicklungsumgebung zu schaffen, die mit UNIX-Systemen kompatibel ist, aber nicht durch UNIX-Namen und Datenschutzrechte für Quellcodes eingeschränkt wird.
Das GNU-Projekt hat der Software-Community viele Imitationen von Anwendungen auf UNIX-Systemen zur Verfügung gestellt. Zum Beispiel die berühmte:
GCC: GNU Compiler Collection, die den GNU C-Compiler enthält.
G++: G++-Compiler, Teil von GCC.
GDB: Debugger auf Quellcodeebene.
GNU make
bash: Befehlsinterpreter (eine Art Shell)
Mit dieser verfügbaren freien Software, gepaart mit dem Linux-Kernel, können wir sagen: Das Ziel, ein GNU, freies UNIX-ähnliches System zu schaffen, wurde erreicht über das Linux-System. Aufgrund der Beiträge der GNU-Software bezeichnen viele Menschen das Linux-System heute üblicherweise als GNU/Linux.
1.2 Programmentwicklungsumgebungip addr show
, um die Ubuntu-System-IP anzuzeigensudo apt update
sudo apt install openssh-server
sudo service ssh start
ip addr show
Es ist ersichtlich, dass die aktuelle Ubuntu-IP-Adresse 192.168.176.148 lautet.
Verwenden Sie nach der Installation des SSH-Servers unter Ubuntu MobaXterm, um eine Verbindung unter dem Windows-System herzustellen und zu testen, ob der SSH-Server erfolgreich ist installiert. Die Schritte sind wie folgt:
Führen Sie die Xterm-Software aus und wählen Sie „Sitzung“, wie in der Abbildung unten gezeigt:
Klicken Sie auf „SSH“ und richten Sie es ein, wie in der Abbildung unten gezeigt:
In der Wählen Sie im Dialogfeld „Protokoll“ „SSH“, „Hostname“ die IP-Adresse von Ubuntu und „Benutzername“ den aktuellen Benutzernamen aus. Verwenden Sie den Standardwert 22 für die Portnummer. Nachdem die Einstellungen abgeschlossen sind, klicken Sie auf „OK“. Das folgende Befehlszeilenterminal wird angezeigt, das anzeigt, dass das Ubuntu-System der virtuellen Maschine verbunden wurde.
Mit dieser Methode können Sie sich beim Entwicklungsboard anmelden, nachdem Sie bestätigt haben, dass die Netzwerkkommunikation zwischen dem Host und dem Entwicklungsboard normal ist.
Visual Studio Code (kurz VSCode) ist ein kostenloser Editor von Microsoft. Es gibt drei Versionen: Windows, Linux und macOS. Es ist ein plattformübergreifender Editor. Sie können selbst nach dem Installationsprozess suchen. Hier stellen wir hauptsächlich die für die C/C++-Programmentwicklung verwendeten Erweiterungspakete vor. Die Installationsschritte sind in der folgenden Abbildung dargestellt:
Die folgenden Plug-Ins werden häufig verwendet und müssen verwendet werden installiert werden:
C/C++.
C/C++-Snippets, wiederverwendete C/C++-Codeblöcke.
C/C++ Advanced Lint, also statische C/C++-Erkennung.
Code Runner, also Code, der ausgeführt wird.
Fügen Sie AutoComplete hinzu, d. h. die automatische Einbindung von Header-Dateien.
Regenbogenklammern, Regenbogenklammern, helfen beim Lesen von Code.
One Dark Pro, Thema für VSCode.
GBKtoUTF8, konvertieren Sie GBK in UTF8.
ARM, das die Hervorhebung der ARM-Assembly-Syntax unterstützt.
Chinesisch (vereinfacht), also chinesische Umgebung.
vscode-icons, VSCode-Symbol-Plug-in, hauptsächlich Symbole für jeden Ordner unter dem Ressourcenmanager.
compareit, Vergleichs-Plug-in, kann verwendet werden, um die Unterschiede zwischen zwei Dateien zu vergleichen.
DeviceTree, Gerätebaum-Syntax-Plug-in.
Markdown-Vorschau Erweitertes Markdown-Vorschau-Plug-in.
Maridown pdf, .md-Dateien in andere Formate konvertieren.
Für Anfänger gibt es nicht viele häufig verwendete und sie müssen nicht beherrscht werden. Wenn Sie im täglichen Lern- und Arbeitsprozess auf unbekannte Linux-Befehle stoßen, werden Sie sich diese natürlich merken, indem Sie im Laufe der Zeit weitere Informationen überprüfen. Im Folgenden finden Sie eine Einführung in die 17 grundlegendsten Befehle unter Linux.
clear
ip addr
date
Die Pfade von Verzeichnissen und Dateien werden in absolute Pfade und relative Pfade unterteilt, die vom Stammverzeichnis (/) aus berechnet werden, z. B. /usr/etc/readme.txt. Der relative Pfad wird aus dem aktuellen Arbeitsverzeichnis berechnet. Wenn das aktuelle Arbeitsverzeichnis /usr ist, entspricht etc/readme.txt /usr/etc/readme.txt. Darüber hinaus ist zu beachten, dass: ein Punkt das aktuelle Arbeitsverzeichnis angibt; zwei Punkte ... das übergeordnete Verzeichnis des aktuellen Arbeitsverzeichnisses angeben.
2. Das Stammverzeichnis steht in engem Zusammenhang mit dem Systemstart, der Reparatur und der Wiederherstellung.
Daher muss das Stammverzeichnis Startsoftware, Kerndateien, für den Start erforderliche Programme, Funktionsbibliotheken, Systemreparaturprogramme und andere Dateien enthalten Tabelle unten.
usr (nicht Benutzer), der vollständige Name lautet Unix Software Resource. Dieses Verzeichnis wird zum Speichern von Systemsoftwareressourcen verwendet. FHS empfiehlt Entwicklern, Softwareproduktdaten in Unterverzeichnissen des Verzeichnisses /usr abzulegen, anstatt separate Verzeichnisse für ihre Produkte zu erstellen.
In Linux-Systemen wird die gesamte Systemstandardsoftware im Verzeichnis /usr gespeichert. Das Verzeichnis /usr ähnelt der Kombination aus C:Windows + C:Programmdateien in Windows-Systemen.
FHS empfiehlt, dass das Verzeichnis /usr Unterverzeichnisse haben sollte, wie in der Tabelle unten gezeigt.
/var-Verzeichnis wird zum Speichern dynamischer Daten wie Cache, Protokolldateien, während der Softwareausführung generierter Dateien usw. verwendet. Im Allgemeinen wird empfohlen, dass dieses Verzeichnis die in Tabelle 4 gezeigten Unterverzeichnisse enthält.
pwd
pwd
cd 目录名
示例:
cd /tmp
cd ..
cd
ls
是list的缩写,通过 ls
命令不仅可以查看目录和文件信息,还可以查看目录和文件的权限、大小、主人和组等信息。
选项 -l
列出目录和文件的详细信息。
示例:
ls
ls -l
正则表达式又称规则表达式、通配符,目录和文件名都支持正则表达式,正则表达式的规则比较多,在这里我们只需要掌握最常用的两种:星号 “*” 。
星号 “*” :匹配任意数量的字符。
例如:ls open*.zip
mkdir aaa
mkdir aaa/bbb -p
rm [-rf]
目录或文件
选项-r
可以删除目录,如果没有-r只能删除文件。
选项-f
表示强制删除,不需要确认。
rm aaa -r
rm -f ccc.c
mv 旧目录或文件名 新目录或文件名
mv book.c book1.c
mv book.c OPC/test3
mv book.c OPC/test3
cp [-r] 旧目录或文件名 新目录或文件名
注:-r 是递归的意思,英文 recursion
选项-r
可以复制目录,如果没有选项-r
只能复制文件。
示例:
cp book1.c book2.c
cp aaa bbb -r
cp book1.c aaa/book1.c
cp book1.c aaa/.
以上两个命令的效果相同。
cp -r aaa /tmp/aaa
cd-Verzeichnisname
🎜🎜 🎜🎜 1) Geben Sie das /tmp-Verzeichnis ein 🎜🎜🎜cd /tmp
🎜🎜🎜2) Geben Sie das übergeordnete Verzeichnis ein 🎜🎜🎜cd ..
🎜🎜🎜3 ) Geben Sie das Hauptverzeichnis des Benutzers ein -Befehl Sie können nicht nur Verzeichnis- und Dateiinformationen anzeigen, sondern auch Informationen wie Berechtigungen, Größe, Besitzer und Gruppe von Verzeichnissen und Dateien. 🎜 Option -l
listet Verzeichnis- und Dateidetails auf. 🎜 Beispiel: 🎜🎜🎜1) Alle Verzeichnis- und Dateinameninformationen im aktuellen Arbeitsverzeichnis auflisten 🎜🎜🎜ls
🎜🎜🎜🎜2) Detaillierte Informationen zu allen Verzeichnissen und Dateinamen im aktuellen Arbeitsverzeichnis auflisten🎜🎜🎜ls - l
🎜🎜🎜🎜 3) Reguläre Ausdrücke🎜🎜🎜Reguläre Ausdrücke werden auch als reguläre Ausdrücke bezeichnet. Sowohl Verzeichnis- als auch Dateinamen unterstützen reguläre Ausdrücke. Hier müssen wir nur die beiden am häufigsten verwendeten Typen beherrschen „*“. 🎜🎜Stern „*“: Entspricht einer beliebigen Anzahl von Zeichen. 🎜🎜🎜Zum Beispiel: ls open*.zip
🎜🎜🎜🎜8. Erstellen Sie ein Verzeichnis🎜🎜🎜🎜1) Erstellen Sie ein AAA-Verzeichnis im aktuellen Arbeitsverzeichnis🎜🎜🎜mkdir aaa
🎜🎜🎜2) Erstellen Sie im aktuellen Arbeitsverzeichnis das AAA-Verzeichnis unter dem Arbeitsverzeichnis und das BBB-Verzeichnis unter dem AAA-Verzeichnis 🎜rm [-rf ]
Verzeichnis oder Datei🎜🎜Die Option -r
kann das Verzeichnis löschen. Wenn kein -r vorhanden ist, kann nur die Datei gelöscht werden. 🎜🎜Option -f
bedeutet erzwungenes Löschen, es ist keine Bestätigung erforderlich. 🎜🎜🎜1) Löschen Sie das AAA-Verzeichnis🎜🎜🎜rm aaa -r
🎜🎜🎜2) Löschen Sie die ccc.c-Datei im aktuellen Arbeitsverzeichnis 🎜🎜🎜rm -f ccc .c
🎜🎜🎜9. Verzeichnisse und Dateien verschieben🎜🎜🎜mv altes Verzeichnis oder Dateiname neues Verzeichnis oder Dateiname
🎜🎜🎜1) Ersetzen Sie die Datei book.c in der aktuellen Arbeitsverzeichnis Nennen Sie es book1.c🎜🎜🎜mv book.c book1.c
🎜🎜🎜2) Wenn OPC/test3 ein vorhandenes Verzeichnis ist, kopiert der folgende Befehl book.c in das aktuelle Arbeitsverzeichnis Verzeichnis Die Datei wird in das Verzeichnis OPC/test3 verschoben. 🎜🎜🎜mv book.c OPC/test3
🎜🎜🎜3) Wenn das Verzeichnis OPC/test3 nicht existiert, benennt der folgende Befehl die Datei book.c im aktuellen Arbeitsverzeichnis in OPC/ um. test3. 🎜🎜🎜mv book.c OPC/test3
🎜🎜🎜10. Verzeichnisse und Dateien kopieren🎜🎜🎜cp [-r] neues Verzeichnis oder Dateiname
🎜🎜Hinweis: -r bedeutet Rekursion🎜🎜🎜 Option -r
kann Verzeichnisse kopieren. Wenn es keine Option -r
gibt, können nur Dateien kopiert werden . 🎜🎜Beispiel:🎜🎜🎜1) Kopieren Sie die Datei book1.c im aktuellen Arbeitsverzeichnis nach book2.c🎜🎜🎜cp book1.c book2.c
🎜🎜🎜2) Kopieren Sie die aktuelle Datei Verzeichnis Kopieren Sie das Verzeichnis aaa unter dem aktuellen Arbeitsverzeichnis nach bbb🎜🎜🎜cp aaa bbb -r
🎜🎜🎜3) Kopieren Sie die Datei book1.c im aktuellen Arbeitsverzeichnis nach aaa/book1.c🎜 🎜🎜 cp book1.c aaa/book1.c
🎜🎜cp book1.c aaa/.
🎜🎜Die beiden oben genannten Befehle haben den gleichen Effekt. 🎜🎜🎜4) Kopieren Sie das Verzeichnis aaa im aktuellen Arbeitsverzeichnis nach /tmp/aaa🎜🎜🎜cp -r aaa /tmp/aaa
🎜cp -r aaa /tmp/.
cp -r aaa /tmp/.
以上两个命令的效果相同。
ping -c 包的个数 ip地址或域名
ping用于确定本地主机是否能与另一台主机成功交换数据包,判断网络是否通畅。
ping -c 5 127.0.0.1
ping -c 5 www.baidu.com.cn
可以看出百度的服务器是可以ping
通的。
ping -c 5 www.google.com
可以看出谷歌的服务器是ping
不通的。
显示文本文件的内容有三个命令:cat
、more
和tail
。
cat 文件名
cat命令一次显示整个文件的内容。
cat main.cpp
more 文件名
为了方便阅读,more命令分页显示文件的内容,按空格键显示下一页,按b键显上一页,按q键退出。
tail -f 文件名
tail -f
用于显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新。对程序员来说,tail -f
极其重要,可以动态显示后台服务程序的日志,用于调试和跟踪程序的运行。
wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出
wc 文件名
grep "内容" 文件名
注意,如果内容中没有空格等特殊字符,可以不用双引号括起来。
示例:
grep signal main.cpp
find 目录名 -name 文件名
参数说明:
目录名:待搜索的目录,搜索文件的时候,除了这个目录名,还包括它的各级子目录。
文件名:待搜索的文件名匹配的规则。
示例:
从 OPC 目录开始搜索,把全部的 *.cpp 文件显示出来。
find OPC -name *.cpp
locate 文件名
示例:
搜索open62541.c文件
locate open62541.c
注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.
find多用于在某个目录下进行模糊搜索,而locate则是进行全盘准确定位。
用于改变linux文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
举例:ls -l example
Die beiden oben genannten Befehle haben den gleichen Effekt.
Die Anzahl der Ping-C-Pakete, IP-Adresse oder Domänenname
ping wird zur Bestimmung verwendet ob der lokale Host Datenpakete erfolgreich mit einem anderen Host austauschen kann, um festzustellen, ob das Netzwerk reibungslos funktioniert. 🎜ping -c 5 127.0.0.1
🎜🎜ping -c 5 www.baidu.com.cn
🎜🎜🎜Es ist ersichtlich, dass Baidus Server pingen
kann. 🎜ping -c 5 www.google.com
🎜🎜🎜Es ist ersichtlich, dass der Google-Server keinen ping
ausführen kann. 🎜cat
, mehr
und tail
. 🎜cat-Dateiname
🎜🎜cat-Befehl zeigt den Inhalt der gesamten Datei auf einmal an. 🎜🎜cat main.cpp
🎜mehr Dateiname
🎜🎜Um das Lesen zu erleichtern, zeigt der Befehl „more“ den Inhalt der Datei in Seiten an. Drücken Sie die Leertaste, um die nächste Seite anzuzeigen, drücken Sie die b-Taste, um die vorherige Seite anzuzeigen, und drücken Sie die q-Taste, um den Vorgang zu beenden. 🎜tail -f Dateiname
🎜🎜tail -f
wird zum Anzeigen von Textdateien verwendet Wenn in den letzten Zeilen der Inhalt der Datei zunimmt, wird er in Echtzeit aktualisiert. Für Programmierer ist tail -f
äußerst wichtig. Es kann das Protokoll des Hintergrunddienstprogramms dynamisch anzeigen und zum Debuggen und Verfolgen der Ausführung des Programms verwendet werden. 🎜grep "content" Dateiname
🎜 🎜 Beachten Sie, dass der Inhalt nicht in doppelte Anführungszeichen gesetzt werden muss, wenn im Inhalt keine Sonderzeichen wie Leerzeichen enthalten sind. 🎜🎜🎜Beispiel: 🎜grep signal main.cpp
🎜🎜Verzeichnisname-Namen-Dateinamen finden
🎜🎜Parameterbeschreibung: 🎜 Verzeichnisname: das zu durchsuchende Verzeichnis bei der Suche nach Dateien, außer Dies Der Verzeichnisname umfasst auch seine Unterverzeichnisse auf allen Ebenen. 🎜 Dateiname: Regeln, die dem zu durchsuchenden Dateinamen entsprechen. 🎜 Beispiel: 🎜 Starten Sie die Suche aus dem OPC-Verzeichnis und zeigen Sie alle *.cpp-Dateien an. 🎜🎜find OPC -name *.cpp
🎜lokalisieren Sie den Dateinamen
🎜🎜Beispiel: 🎜 Datei open62541.c durchsuchen🎜🎜 open62541.c suchen
🎜🎜🎜Hinweis: Wenn Sie diesen Befehl zum ersten Mal verwenden, müssen Sie möglicherweise die Datenbank aktualisieren. Befolgen Sie einfach die Anweisungen und führen Sie ihn aus. 🎜🎜🎜find wird hauptsächlich für die Fuzzy-Suche in einem bestimmten Verzeichnis verwendet, während Locate dies tut Wird für die genaue Positionierung auf ganzer Linie verwendet. 🎜ls -l example
🎜🎜🎜🎜Die erste Spalte enthält 10 Positionen und das erste Zeichen gibt den Dateityp an. Im üblichen Sinne ist ein Verzeichnis auch eine Datei. Wenn das erste Zeichen ein Bindestrich ist, bedeutet dies, dass es sich um eine Nicht-Verzeichnisdatei handelt. Wenn es d ist, bedeutet es ein Verzeichnis. Vom zweiten bis zum zehnten Zeichen gibt es insgesamt 9 Zeichen. Eine Gruppe von 3 Zeichen repräsentiert die Berechtigungen von 3 Benutzergruppen für die Datei oder das Verzeichnis. Berechtigungszeichen verwenden eine horizontale Linie, um leere Berechtigungen darzustellen, r steht für schreibgeschützt, w steht für Schreiben und x steht für ausführbar. 🎜Allgemeine Parameter:
-c Wenn Änderungen auftreten, Verarbeitungsinformationen melden
-R Alle Dateien im angegebenen Verzeichnis und seinen Unterverzeichnissen verarbeiten
Berechtigungsbereich:
u: Verzeichnis oder Datei aktueller Benutzer
g: Die aktuelle Gruppe des Verzeichnisses oder der Datei
o: Benutzer oder Gruppen außer dem aktuellen Benutzer oder der aktuellen Gruppe des Verzeichnisses oder der Datei
a: Alle Benutzer und Gruppe
Berechtigungscode:
r: Leseberechtigung, dargestellt durch die Zahl 4
w: Schreibberechtigung, dargestellt durch die Zahl 2
x: Ausführungsberechtigung, dargestellt durch die Zahl 1
- : Löschberechtigungen, dargestellt durch die Zahl 0
s : Sonderberechtigungen
Beispiel:
chmod a-x example
chmod a-x example
chmod 751 example -c
chmod u+r,g+r,o+r -R text/ -c
df [-h] [-T]
选项-h
以方便阅读的方式显示信息:
df -h
选项-T
列出文件系统类型:
df -h -T
程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。
系统环境变量:公共的,对全部的用户都生效。
用户环境变量:用户私有的、自定义的个性化设置,只对该用户生效。
永久环境变量:在环境变量脚本文件中配置,用户每次登录时会自动执行这些脚本,相当于永久生效。
临时环境变量:使用时在Shell中临时定义,退出Shell后失效。
Linux环境变量也称之为Shell环境量变,以下划线和字母打头,由下划线、字母(区分大小写)和数字组成,习惯上使用大写字母,例如PATH、HOSTNAME、LANG等。
在Shell下,用env命令查看当前用户全部的环境变量。
上图只截取了部分环境变量,并非全部。
注:用env命令的时候,满屏显示了很多环境变量,不方便查看,可以用grep筛选。
env|grep 环境变量名
例如查看环境变量名中包含PATH的环境变量。
env|grep PATH
echo $环境变量名
例如:echo $LANG
可执行程序的搜索目录,可执行程序包括Linux系统命令和用户的应用程序,PATH变量的具体用法本文后面的章节中有详细的介绍。
Linux系统的语言、地区、字符集。
echo $LANG
2) Beispielsweise wird dem Eigentümer „Lesen“ zugewiesen , Schreib- und Ausführungsberechtigungen (7), der Gruppe, in der sich das Beispiel befindet, werden Lese- und Ausführungsberechtigungen (5) zugewiesen, und anderen Benutzern werden Ausführungsberechtigungen (1) zugewiesen
chmod 751 example -c 🎜<img src="https://img.php.cn/upload/article/000/000/067/e82b90d63235e869835aad7e33cb32bb-20.png" alt="Bildbeschreibung hier einfügen">🎜🎜3) Fügen Sie lesbare Berechtigungen hinzu alle Dateien im AAA-Verzeichnis und seinen Unterverzeichnissen🎜🎜<code>chmod u+r,g+r,o+r -R text/ -c
🎜🎜df [-h] [-T]
🎜🎜Option -h
zeigt Informationen in einem leicht lesbaren Format an: 🎜🎜df -h🎜<img src="https://img.php.cn/upload/article/000/000/067/95937c9778bb954936dccf16f688fc5c-22.png" alt="Bildbeschreibung hier einfügen">🎜🎜Optionen -T
Dateisystemtypen auflisten: 🎜🎜df -h -T
🎜🎜env|grep-Umgebungsvariablenname
🎜🎜Überprüfen Sie beispielsweise die Umgebungsvariable, deren Name PATH enthält. 🎜🎜env|grep PATH
🎜保存历史命令的数目。
当前登录用户的用户名。
echo $USER
当前登录用户的主目录。
echo $HOME
当前工作目录。
echo $PWD
C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要,具体用法本文后面的章节中有详细的介绍。
export 变量名='值'
如果环境变量的值没有空格等特殊符号,可以不用单引号包含。
示例:
export PATH=$PATH:.
以上命令为当前shell的环境变量PATH添加.目录(是.)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
以上命令为当前shell的环境变量LD_LIBRARY_PATH添加.目录
采用export设置的环境变量,在退出Shell后就会失效,下次登录时需要重新设置。如果希望环境变量永久生效,需要在登录脚本文件中配置。
系统环境变量对全部的用户生效,设置系统环境变量有三种方法。
用户登录时执行/etc/profile文件中设置系统的环境变量。但是,Linux不建议在/etc/profile文件中设置系统环境变量。
/etc/profile在每次启动时会执行 /etc/profile.d下全部的脚本文件。/etc/profile.d比/etc/profile好维护,不想要什么变量直接删除 /etc/profile.d下对应的 shell 脚本即可。
/etc/profile.d目录下有很多脚本文件,例如:
ls /etc/profile.d
该文件配置的环境变量将会影响全部用户使用的bash shell。但是,Linux也不建议在/etc/bashrc文件中设置系统环境变量。
用户环境变量只对当前用户生效,设置用户环境变量也有多种方法。
在用户的主目录,有几个特别的文件,用ls
是看不见的,用ls .bash*
可以看见。
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。
当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。
当每次退出系统(退出bash shell)时执行该文件。
保存了当前用户使用过的历史命令。
环境变量脚本文件的执行顺序如下:
/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
echo $SHELL
export variable name='value'
🎜🎜Wenn der Wert der Umgebungsvariablen keine Sonderzeichen wie Leerzeichen enthält, kann er ohne einfache Anführungszeichen eingefügt werden. 🎜🎜Beispiel: 🎜🎜export PATH=$PATH:.
🎜🎜Der obige Befehl fügt ein .directory zur Umgebungsvariablen PATH der aktuellen Shell hinzu (ja.)export LD_LIBRARY_PATH= $LD_LIBRARY_PATH:.
🎜🎜Der obige Befehl fügt das .directory zur Umgebungsvariablen LD_LIBRARY_PATH der aktuellen Shell hinzu.ls /etc/profile.d
ls
unsichtbar sind, aber mit ls .bash*
sichtbar sind. /etc/profile->/etc/profile.d-> /etc/bashrc ->User's .bash_profile->User's .bashrc
🎜🎜Umgebungsvariablen mit demselben Namen. Wenn sie in mehreren Skripten konfiguriert werden, hat die Konfiguration im zuletzt ausgeführten Skript Vorrang. 🎜🎜🎜3.4 Detaillierte Erläuterung wichtiger Umgebungsvariablen🎜🎜🎜🎜1. PATH-Umgebungsvariable🎜🎜🎜Das Suchverzeichnis für ausführbare Programme umfasst Linux-Systembefehle und Benutzeranwendungen. Wenn sich das Verzeichnis des ausführbaren Programms nicht in dem durch PATH angegebenen Verzeichnis befindet, muss das Verzeichnis bei der Ausführung angegeben werden. 🎜🎜1) Die Umgebungsvariable PATH speichert eine Liste von Verzeichnissen. Die Verzeichnisse werden durch einen Doppelpunkt getrennt: und der letzte Punkt gibt das aktuelle Verzeichnis an. 🎜🎜export PATH=Verzeichnis 1: Verzeichnis 2: Verzeichnis 3:… Verzeichnis n:.🎜🎜2) PATH ist standardmäßig das Verzeichnis, in dem sich die Linux-Systembefehle befinden (/usr/local/bin:/usr/bin:/usr /local/sbin:/usr/sbin) Wenn diese Verzeichnisse nicht enthalten sind, können allgemeine Linux-Befehle nicht ausgeführt werden (zur Ausführung muss der absolute Pfad eingegeben werden). 🎜🎜Beispiel: 🎜ls /bin/ls
Sie können sehen, dass sich der Befehl ls
im Verzeichnis /bin befindet ls /bin/ls
可以查看到ls
命令位于/bin目录下
此时我们执行命令 export PATH=
将PATH变量清空,再执行ls
命令,系统会提示找不到ls
命令。
采用绝对路径就可以使用,/bin/ls
为环境变量PATH添加/bin目录后,ls
也可以执行了。
示例:
在当前目录下执行 example 命令,提示无法执行。
将圆点.添加到环境变量PATH之后,便可以执行了。
export PATH=$PATH:.
C/C++语言动态链接库文件搜索的目录,它不是Linux缺省的环境变量,但对C/C++程序员来说非常重要。
LD_LIBRARY_PATH环境变量存放的也是目录列表,目录之间用冒号:分隔,最后的圆点.表示当前目录,与PATH的格式相同。
export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.
这个环境变量我们会在下次课讲解Linux静态库与动态库时详细介绍。
1)在Shell下,用export设置的环境变量对当前Shell立即生效,Shell退出后失效。
2)在脚本文件中设置的环境变量不会立即生效,退出Shell后重新登录时才生效,或者用source命令让它立即生效,例如:
source /etc/profile
export PATH=
aus, um die PATH-Variable zu löschen und dann den Befehl ls
ausführen, meldet das System, dass der Befehl ls
nicht gefunden werden konnte.
/bin/ls
Nach dem Hinzufügen des /bin-Verzeichnisses zur Umgebungsvariablen PATH kann auch ls
ausgeführt werden.
export PATH=$PATH:.
🎜🎜export LD_LIBRARY_PATH=Directory 1: Directory 2: Directory 3:... Directory n:.
🎜🎜🎜Wir werden diese Umgebungsvariable in der nächsten Lektion erklären, wenn wir statische Linux-Bibliotheken und dynamische Bibliotheken erklären . Detaillierte Einführung. 🎜🎜🎜🎜3.5 Validierung von Umgebungsvariablen 🎜🎜🎜1) Unter Shell werden die mit dem Export festgelegten Umgebungsvariablen sofort auf der aktuellen Shell wirksam und werden nach dem Beenden der Shell ungültig. 🎜🎜2) Die in der Skriptdatei festgelegten Umgebungsvariablen werden nicht sofort wirksam. Sie werden erst wirksam, nachdem Sie die Shell verlassen und sich erneut angemeldet haben, oder verwenden Sie den Quellbefehl, um sie sofort wirksam zu machen, zum Beispiel: 🎜🎜source /etc/profileDas obige ist der detaillierte Inhalt vonLassen Sie uns über allgemeine Befehle und Umgebungsvariablen des Linux-Betriebssystems sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!