永发信息网

在Linux C语言下,可执行的Shell脚本文件与编译之后的C可执行文件的区别有哪些 ?

答案:3  悬赏:10  手机版
解决时间 2021-03-09 11:55
  • 提问者网友:黑米和小志
  • 2021-03-08 13:02
可执行的Shell脚本文件本质是一个可执行的文本文件,可以使用sh和./命令执行,而C可执行文件是一个可执行的二进制文件,只能使用./命令执行, 并且这两种文件的rwx权限是一样的,我该怎么区分它们呢,它们之间有什么区别吗 ?谢谢!
最佳答案
  • 五星知识达人网友:玩世
  • 2021-03-08 13:14
shell脚本是shell的一种扩展功能,也就是shell会根据你所写的脚本一条一条的去执行,C写的程序是直接给CPU执行的。
一般来说做一些简单功能,特别是和shell有关的。我们会用shell脚本,如系统环境的设定,开机后执行系统的初始化等。
做一些功能复杂的,特别人用户自已所想到的功能时会用C语。另外如果程序执行是要用到root权限是最好也用C语。
全部回答
  • 1楼网友:行路难
  • 2021-03-08 14:53
两种方法 比如调用ifconfig命令 可以 system("ifconfig"); 也可以 file *fp = popen("ifconfig", "rb");
  • 2楼网友:春色三分
  • 2021-03-08 13:33
二进制文件是机器码,可直接执行,而shell脚本是文本,需依赖sh来解析并执行,shell脚本的第一行一般类似这样: #!/bin/sh 有了这行,且有执行权时,就可以支持 ./ 方式执行,如果没有这行,或没有执行权时,则只支持 sh xxx 这种方式 简单的识别方法: 用 file 命令识别: XXX: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x5e6e040ea7ce5bf5dcdfc87398b2f091a1e513f2, stripped XXX.sh: POSIX shell script, ASCII text executable
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯