unix 执行_mac unix执行文件 - CSDN
精华内容
参与话题
  • 新建一个文本,输入要执行的终端命令,然后另存为无格式文件, 比如另存为名script. 然后打开终端,输入 sudo chmod u+x script 这个script要写成那个文件的绝对路径. 比如 sudo chmod u+x /Users/xxx/Desktop/script ...

    新建一个文本,输入要执行的终端命令,然后另存为无格式文件, 比如另存为名script.

    然后打开终端,输入 sudo chmod u+x script 这个script要写成那个文件的绝对路径.

    比如 sudo chmod u+x /Users/xxx/Desktop/script

    执行后,那个script文件就会变成类似批处理的文件.双击就能运行里面的终端命令.

    转载于:https://www.cnblogs.com/samniu/p/3891434.html

    展开全文
  • 如何执行unix下的exe程序

    千次阅读 2007-10-13 22:42:00
    unix执行exe可执行程序:命令如下:./namename是exe的名字,注意没有后缀 

    在unix下执行exe可执行程序:

    命令如下:./name

    name是exe的名字,注意没有后缀 

    展开全文
  • Unix命令执行顺序

    千次阅读 2006-03-31 00:56:00
    使用&&: 格式: 命令1 && 命令2 说明: 只有命令1执行后返回真(返回0),命令2才会执行 例子: cp /apps/bin /apps/dev/bin && rm -r /apps/bin 只有全部复制成功才删除此目录使用||: 格式: 命令1 || 命令2 ...

    使用&&:
        格式:      命令1 && 命令2
        说明:      只有命令1执行后返回真(返回0),命令2才会执行
        例子:      cp /apps/bin /apps/dev/bin  &&  rm -r /apps/bin 只有全部复制成功才删除此目录

    使用||:
        格式:      命令1 || 命令2
        说明:      只有命令1执行后返回假(返回1),命令2才会执行
        例子:      cp /apps/aaa.txt /tmp/aaa.txt || echo "fail"   复制如果不成功那么echo信息

    用()和{}将命令结合在一起:
        格式:    (命令1;命令2;...)          {命令1;命令2;...}
        说明:    用来将多个命令结合在一起,依次执行,其中{}表示相应的命令将在子shell而不是当前shell中作为一个整体被执行,只有在{}中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子shell中执行,否则在当前shell执行
        例子:      mv aaa.txt bbb.txt || ( echo "fail"|mail user; exit )
           如果把aaa.txt改名为bbb.txt失败,那么发送email后再退出,如果没有()的话,那么只执行最后的exit命令
           sort abc.txt > abc_sort.txt && ( cp abc_sort.txt /logs/abc_sort.txt; lp abc_sort.txt )
           把abc.txt排序后定向到abc_sort.txt中,成功后复制/logs/下,并打印出来

    展开全文
  • 本文讨论了 UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and link editor output 汇编器和链接编辑器的输出)、COFF(Common Object File Format 通用对象文件格式)、ELF(Executable and ...

    本文讨论了 UNIX/LINUX 平台下三种主要的可执行文件格式:a.out(assembler and link editor output 汇编器和链接编辑器的输出)、COFF(Common Object File Format 通用对象文件格式)、ELF(Executable and Linking Format 可执行和链接格式)。首先是对可执行文件格式的一个综述,并通过描述 ELF 文件加载过程以揭示可执行文件内容与加载运行操作之间的关系。随后依此讨论了此三种文件格式,并着重讨论 ELF 文件的动态连接机制,其间也穿插了对各种文件格式优缺点的评价。最后对三种可执行文件格式有一个简单总结,并提出作者对可文件格式评价的一些感想。

    可执行文件格式综述

    相对于其它文件类型,可执行文件可能是一个操作系统中最重要的文件类型,因为它们是完成操作的真正执行者。可执行文件的大小、运行速度、资源占用情况以及可扩展性、可移植性等与文件格式的定义和文件加载过程紧密相关。研究可执行文件的格式对编写高性能程序和一些黑客技术的运用都是非常有意义的。

    不管何种可执行文件格式,一些基本的要素是必须的,显而易见的,文件中应包含代码和数据。因为文件可能引用外部文件定义的符号(变量和函数),因此重定位信息和符号信息也是需要的。一些辅助信息是可选的,如调试信息、硬件信息等。

    基本上任意一种可执行文件格式都是按区间保存上述信息,称为段(Segment)或节(Section)。不同的文件格式中段和节的含义可能有细微区别,但根据上下文关系可以很清楚的理解,这不是关键问题。最后,可执行文件通常都有一个文件头部以描述本文件的总体结构。

    相对可执行文件有三个重要的概念:编译(compile)、连接(link,也可称为链接、联接)、加载(load)。源程序文件被编译成目标文件,多个目标文件被连接成一个最终的可执行文件,可执行文件被加载到内存中运行。因为本文重点是讨论可执行文件格式,因此加载过程也相对重点讨论。下面是LINUX平台下ELF文件加载过程的一个简单描述。

    1:内核首先读ELF文件的头部,然后根据头部的数据指示分别读入各种数据结构,找到标记为可加载(loadable)的段,并调用函数 mmap()把段内容加载到内存中。在加载之前,内核把段的标记直接传递给 mmap(),段的标记指示该段在内存中是否可读、可写,可执行。显然,文本段是只读可执行,而数据段是可读可写。这种方式是利用了现代操作系统和处理器对内存的保护功能。

    2:内核分析出ELF文件标记为 PT_INTERP 的段中所对应的动态连接器名称,并加载动态连接器。现代 LINUX 系统的动态连接器通常是 /lib/ld-linux.so.2,相关细节在后面有详细描述。

    3:内核在新进程的堆栈中设置一些标记-值对,以指示动态连接器的相关操作。

    4:内核把控制传递给动态连接器。

    5:动态连接器检查程序对外部文件(共享库)的依赖性,并在需要时对其进行加载。

    6:动态连接器对程序的外部引用进行重定位,通俗的讲,就是告诉程序其引用的外部变量/函数的地址,此地址位于共享库被加载在内存的区间内。动态连接还有一个延迟(Lazy)定位的特性,即只在"真正"需要引用符号时才重定位,这对提高程序运行效率有极大帮助。

    7:动态连接器执行在ELF文件中标记为 .init 的节的代码,进行程序运行的初始化。在早期系统中,初始化代码对应函数 _init(void)(函数名强制固定),在现代系统中,则对应形式为

    void
    __attribute((constructor))
    init_function(void)
    {
    ……
    }


    其中函数名为任意。

    8:动态连接器把控制传递给程序,从 ELF 文件头部中定义的程序进入点开始执行。在 a.out 格式和ELF格式中,程序进入点的值是显式存在的,在 COFF 格式中则是由规范隐含定义。

    从上面的描述可以看出,加载文件最重要的是完成两件事情:加载程序段和数据段到内存;进行外部定义符号的重定位。重定位是程序连接中一个重要概念。我们知道,一个可执行程序通常是由一个含有 main() 的主程序文件、若干目标文件、若干共享库(Shared Libraries)组成。(注:采用一些特别的技巧,也可编写没有 main 函数的程序,请参阅 参考资料 2)一个 C 程序可能引用共享库定义的变量或函数,换句话说就是程序运行时必须知道这些变量/函数的地址。在静态连接中,程序所有需要使用的外部定义都完全包含在可执行程序中,而动态连接则只在可执行文件中设置相关外部定义的一些引用信息,真正的重定位是在程序运行之时。静态连接方式有两个大问题:如果库中变量或函数有任何变化都必须重新编译连接程序;如果多个程序引用同样的变量/函数,则此变量/函数会在文件/内存中出现多次,浪费硬盘/内存空间。比较两种连接方式生成的可执行文件的大小,可以看出有明显的区别。

    展开全文
  • Unix下两种后台执行SQL脚本的方法

    千次阅读 2012-08-29 11:38:17
    通常要单独在OS后台执行一个耗时的SQL脚本,采用如下两种方法: 方法一: 1、在其目录创建一个可执行脚本,如脚本名为 create_index.sh: $vi create_index.sh 2、编辑文件内容: ...
  • LINUX 或 UNIX系统下 后台执行 SQL脚本

    千次阅读 2012-03-07 13:39:31
    1、在linux后台相应目录下面创建一个文件 ,  $ vi test.sh 2、打开文件,在编辑模式下输入如下文本 。。 ...sqlplus username/PWD --注: 表示连接 到oracle ... --注:该句在SQLplus下表示打印SQL...你想要执行的SQL
  • Mac 启动 linux 可执行文件。

    千次阅读 2019-01-06 19:28:23
    Mac 如何启动 unix执行文件。 打开终端 输入cd 然后将unix执行文件拖入 回车。 输入 指令符号 比如实现内网穿透:...
  • 今天遭遇到一个问题 写了一小段脚本想增加一个环境变量 atest.sh 代码如下 #!/bin/bash dir=${PWD} echo "export PATH=/$PATH:${dir}" >>...但是用sh atest.sh 怎么执行环境变量都无法生效 ...
  • 生成UNIX执行文件

    千次阅读 2011-07-14 14:56:47
    在终端 touch testchmod a+ test就生成了test的unix执行文件
  • UNIX的进程终止状态小结

    千次阅读 2014-05-11 20:04:16
    UNIX
  • dos2unix整个目录

    千次阅读 2016-05-08 14:05:40
    下面列出怎么对整个目录中的文件做dos2unix操作 $ find . -type f -exec dos2unix {} \; 其中具体命令的解释如下: find . = find files in the current directory -type f = of type f -exec dos2unix {} \; ...
  • Linux/Unix环境下的make和makefile

    千次阅读 2016-04-21 10:01:39
    介绍一下make及其描述文件makefile Makefile文件  Make工具最主要也是最基本的功能就是...中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖 关系。 在 UNIX 系统中,习惯使用 Makefi
  • Mac OS 系统类Unix系统终端命令

    千次阅读 2016-07-05 13:53:15
    Mac OS 采用Unix的文件系统 根目录位置是 / 驱动所在位置 /System/Library/Extensions 用户文件夹位置 /Users/用户名 桌面的位置 /Users/用户名/Desktop 文件通配符为星号 * 注意:在 Unix系统中是区别大小写...
  • 用java运行unix或者windows命令的实例

    千次阅读 2007-06-19 15:31:00
    /*** 这是如何使用java使用unix或者windows命令的实例*/public class ExecDemoLs { /** The program to run */ // public static final String PROGRAM = "ls";//这是unix系统命令 public static final String ...
  • 如何在LINUX/UNIX上运行PYTHON程序

    千次阅读 2014-08-08 11:47:01
    如何在LINUX/UNIX上运行PYTHON程序  编写python程序的方法与shell脚本类似。例如,要编辑一个名为try_python的python程序文件,输入如下命令。    $ pico try_python    下面输入一段简单的python代码...
  • Shell脚本中的坑---dos2unix命令

    千次阅读 2018-05-04 19:42:54
    今天工作中遇到坑:读取文件中的一行内容,截取成字符串,出现字符串乱码#脚本#文件格式#脚本运行结果如下所示#问题:每一行最后一个字母个数都...每一行后面都跟了换行符#解决办法 dos2unix table.txt可以解决问题...
  • 批量执行dos2unix,unix2dos

    千次阅读 2016-10-28 09:51:25
    参考了多个网友的方法,结合自己的实际运行,总结如下:  ## 利用find命令,先找出需要进行文本格式转换的文件,再执行dos2unixunix2dos命令  1.1 执行dos2unix : find . -ty
  • from: ...   unix/linux命令“ls -l”选项输出结果详解 下面是我在lucidubuntu使用”ls -l /”的结果: hoxily@ubuntulucid:/$ ll / total 96 drwxr-xr-x 22 root root 40
1 2 3 4 5 ... 20
收藏数 486,224
精华内容 194,489
关键字:

unix 执行