Was ist eine ausführbare Linux-Datei?
Unter Linux bedeutet eine ausführbare Datei, dass die Datei ausgeführt werden kann und über „x“-Berechtigungen verfügt; die ausführbare Datei kann eine Codedatei (Skriptdatei) oder eine Binärdatei sein. Es gibt zwei Möglichkeiten, eine Datei auszuführen: 1. Verwenden Sie den Interpreter, um die Datei direkt auszuführen. 2. Verwenden Sie „./“, um die Datei auszuführen. Die Syntax lautet „./ Dateiname“.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Was ist eine ausführbare Datei? Eine ausführbare Datei bedeutet, dass diese Datei ausgeführt werden kann. Diese Datei kann eine Codedatei oder eine Binärdatei sein. Es gibt nur Dateien und Verzeichnisse im Linux-Dateisystem ( Alles ist eine Datei).
Unter Linux gibt es hauptsächlich zwei Möglichkeiten, eine Datei auszuführen:bash test.sh
oder ./test.sh
.Diesertest.sh wird als ausführbare Datei bezeichnet. Ausführbare Dateien werden in zwei Typen unterteilt: Eine ist eine allgemeine Binärdatei und die andere ist eine Skriptdatei ls code>, mkdir
usw. sind allesamt Binärdateien. Häufig verwendete Shell-Skripte oder Python-Skripte sind Dateien, die von der Ausführung des Interpreters abhängig sind Sie können den Typ einer Datei überprüfen. Beispielsweise wird eine Binärdatei angezeigt: bash test.sh
或者./test.sh
.
这个test.sh
就被叫做可执行文件.
可执行文件分为两种: 一种是常见的二进制文件,一种是脚本文件.前者如常用的ls
,mkdir
命令等都是二进制的文件,后者常见的有shell脚本,或者Python脚本这些依赖于解释器执行的文件.
通过命令file
可以查看一个文件的类型,如二进制文件会显示:
而脚本文件则输出:
可执行文件的区别
在上面的两个脚本文件中可以看到,输出的内容是不同的.一个被识别为了shell script
一个则认为就是普通的text文件.但是两个文件都是可执行的:
如图:两个文件运行后都会输出hello world!
.
此处使用了两种不同的运行方式,第一种直接指定一个可执行文件./hello.sh
,如果使用这种方式运行的话,脚本必须满足以下两个要求:
文件有"x"权限
文件如果不是二进制类型文件,那么在开头第一行必须指定了他的解释器
第一个就是指的Linux文件系统中的"rwx" r为只读,w代表可写,而"x"则意味着这个文件可执行.
这里判断这个文件可执行和"鸭子类型"有些类似,即只要一个动物会嘎嘎叫我就认为是鸭子.此时哪怕走过来一条狗嘎嘎叫了两声,那么也认为他是一个鸭子.
换算过去.不管文件类型是什么,只要这个文件具备"X"权限,那么系统就认为他是一个可执行文件.
示例: 新建一个text类型文件,内容为hello world!
,然后添加"x"执行权限.
可以看到,查看文件类型时,他和上面Python脚本打印内容一致,认为这是个txt文件.
随后给他加上了执行权限,然后’./'运行,提示"未找到命令".
此处,系统把他当成了一个shell脚本去执行,依次从中读取内容,然后交给"/bin/bash"解释器去执行.
接下来如法炮制,将Python脚本也变成一个系统认可的可执行文件
此时,你也能用./
去运行他了.
./ 表示什么?
一个文件运行有两种方式,第一种是用他的解释器直接去运行它,如:
每个解释器只能运行对应自己语法的脚本,如果用了别的解释器那么则会抛出错误,如Python解释器无法运行shell脚本.
接下来说./
,点在Linux系统中表示"当前目录",而"/“就是个普通的路径分隔符,组合在一起无非就是个相对路径,如:
所以在执行一个系统认可的可执行文件的时候,./
Und die Skriptdatei gibt Folgendes aus:
hello world!
ausgegeben.🎜🎜Hier werden zwei verschiedene Ausführungsmethoden verwendet. Die erste gibt direkt eine ausführbare Datei ./hello.sh
an Diese Methode soll ausgeführt werden. Wenn ja, muss das Skript die folgenden zwei Anforderungen erfüllen: 🎜- 🎜Die Datei verfügt über „x“ Berechtigungen🎜
- 🎜Wenn es sich bei der Datei nicht um eine Binärdatei handelt, muss ihr Interpreter in der ersten Zeile am Anfang angegeben werden🎜
Mit anderen Worten, egal um welchen Dateityp es sich handelt, solange die Datei über „X“-Berechtigungen verfügt , das System betrachtet es als ausführbare Datei 🎜🎜🎜Beispiel: Erstellen Sie eine neue Textdatei mit dem Inhalt
hello world!
und fügen Sie dann die Ausführungsberechtigung „x“ hinzu.🎜🎜./
verwenden, um es auszuführen 🎜🎜🎜🎜./ Was bedeutet das? 🎜🎜🎜Es gibt zwei Möglichkeiten, eine Datei auszuführen. Die erste besteht darin, ihren Interpreter zu verwenden, um sie direkt auszuführen, wie zum Beispiel: 🎜🎜./
, das Linux-System bedeutet „aktuelles Verzeichnis“ und „/“ ist ein gewöhnliches Pfadtrennzeichen ist nichts anderes als ein relativer Pfad, wie zum Beispiel: 🎜🎜./
Es ist nicht der wichtigste Teil, sondern die Datei selbst. Ich kann beispielsweise eine ausführbare Datei ausführen Datei mit einem absoluten Pfad:🎜🎜🎜🎜Wenn Sie den vorherigen /root/file/
entfernen und dann die .py
am Ende löschen, geben Sie einfach „Hallo“ ein und drucken Sie einen Hallo Welt!
, dann scheint sich diese Datei nicht von einem Befehl im Linux-System zu unterscheiden./root/file/
都去掉,然后删掉结尾的.py
,也就是只输入"hello”,打印一个hello world!
,那么这个文件似乎和Linux系统中的一个命令没什么区别了.
接下来就把他变成和ls
这种命令相同的一个"命令".
先把这个可执行文件重命名了
接下来把他放到了 /usr/bin 目录下
直接输入hello,直接打印了
hello world!
这也从侧面说明,只要你把一个脚本 变成 系统承认的可执行文件,并且放到/usr/bin 目录下,他就和常用的命令没什么两样.
为什么是/usr/bin?
实际上在Linux系统中有个变量叫做PATH,这个变量中是一组路径的集合,当你输入一个命令的时候(如ls),他就在这个变量的内容中给出的目录里,寻找是否有对应名称的文件,然后运行它.
所以,如果我能把当前目录也加入到这个变量中,那么当前目录下的文件也就可以直接被系统运行而不需要指定路径.
如果一个文件没有"x"属行,那么即便是丢到了/usr/bin目录下也无法执行.
一般很少会直接声明PATH变量,对这个变量操作时也会将其写入到~/.bashrc
目录或者/etc/profile
ls
identisch ist .hello world!
Dies wird auch von der Seite erklärt, solange Sie ein Skript in eine vom System erkannte ausführbare Datei umwandeln und Im Verzeichnis /usr/bin abgelegt, unterscheidet es sich nicht von häufig verwendeten Befehlen.🎜Warum ist es /usr/bin?🎜🎜 Tatsächlich gibt es im Linux-System eine Variable namens PATH. Diese Variable ist eine Reihe von Pfaden. Wenn Sie einen Befehl eingeben (z. B. ls), befindet er sich hier Im im Inhalt angegebenen Verzeichnis Suchen Sie in der Variablen nach einer Datei mit dem entsprechenden Namen und führen Sie sie dann aus 🎜🎜Wenn ich also das aktuelle Verzeichnis zu dieser Variablen hinzufügen kann, können die Dateien im aktuellen Verzeichnis direkt ausgeführt werden, ohne den Pfad anzugeben . 🎜🎜
~/.bashrc
oder in die Dateien der beiden Umgebungsvariablen /etc/profile
geschrieben Sitzungsverbindung Nach dem Hochladen wird der darin enthaltene Inhalt automatisch ausgeführt und dieses Verzeichnis wird zur PATH-Variablen hinzugefügt. 🎜🎜🎜🎜 Zusammenfassung 🎜🎜 Wenn eine Skriptdatei über „x“-Berechtigungen verfügt und der entsprechende Interpreter in der ersten Zeile angegeben ist, oder Wenn eine Binärdatei über die Berechtigung „X“ verfügt, wird die Datei zu einer vom System erkannten ausführbaren Datei. Zu diesem Zeitpunkt können Sie beim Ausführen nicht nur den absoluten Pfad oder relativen Pfad angeben, sondern sie auch über ihren Interpreter ausführen , oder Sie können das Verzeichnis, in dem es sich befindet, zur Variablen „PATH“ hinzufügen 🎜🎜Wenn eine Skriptdatei die oben genannten Anforderungen nicht erfüllt, können Sie sie nur über ihren Interpreter ausführen, z. B. „bash hello.sh“ oder „python hallo.“ py“ hier entlang.🎜🎜Verwandte Empfehlungen: „🎜Linux Video Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonWas ist eine ausführbare Linux-Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die wichtigsten Unterschiede zwischen CentOS und Ubuntu sind: Ursprung (CentOS stammt von Red Hat, für Unternehmen; Ubuntu stammt aus Debian, für Einzelpersonen), Packungsmanagement (CentOS verwendet yum, konzentriert sich auf Stabilität; Ubuntu verwendet apt, für hohe Aktualisierungsfrequenz), Support Cycle (Centos) (CENTOS bieten 10 Jahre. Tutorials und Dokumente), Verwendungen (CentOS ist auf Server voreingenommen, Ubuntu ist für Server und Desktops geeignet). Weitere Unterschiede sind die Einfachheit der Installation (CentOS ist dünn)

CentOS wird 2024 geschlossen, da seine stromaufwärts gelegene Verteilung RHEL 8 geschlossen wurde. Diese Abschaltung wirkt sich auf das CentOS 8 -System aus und verhindert, dass es weiterhin Aktualisierungen erhalten. Benutzer sollten eine Migration planen, und empfohlene Optionen umfassen CentOS Stream, Almalinux und Rocky Linux, um das System sicher und stabil zu halten.

Docker verwendet Linux -Kernel -Funktionen, um eine effiziente und isolierte Anwendungsumgebung zu bieten. Sein Arbeitsprinzip lautet wie folgt: 1. Der Spiegel wird als schreibgeschützte Vorlage verwendet, die alles enthält, was Sie für die Ausführung der Anwendung benötigen. 2. Das Union File System (UnionFS) stapelt mehrere Dateisysteme, speichert nur die Unterschiede, speichert Platz und beschleunigt. 3. Der Daemon verwaltet die Spiegel und Container, und der Kunde verwendet sie für die Interaktion. 4. Namespaces und CGroups implementieren Container -Isolation und Ressourcenbeschränkungen; 5. Mehrere Netzwerkmodi unterstützen die Containerverbindung. Nur wenn Sie diese Kernkonzepte verstehen, können Sie Docker besser nutzen.

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

CentOS -Installationsschritte: Laden Sie das ISO -Bild herunter und verbrennen Sie bootfähige Medien. Starten und wählen Sie die Installationsquelle; Wählen Sie das Layout der Sprache und Tastatur aus. Konfigurieren Sie das Netzwerk; Partition die Festplatte; Setzen Sie die Systemuhr; Erstellen Sie den Root -Benutzer; Wählen Sie das Softwarepaket aus; Starten Sie die Installation; Starten Sie nach Abschluss der Installation von der Festplatte neu und starten Sie von der Festplatte.

Backup- und Wiederherstellungsrichtlinie von GitLab im Rahmen von CentOS -System Um die Datensicherheit und Wiederherstellung der Daten zu gewährleisten, bietet GitLab on CentOS eine Vielzahl von Sicherungsmethoden. In diesem Artikel werden mehrere gängige Sicherungsmethoden, Konfigurationsparameter und Wiederherstellungsprozesse im Detail eingeführt, um eine vollständige GitLab -Sicherungs- und Wiederherstellungsstrategie aufzubauen. 1. Manuell Backup Verwenden Sie den GitLab-RakegitLab: Backup: Befehl erstellen, um die manuelle Sicherung auszuführen. Dieser Befehl unterstützt wichtige Informationen wie GitLab Repository, Datenbank, Benutzer, Benutzergruppen, Schlüssel und Berechtigungen. Die Standardsicherungsdatei wird im Verzeichnis/var/opt/gitlab/backups gespeichert. Sie können /etc /gitlab ändern

CentOS -Festplattenhalterung ist in die folgenden Schritte unterteilt: Bestimmen Sie den Namen der Festplattengeräte (/dev/sdx); Erstellen Sie einen Mountspunkt (es wird empfohlen, /mnt /newDisk zu verwenden). Führen Sie den Befehl montage (mont /dev /sdx1 /mnt /newdisk) aus; Bearbeiten Sie die Datei /etc /fstab, um eine permanente Konfiguration des Montings hinzuzufügen. Verwenden Sie den Befehl uMount, um das Gerät zu deinstallieren, um sicherzustellen, dass kein Prozess das Gerät verwendet.

Nachdem CentOS gestoppt wurde, können Benutzer die folgenden Maßnahmen ergreifen, um sich damit zu befassen: Wählen Sie eine kompatible Verteilung aus: wie Almalinux, Rocky Linux und CentOS Stream. Migrieren Sie auf kommerzielle Verteilungen: wie Red Hat Enterprise Linux, Oracle Linux. Upgrade auf CentOS 9 Stream: Rolling Distribution und bietet die neueste Technologie. Wählen Sie andere Linux -Verteilungen aus: wie Ubuntu, Debian. Bewerten Sie andere Optionen wie Container, virtuelle Maschinen oder Cloud -Plattformen.