Linux 上可执行文件的位置在哪里? (linux 可执行文件位置)

在 Linux 操作系统中,可执行文件是一种被赋予了“权限”来运行的文件。这些文件可以是可执行文件、脚本程序以及其他二进制文件,它们通常被存储在操作系统的文件系统之中。

在 Linux 中,一些程序可以被直接执行,而另一些则需要在终端上输入相应的命令才能运行。这取决于它们在系统内执行的方式。

那么,在这篇文章中,我们将会深入探讨这个问题,并且介绍一些 Linux 文件系统的基础知识和原理。

Linux 文件系统的基础知识和原理

在 Linux 中,所有的文件和文件夹都被组织成了文件系统。这个文件系统树状结构的根目录为“/”,通常被称为“根目录”。

根目录包含了操作系统里面所有的文件和文件夹。而在 Linux 文件系统中,每个文件和文件夹都有它们属于自己的路径或位置。这意味着如果你知道一个文件或文件夹的位置,就可以直接在终端里面打开它。

Linux 上可执行文件的位置

在 Linux 下,可执行文件的位置通常有以下几个:

1. /usr/bin/

/usr/bin/ 目录中存储了大部分系统管理员和普通用户可执行的程序。这个目录通常会在系统安装的时候被添加到操作系统的环境变量路径中,从而让用户无需输入完整的路径就可以启动它们。

例如,如果想要运行 ping 命令,只需要在终端中输入 “ping”,就可以在 /usr/bin/ 目录下找到可执行的二进制文件并直接执行。

2. /usr/local/bin/

/usr/local/bin/ 目录通常是用于存储在 Linux 系统上安装本地软件的可执行文件。这些文件通常被官方的操作系统软件仓库没有提供,需要自己手动安装。

3. /bin/

/bin/ 目录下放置了在系统引导过程中就需要运行的最基本程序,如 init 和 shell 程序等。这些程序也可以被运行,但由于安全考虑,通常不能被普通用户更改。

4. /in/

/in/ 目录下存放的是只能被系统管理员执行的系统管理程序,包括一些涉及安全、网络以及系统管理的维护程序,如 sshd 和 iptables 等。

这些都是包含在系统路径中的位置,但是,你也可以在其他目录里面找到可执行文件。如果你没有找到一个可执行文件的目录位置,可以尝试以下两种方法来搜索:

1. find 命令

find 命令让你能够在系统的任何地方搜索文件。你可以通过执行以下命令来搜索一个可执行文件:

find / -name “executableFile”

在这个命令中,你需要将”executableFile”替换为你想要寻找的可执行文件的名字。

如果搜索到了文件,find 命令将返回文件的完整路径。在这个例子中,文件的名字被称为“executableFile”。

2. which 命令

which 命令是一个用于查找可执行文件的命令行工具。它会找到你输入的命令并显示出它的位置。

例如:

which ping

这个命令就会输出 ping 命令的位置。

那么,Linux 上可执行文件的位置到底在哪里?其实,在 Linux 文件系统的不同目录下都可能会存放可执行文件。而这些文件的路径和位置将会影响它们在系统中的运行方式。

相关问题拓展阅读:

linux中重要文件夹介绍?各个文件夹各有什么作用?

这么几个很重要/etc 这个目录下面保存了LINUX的系统设置信息..

在修改下面的文件的时候更好先把你修改的文件做个备份.

/dev 下面是所有外部拍并的移动设备的信息..Linux和windows不一样的地方就是,它里面所有的东西都是文件.. 包括硬件(硬盘,CPU,内存) 都是以文件的形式存在的..

/dev/mnt 这个是挂载目录,就是你要插U盘的时候,必须把U盘挂到这个目录下面,否则用不了..

还有很多..我也不能说的很清楚../etc 是最重要的,/dev 是最常用的.

还有其他的文件夹,比如/bin /in /home /root

/bin是用户的文件存储位置,/in 是系统文件的存储文职..

/home 是家目录,比如,你的用户名是1234 那么在/home的这个目录下面,必定有一个1234的文件夹 这个文件夹就称为1234 用户的家目录

但是有一个不一样,那就是超级管理员root 他的家目袭轮迹录是单桐稿独列出来的也就是

/root 家目录的作用就是保存用户的个人配置..以及一些个人信息等等..

还有很多文件夹,我也不能全部告诉你,因为这样我会累死:)

这些是最基本的.. 希望对你有帮助..

以下是linux系统常见的重要目录以及各个目作用:

/

根目录。

包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。

/boot

引导程序,内核等存放的目录。

这个目录,包括了在引导过程中所必需的文件,引导程序的相关文件(例如grub,lilo以及相应的配置文件以及Linux操埋禅雀作系统内核相关文件(例如vmlinuz等一般都存放在这里。在最开始的启动阶段,通过引导程序将内核加载到内存,完成内核的启动(这个时候,虚拟文件系统还不存在,加载的内核虽然是从硬盘读取的,但是没经过Linux的虚拟文件系统,这是比较底层的东西来实现的。然后内核自己创建好虚拟文件系统,并且从虚拟文件系统的其他子目录中(例如/in 和 /etc加载需要在开机启动的其他程序或者服务或者特定的动作(部分可以由用户自己在相应的目录中修改相应的文件来配制。如果我们的机器中包含多个操作系统,那么可以通过修改这个目录中的某个配置文件(例如grub.conf来调整启动的默认操作系统,系统启动的择菜单,以及启动延迟等参数。

/in

超级用户可以使用的命令的存放目录。

存放大多涉及系统管理的命令(例如引导系统的init程序,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令(但是时普通用户也可能会用到。这个目录和/usr/in; /usr/X11R6/in或/usr/local/in等目录是相似的,我们要记住,凡是目录in中包含的都是root权限才能执行的,这样就行了。后面会具体区分。

/bin

普通用户可以使用的命令的存放目录。

系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;类似的目录还/usr/bin,/usr/local/bin等等。这个目录中的文件都是可执行的、普通用户都可以使用的命令。作为基础系统所需要的最基础的命令就是放在这里。

/lib

根目录下的所程序的共享库目录。

此目录下包含系统引导和在根用户执行命令时候所必需用到的共享库。做个不太好但是比较形象的比喻,点类似于Windows上面的system32目录。理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。类似的目录还/usr/lib,/usr/local/lib等等。

/弯早dev

设备文件目录。

在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备。设备文件可以使用mknod命令来创建,具体参见相应的命令;而为了将对这些设备文件的访问转化为对设备的访问,需要向相应的设备提供设备驱动模块(一般将设备驱动编译之后,生成的结果是一个*.ko类型的二进制文件,在内核启动之后,再通过inod等命令加载相应的设备驱动之后,我们就可以通过设备文件来访问设备了。一般来说,想要Linux系统支持某个设备,只要个东西:相应的硬件设备,支持硬件的驱动模块,以及相应的设备文件。

/home

普通用户的家目录($HOME目录袭液。

在Linux机器上,用户主目录通常直接或间接地置在此目录下。其结构通常由本地机的管理员来决定。通常而言,系统的每个用户都自己的家目录,目录以用户名作为名字存放在/home下面(例如quietheart用户,其家目录的名字为/home/quietheart。该目录中保存了绝大多数的用户文件(用户自己的配置文件,定制文件,文档,数据等),root用户除外(参见后面的/root目录。由于这个目录包含了用户实际的数据,通常系统管理员为这个目录单独挂载一个独立的磁盘分区,这样这个目录的文件系统格式就可能和其他目录不一样了(尽管表面上看,这个目录还是属于根目录的一棵子树上),有利于数据的维护。

/root

用户root的$HOME目录

系统管理员(就是root用户或超级用户)的主目录比较特殊,不存放在/home中,而是直接放在/root目录下了。

/etc

全局的配置文件存放目录。

系统和程序一般都可以通过修改相应的配置文件,来进行配置。例如,要配置系统开机的时候启动那些程序,配置某个程序启动的时候显示什么样的风格等等。通常这些配置文件都集中存放在/etc目录中,所以想要配置什么东西的话,可以在/etc下面寻找我们可能需要修改的文件。一些大型套件,如X11,在 /etc 下它们自己的子目录。系统配置文件可以放在这里或在 /usr/etc。 不过所程序总是在 /etc 目录下查找所需的配置文件,你也可以将这些文件链接到目录 /usr/etc。另外,还一个需要注意的常见现象就是,当某个程序在某个用户下运行的时候,可能会在该用户的家目录中生成一个配置文件(一般这个文件最开始就是/etc下相应配置文件的拷贝,存放相应于“当前用户”的配置,这样当前用户可以通过配置这个家目录的配置文件,来改变程序的行为,并且这个行为只是该用户特的。原因就是:一般来说一个程序启动,如果需要读取一些配置文件的话,它会首先读取当前用户家目录的配置文件,如果存在就使用;如果不存在它就到/etc下读取全局的配置文件进而启动程序。就是这个配置文件不自动生成,我们手动在自己的家目录中创建一个文件的话,也有许多程序会首先读取到这个家目录的文件并且以它的配置作为启动的选项(例如我们可以在家目录中创建vim程序的配置文件.vimrc,来配置自己的vim程序。

/usr

这个目录中包含了命令库文件和在通常操作中不会修改的文件。

这个目录对于系统来说也是一个非常重要的目录,其地位类似Windows上面的”Program Files”目录(请原谅我可能这样做比较不太恰当^_^。安装程序的时候,默认就是安装在此文件内部某个子文件夹内。输入命令后系统默认执行/usr/bin下的程序(当然,前提是这个目录的路径已经被添加到了系统的环境变量中。此目录通常也会挂载一个独立的磁盘分区,它应保存共享只读类文件,这样它可以被运行Linux的不同主机挂载。

/usr/lib

目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放位置。

这个目录功能类似/lib目录,理说,这里存放的文件应该是/bin目录下程序所需要的库文件的存放地,也不排除一些例外的情况。

/usr/bin

一般使用者使用并且不是系统自检等所必需可执行文件的目录。

此目录相当于根文件系统下的对应目录(/bin,非启动系统,非修复系统以及非本地安装的程序一般都放在此目录下。

/usr/in

管理员使用的非系统必须的可执行文件存放目录。

此目录相当于根文件系统下的对应目录(/in,保存系统管理程序的二进制文件,并且这些文件不是系统启动或文件系统挂载 /usr 目录或修复系统所必需的。

/usr/share

存放共享文件的目录。

在此目录下不同的子目录中保存了同一个操作系统在不同构架下工作时特定应用程序的共享数据(例如程序文档信息)。使用者可以找到通常放在 /usr/doc 或 /usr/lib 或 /usr/man 目录下的这些类似数据。

/usr/include

C程序语言编译使用的头文件。

linux下开发和编译应用程序所需要的头文件一般都存放在这里,通过头文件来使用某些库函数。默认来说这个路径被添加到了环境变量中,这样编译开发程序的时候编译器会自动搜索这个路径,从中找到你的程序中可能包含的头文件。

/usr/local

安装本地程序的一般默认路径。

当我们下载一个程序源代码,编译并且安装的时候,如果不特别指定安装的程序路径,那么默认会将程序相关的文件安装到这个目录的对应目录下。例如,安装的程序可执行文件被安装(安装实质就是复制到了/usr/local/bin下面,此程序(可执行文件所需要依赖的库文件被安装到了/usr/local/lib目录下,被安装的软件如果是某个开发库(例如Qt,Gtk等那么相应的头文件可能就被安装到了/usr/local/include中等等。也就是说,这个目录存放的内容,一般都是我们后来自己安装的软件的默认路径,如果择了这个默认路径作为软件的安装路径,被安装的软件的所文件都限制在这个目录中,其中的子目录就相应于根目录的子目录。

/proc

特殊文件目录。

这个目录采用一种特殊的文件系统格式(proc格式,内核支持这种格式。其中包含了全部虚拟文件。它们并不保存在磁盘中,也不占据磁盘空间(尽管命令ls -c会显示它们的大小)。当您查看它们时,您实际上看到的是内存里的信息,这些文件助于我们了解系统内部信息。例如:

├1/ 关于进程1的信息目录。每个进程在/proc 下一个名为其进程号的目录。

├cpuinfo 处理器信息,如类型、制造商、型号和性能。

├devices 当前运行的核心配置的设备驱动的列表。

├dma 显示当前使用的DMA通道。

├filesystems 核心配置的文件系统。

├interrupts 显示使用的中断,and how many of each there have been.

├ioports 当前使用的I/O端口。

├kcore 系统物理内存映象。与物理内存大小一样,但实际不占这么多内存;

├kmsg 核心输出的消息。也被送到syslog 。

├ksyms 核心符号表。

├loadavg 系统”平均负载”;3个没意义的指示器指出系统当前的工作量。

├meminfo 存储器使用信息,包括物理内存和swap。

├modules 当前加载了哪些核心模块。

├net 网络协议状态信息。

├self 到查看/proc 的程序的进程目录的符号连接。

├stat 系统的不同状态

├uptime 系统启动的时间长度。

└version 核心版本。

/opt

可择的文件目录。

这个目录表示的是可择的意思,些自定义软件包或者第方工具,就可以安装在这里。比如在Fedora Core 5.0中,OpenOffice就是安装在这里。些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以把它们的安装路径设置成/opt这样来安装。这个目录的作用一点类似/usr/local。

/mnt

临时挂载目录。

这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了。一般来说,我们更好在/mnt目录下面多建立几个子目录,挂载的时候挂载到这些子目录上面,因为通常我们可能不仅仅是挂载一个设备吧?

/media

挂载的媒体设备目录。

挂载的媒体设备目录,一般外部设备挂载到这里,例如cdrom等。比如我们插入一个U盘,我们一般会发现,Linux自动在这个目录下建立一个disk目录,然后把U盘挂载到这个disk目录上,通过访问这个disk来访问U盘。

/var

内容经常变化的目录。

此目录下文件的大小可能会改变,如缓冲文件,日志文件,缓存文件,等一般都存放在这里。

/tmp

临时文件目录。

该目录存放系统中的一些临时文件,文件可能会被系统自动清空。的系统直接把tmpfs类型的文件系统挂载到这个目录上,tmpfs文件系统由Linux内核支持,在这个文件系统中的数据,实际上是内存中的,由于内存的数据断电易失,当系统重新启动的时候我们就会发现这个目录被清空了。

/lost+found

恢复文件存放的位置。

当系统崩溃的时候,在系统修复过程中需要恢复的文件,可能就会在这里被找到了,这个目录一般为空。

另外,有些目录初学者容易混淆,这里简单区分一下:

/bin,/in与/usr/bin,/usr/in:

/bin一般存放对于用户和系统来说“必须”的程序(二进制文件)。

/in一般存放用于系统管理的“必需”的程序(二进制文件),一般普通用户不会使用,根用户使用。

/usr/bin一般存放的只是对用户和系统来说“不是必需的”程序(二进制文件)。

/usr/in一般存放用于系统管理的系统管理的不是必需的程序(二进制文件)。

/lib与/usr/lib:

/lib和/usr/lib的区别类似/bin,/in与/usr/bin,/usr/in。

/lib一般存放对于用户和系统来说“必须”的库(二进制文件)。

/usr/lib一般存放的只是对用户和系统来说“不是必需的”库(二进制文件)。

Linux中的根目录下的各个文件都有什么作用

1)bin

bin是binary的缩写,是UNIX类操作系统中根目录的标准子目录,包含可执行的程序(即准备运行的程序),以便达到启动(即启动)和修复系统的最小功能。

/bin是系统默认的路径,它是系统发出命令时搜索相应程序的目录列表。这意味着,只要在命令行中输入文件名,然后按下Enter键,就可以运行/bin中的对应的可执行文件(即,可运行程序)从而达到我们执行命令完成对应功能的操作。

2)boot

这里面存放的是启动Linux时使用的一些核心文件。Linux的引导过程是Linux上的开源操作系统在计算机上的初始化。它涵盖了从初始引导到启动初始用激芹户空间应用程序的许多步骤。同样让我们打开boot看看,里面的内容。

3)dev

/dev是特殊文件或设备文件的位置。它突出显示了Linux文件系统的一个重要方面——一切皆文件/目录。

4)etc

etc目录用来存放系统管理所需要的配置文件和子目录。它包含所有与系统相关的配置文件。

5)home

使用用户的主目录,比如说有个用户叫zhang,那他的主目录就是/home/zhang我们通常同“~”来表示家目录。

6)lib

这个目录里存放着内核模块和系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库,是二进制文件。它们对于基本系统功能是必不可少的。

7)lost+found

每个文件系统即每个行昌分区都有自己lost+found的目录。你会在这里找到被损坏的文件的恢复位。

这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所,也就是说它对于恢复由于许多原因如电源故障而没有正确关闭的文件是有用的。

8)media

这是linux中的播放器。Linux媒体播放器和任何其他媒体播放器一样做同样的事情:播放音频和视频。在本文中,“Linux媒体播放器”被用于作为Linux视频播放器和Linux音频播放器的双重任务的软件。

9)mnt

系统提供这个目录是让用户临时挂载别的文件系统。这是一个通用的挂载点。该目录通常包含挂载点或子目录,在其中安装软盘和CD。

10)opt

这个目录是为所有不属于默认安装的软件和附加包保留的。因为要遵守FSSTND,所有第三方应用程序都应该安装在这个目录中。

11)proc

这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。

12)root

root包含一个先进的GNU/Linux操作系统。它的目标是稳定、灵活和快速档铅扒。root是一个通用系统,包括服务器和工作站使用的软件。root包括现代和强大的桌面环境。它是系统管理员的主目录。作为系统的拥有者,它的特权就是单独拥有一个目录。

13)in

/in是Linux和其他UNIX类操作系统中root目录的标准子目录,包含可执行程序(即准备运行)程序,也就是说这里存放的是系统管理员使用的管理程序。

关于linux 可执行文件位置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux 上可执行文件的位置在哪里? (linux 可执行文件位置)