Questions tagged «executable»

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

4
如何清除Bash可执行文件路径的缓存?
当我在不指定可执行文件的完整路径的情况下执行程序时,Bash必须在其中搜索目录$PATH以查找二进制文件,看来Bash会在某种高速缓存中记住该路径。例如,我安装了一个Subversion从源代码到的构建/usr/local,然后svnsync help在Bash提示符下键入。Bash找到了/usr/local/bin/svnsync“ svnsync” 的二进制文件并执行了它。然后,当我删除Subversion的安装/usr/local并重新运行时svnsync help,Bash会响应: bash: /usr/local/bin/svnsync: No such file or directory 但是,当我启动Bash的新实例时,它会发现并执行/usr/bin/svnsync。 如何清除可执行文件路径的缓存?
256 bash  executable  cache 

1
单声道魔术如何?
我正在学习C#,所以我制作了一个小C#程序,说Hello, World!,然后使用进行编译mono-csc并运行mono: $ mono-csc Hello.cs $ mono Hello.exe Hello, World! 我注意到,当我点击TAB时bash,Hello.exe被标记为可执行。确实,它只是通过加载文件名的shell运行! Hello.exe是不是有一个有趣的文件扩展名的ELF文件: $ readelf -a Hello.exe readelf: Error: Not an ELF file - it has the wrong magic bytes at the start $ xxd Hello.exe | head -n1 00000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000 MZ.............. MZ表示它是Microsoft Windows静态链接的可执行文件。将其放到Windows框上,它将(应该)运行。 …

9
为什么/ dev / null是文件?为什么不将其功能实现为简单程序?
我试图理解Linux上特殊文件的概念。但是,据/dev我所知,当可以用C中的几行代码实现其功能时,在其中包含特殊文件似乎很愚蠢。 此外,您可以以几乎相同的方式使用它,即,通过管道连接到,null而不是重定向到/dev/null。将其作为文件有特定的原因吗?使其不成为文件会导致许多其他问题,例如太多程序正在访问同一文件吗?


7
什么是/ usr / local / bin?
在今天之前,我已经在一定程度上使用了终端,可以使用touch命令来移入和移出目录以及更改文件的日期。在Mac上安装了一个有趣的脚本并不得不chmod 755将该文件设置为可执行文件之后,我已经意识到了终端的全部功能。 我想知道是什么/usr/local/bin。/usr/我假设是计算机的用户。我不确定为什么/local/在那里。它显然代表本地计算机,但是由于它位于计算机(或服务器)上,真的有必要吗?会/usr/bin没事的吗? 那是/bin什么?为什么通常将此区域用于在终端上安装脚本?


5
shebang是否确定运行脚本的shell?
这可能是一个愚蠢的问题,但我仍然要问。如果我宣布了射手 #!/bin/bash 在的开头my_shell_script.sh,所以我总是必须使用bash调用此脚本吗? [my@comp]$bash my_shell_script.sh 或者我可以使用例如 [my@comp]$sh my_shell_script.sh 我的脚本使用shebang确定正在运行的shell?kshShell 发生了同样的事情吗?我正在使用AIX。


2
在64位系统上运行32位二进制文​​件时收到“找不到”消息
我目前在debian(wheezy / amd64)上遇到一个奇怪的问题。 我已经创建了一个chroot来安装服务器(抱歉,我无法提供更多详细信息)。我们称之为路径/chr_path/。为了使事情变得容易,我已经用debootstrap(也是wheezy / amd64)初始化了此chroot。 chroot内的所有文件似乎都可以正常工作,但是当我启动服务器的安装程序脚本时,我得到了:( zsh: Not found /some_path/perl由于某些原因,安装程序包含perl二进制文件) 自然,我检查了/some_path/位置并找到了“ perl”二进制文件。file在chroot环境中返回: /some_path/perl ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped 该文件存在,看起来不错,具有正确的权限。我可以使用file,ls,vim它但只要我努力去执行它- ./perl例如-我得到:zsh: Not found ./perl。 这种情况对我来说是可以理解的。此外: 我可以在chroot中执行其他基本二进制文件(/ bin / ls,...) 对于项目随附的其他二进制文件,我也有同样的问题 当我尝试从主根目录(/chr_path/some_path/perl)执行二进制文件时,它可以工作。 我尝试将其中一个二进制文件与我的文件副本放在一起ls。我检查了访问权限是否相同,但这并没有改变任何内容(一个正在工作,另一个则没有)


9
脚本可以执行但不可读吗?
如果没有读取脚本的权限,是否可以执行该脚本?在root模式下,我创建了一个脚本,并且希望其他用户执行此脚本但不读取它。我确实chmod禁止读写,但允许执行,但是在用户模式下,我看到了以下消息:权限被拒绝。


2
本地可执行文件应放在哪里?
我有一个针对perforce版本控制客户端(p4)的可执行文件。我无法放置它,/opt/local因为我没有root特权。是否需要将其放在下面的标准位置$HOME? 文件系统层次结构是否有约定要求放置本地可执行文件/二进制文件$HOME/bin? 我找不到Wikipedia文章中提到的有关FHS的约定。 另外,如果确实有约定,我是否必须明确包含$HOME/bin目录的路径或目录的位置bin?


2
为什么某些共享库是可执行文件,为什么以及如何运行?
在32位Linux系统上,调用此 $ /lib/libc.so.6 在64位系统上 $ /lib/x86_64-linux-gnu/libc.so.6 在外壳中,提供如下输出: GNU C Library stable release version 2.10.1, by Roland McGrath et al. Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. …

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.