Questions tagged «executable»

文件模式下的允许位,允许文件作为程序运行。此外,问题还涉及程序文件的格式以及定位和执行程序文件。


4
即使文件存在并且在PATH中,Linux可执行文件也会失败并显示“找不到文件”
我想启动wine可执行文件(版本2.12),但是出现以下错误($= shell提示符): $ wine bash: /usr/bin/wine: No such file or directory $ /usr/bin/wine bash: /usr/bin/wine: No such file or directory $ cd /usr/bin $ ./wine bash: ./wine: No such file or directory 但是,文件在那里: $ which wine /usr/bin/wine 可执行文件肯定在那里,并且没有死的符号链接: $ stat /usr/bin/wine File: /usr/bin/wine Size: 9712 Blocks: 24 IO Block: 4096 …

2
像ls这样的系统命令是如何创建的?
我对* nix有一些疑问。 我不知道哪种可执行文件是ls.sh或.ksh或其他类型的系统可执行文件,那是什么? 当我尝试查看ls命令的源代码是什么时,它表明某些内容不可读,* nix使用什么方法来创建这些类型的不可读文件,并且可以使我的文件类似于这些文件(例如ls-不可读)。

1
为什么file命令说ELF二进制文件适用于Linux 2.6.9?
每当我在ELF二进制文件上运行文件时,都会得到以下输出: [jonescb@localhost ~]$ file a.out a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped 我只是想知道Linux 2.6.9中有什么变化,使得该二进制文件无法在2.6.8上运行?Linux 2.0中是否未添加ELF支持?
18 linux  executable  elf 

3
运行sh脚本:尽管具有可执行位和root权限,但«权限被拒绝»
我在VirtualBox中安装了Debian (用于各种通常会破坏系统的实验),并尝试启动VirtualBox guest虚拟机附加脚本。我以root用户身份登录并尝试启动autorun.sh,但是得到了“权限被拒绝”。ls -l显示该脚本具有可执行权限。 抱歉,我无法复制输出-VirtualBox在没有插件的情况下绝对没有用,因为共享目录或共享剪贴板都不起作用。但是请您确定,我手动复制了权利: #ls -l ./autorun.sh -r-xr-xr-x 1 root root 6966 Mar 26 13:56 ./autorun.sh 起初我以为脚本可能执行了导致错误的操作。我尝试用替换/bin/sh为#/pathtorealsh/sh -xv,但没有输出-似乎脚本甚至无法执行。 我什至不知道是什么原因造成的。

1
在zsh中执行脚本-文件权限
我对执行文件权限不符合我的预期感到困惑。可能是因为我的期望是错误的。无论如何: 我有一个脚本文件,为了简单起见s,它位于中~/bin。对于此示例,文件仅包含以下几行: #!/bin/zsh echo "Test"; 很简单的。 我导航到~/bin目录,并chmod具有sto 的文件权限400-即,仅对我只读。没有执行权限。因此,我尝试通过输入脚本路径来执行脚本,并给出以下内容: % ./s zsh: permission denied: ./s 到目前为止,一切都很好。由于权限错误,无法执行该文件。将权限提升到最高500(授予执行权限)也可以正常工作-使用这些权限,文件可以正常执行: % ./s Test 这完全符合预期。但是然后我将chmod权限放回至400(再次关闭执行权限),尝试source处理该文件,然后发生这种情况: % source s Test 虽然权限是 400,但脚本将执行。 所以这是我的问题:为什么会./s失败(应该如此),但是source s正常执行?这不会破坏执行权限的全部目的吗? 在400权限下,sh s以及zsh s同时工作。 我确定我在做某事或在某处了解严​​重错误。可有人指出哪里给我,并解释之间的区别./s,source s,sh s和zsh s?

8
Linux Shell脚本:仅在程序存在时运行,如果不存在则将其忽略
我编程一个Linux的shell脚本,将只有在合适的工具,比如它的执行过程中打印状态横幅figlet,被安装(是这样的:到达系统的路径)。 例: #!/usr/bin/env bash echo "foo" figlet "Starting" echo "moo" figlet "Working" echo "foo moo" figlet "Finished" 我想为我的脚本工作无差错,即使figlet在没有安装。 什么是实用的方法?

3
程序运行时如何进行实时更新?
我不知道如何在仍在运行时通过系统的程序包管理器更新杀手级应用程序,例如Thunderbird或Firefox。旧代码在更新时会怎样?当我要编写程序a.out并在运行时进行自我更新时,该怎么办?

1
可以在脚本中使用功能而无需设置解释器二进制文件的大小吗?
现在,我正在cap_net_bind_service MY_USERNAME/etc/security/capability.conf中使用。 现在,我只需要设置cap_net_bind_service+i我最喜欢的脚本语言的解释器就可以通过libcap [-ng] 添加CAP_NET_BIND_SERVICE到有效集合中。 这很好用,但是我想知道是否有一种方法可以在不对解释器二进制代码设置任何上限的情况下实现相同的目的。虽然这不是一个大问题(其他用户帐户没有上限,所以即使在解释器二进制文件中设置了位,他们也无法使用该上限),但由于每次使用解释器时我都必须重新设置标志,这有点令人讨厌更新。

4
vim:用+ x位创建文件
+x创建时有什么方法可以设置脚本位吗? 例如,我运行: vim -some_option_to_make_file_executable script.sh 保存后,我可以运行文件而无需任何其他动作。 ps。我可以从控制台运行chmod,vim甚至可以从控制台运行,但这有点烦人,原因是vim建议重新加载文件。chmod每次键入命令也很烦人。pps。使其取决于文件扩展.txt名将是很棒的(我不需要可执行文件:-))


3
创建静态二进制
我安装了一个应用程序[例如fdisk]。但是它需要执行库。我正在寻找实用程序/工具,它将帮助我从已安装的二进制文件创建静态二进制文件。这样我就可以在任何地方使用它。 我找到的唯一可靠的工具是ErmineLight从 这里开始的,但这是共享软件。 是否有可用的开源软件? EDIT fdisk只是一个例子。我大部分时间都在LFS上工作,因此,如果必须使用任何实用程序,我需要按照以下步骤进行操作: 下载源码 配置 使 做测试 进行安装, 因此,为了节省时间,我正在寻找一种解决方案,其中将使用debian,fedora或其他发行版制作静态二进制文件,并在LFS上进行尝试,如果可以正常运行或按照我的要求运行,我将附带源代码进行编译。


1
名为“ test”的可执行文件位于$ PATH中,但不会运行
我在$ HOME / bin中有一个文件(在您询问之前,是的,它在我的路径中)test,我已经确认可以在使用文件的完整路径运行该文件时执行该文件。但是,如果不这样运行,就会遇到一个非常奇怪的问题。当我只test在终端中运行时,它什么也不做,并立即返回。我知道,由于以下几个原因,这不是查找文件的问题: 没有错误信息。通常,如果找不到或无法执行该文件,则会显示一条消息,提示您。 运行which test仍会返回正确的文件路径。 可能是所有方法中最怪异的-运行脚本时,脚本工作正常strace。我尝试使用strace看看是否可以弄清楚发生了什么,但是当我使用进行运行时strace,它按预期运行了0个问题。

1
可执行文件上没有“这样的文件或目录”,但文件存在并且ldd报告存在的所有库
因此,通过任何其他命令,可执行文件都存在,但是当我尝试执行该文件时,它声称它不存在。 它不是名称中的特殊字符,因为我将其重命名为“猫”。它似乎是正确体系结构的二进制文件……“似乎”,我想问题是,还有什么抛出tat错误消息BESIDES……文件不存在,因为它显然是IS! ldd xls linux-gate.so.1 => (0xb77bc000) libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0xb6cc2000) libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb6c98000) libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xb6c8f000) libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xb6c76000) libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb6c6d000) libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb6bd1000) libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6b9b000) libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb6b88000) libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb6a50000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb6a2a000) libQtSql.so.4 => /usr/lib/i386-linux-gnu/libQtSql.so.4 …
13 linux  executable 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.