Home Common Problem What is a linux executable file?

What is a linux executable file?

Mar 09, 2023 am 10:00 AM
linux executable file

In Linux, an executable file means that the file can be run and the file has "x" permissions; the executable file can be a code file (script file) or a binary file. There are two ways to run a file: 1. Use the interpreter to run the file directly; 2. Use "./" to run the file, and the syntax is "./ file name".

What is a linux executable file?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

What is an executable file

An executable file refers to a file that can be run. This file can be a code file, or It can be a binary file

There are only files and directories in the Linux file system (everything is a file).

In Linux, there are two main ways to run a file: bash test .sh or ./test.sh.

This test.sh is called an executable file.

Executable file Divided into two types: one is a common binary file, and the other is a script file. The former, such as the commonly used ls, mkdir commands, etc. are all binary files, while the latter is a common There are shell scripts or Python scripts that rely on interpreter execution.

You can check the type of a file through the command file. For example, a binary file will display:

What is a linux executable file?

The script file outputs:
What is a linux executable file?

The difference between executable files

As you can see from the two script files above, the output content is different. One is recognized as shell script and the other is considered an ordinary text file. However, both files are executable:

What is a linux executable file?

As shown in the picture: after running both files, they will output hello world!.

Two different runs are used here Method, the first method directly specifies an executable file ./hello.sh. If run in this way, the script must meet the following two requirements:

  • The file has "x" permissions

  • If the file is not a binary type file, its interpreter must be specified in the first line at the beginning

The first one refers to "rwx" in the Linux file system. r means read-only, w means writable, and "x" means that the file is executable.

Judge this file here The executable is somewhat similar to the "duck type", that is, as long as an animal can quack, I think it is a duck. At this time, even if a dog walks over and quacks twice, then it is also considered a duck.
Convert. No matter what the file type is, as long as the file has "X" permissions, the system will consider it an executable file.

Example: Create a new text type file with the content hello world !, and then add "x" execution permission.

What is a linux executable file?

#You can see that when viewing the file type, it is consistent with the content printed by the Python script above, and it is considered to be a txt file.

Then execute permission is added to it, and then './' is run, prompting "Command not found".

Here, the system treats it as a shell script to execute , read the content from it in turn, and then hand it over to the "/bin/bash" interpreter for execution.

Then follow the same method and turn the Python script into an executable file recognized by the system

What is a linux executable file?

At this time, you can also use ./ to run it.

./What does it mean?

There are two ways to run a file. The first is to run it directly using its interpreter, such as:

What is a linux executable file?

Each interpreter can only run scripts corresponding to its own syntax. If another interpreter is used, an error will be thrown. For example, the Python interpreter cannot run shell scripts.

Let’s talk next./, dot means "current directory" in Linux system, and "/" is an ordinary path separator. When combined together, it is nothing more than a relative path, such as:

What is a linux executable file?

So when executing an executable file recognized by the system, ./ is not the most important part, the file itself is. For example, I can run an executable file with an absolute path document:

7-What is a linux executable file?

If you remove the /root/file/ in front, and then delete the .py at the end, that is, just enter "hello" and print a hello world !, then this file seems to be no different from a command in the Linux system.

Next, let’s turn it into a "command" that is the same as ls .

What is a linux executable file?

  • First rename the executable file

  • Then put it in / In the usr/bin directory

  • , enter hello directly, and hello world!

is printed directly. From the side, as long as you turn a script into an executable file recognized by the system and put it in the /usr/bin directory, it will be no different from commonly used commands.

Why is it /usr/bin?

In fact, there is a variable called PATH in the Linux system. This variable is a set of paths. When When you enter a command (such as ls), it will look for a file with the corresponding name in the directory given in the content of this variable, and then run it.

So, if I can put the current The directory is also added to this variable, then the files in the current directory can be directly run by the system without specifying a path.

What is a linux executable file?

If a file does not have " x" belongs to the line, then it cannot be executed even if it is thrown into the /usr/bin directory.

Generally, the PATH variable is rarely declared directly, and it will also be written to when operating on this variable. ~/.bashrc directory or /etc/profile in the files of these two environment variables. In this way, after the session is connected, the contents inside will be automatically run and this directory will be added. to the PATH variable.

Summary

If a script file has "x" permissions and the corresponding interpreter is specified on the first line, or a binary If the file has "X" permission, then the file becomes an executable file recognized by the system. At this time, when running it, not only can you specify an absolute path or a relative path, but you can also execute it through its interpreter, or you can put it where it is. Add the directory to the "PATH" variable.

If a script file does not meet the above requirements, you can only execute it through its interpreter, such as "bash hello.sh" or "python hello.py" this way.

Related recommendations: "Linux Video Tutorial"

The above is the detailed content of What is a linux executable file?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What computer configuration is required for vscode What computer configuration is required for vscode Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

vscode terminal usage tutorial vscode terminal usage tutorial Apr 15, 2025 pm 10:09 PM

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

Where to write code in vscode Where to write code in vscode Apr 15, 2025 pm 09:54 PM

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

vscode terminal command cannot be used vscode terminal command cannot be used Apr 15, 2025 pm 10:03 PM

Causes and solutions for the VS Code terminal commands not available: The necessary tools are not installed (Windows: WSL; macOS: Xcode command line tools) Path configuration is wrong (add executable files to PATH environment variables) Permission issues (run VS Code as administrator) Firewall or proxy restrictions (check settings, unrestrictions) Terminal settings are incorrect (enable use of external terminals) VS Code installation is corrupt (reinstall or update) Terminal configuration is incompatible (try different terminal types or commands) Specific environment variables are missing (set necessary environment variables)