
正文
执行linux命令语句 linux执行sh
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何通过PHP执行linux命令
你想问得是php如何执行shell命令把?\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()这三个函数实现\x0d\x0a虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:\x0d\x0a system() 输出并返回最后一行shell结果。\x0d\x0a exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。\x0d\x0a passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。\x0d\x0a 相同点:都可以获得命令执行的状态码\x0d\x0a例子:system("ls -al");\x0d\x0a【使用之前要在php.ini中把safe_mode关闭】
相关问答
Q1: LINUX命令怎么执行
NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍,功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。
先来看下它的基本用法:
root@10.1.1.43:~# nc -h
[v1.10-38]
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [-options] [hostname] [port]
options:
-c shell commands as `-e'; use /bin/sh to exec [dangerous!!]
-e filename program to exec after connect [dangerous!!]
-b allow broadcasts
-g gateway source-routing hop point[s], up to 8 设置路由器跃程通信网关,最高可设置8个。
-G num source-routing pointer: 4, 8, 12, ... 设置来源路由指向器,其数值为4的倍数。
-h this cruft
-i secs delay interval for lines sent, ports sca 延时的间隔
-k set keepalive option on socket
-l listen mode, for inbound connects 监听模式,入站连接
-n numeric-only IP addresses, no DNS 直接使用ip地址,而不用域名服务器
-o file hex dump of traffic 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p port local port number 本地端口
-r randomize local and remote ports 随机本地和远程端口
-q secs quit after EOF on stdin and delay of secs
-s addr local source address
-T tos set Type Of Service
-t answer TELNET negotiation
-u UDP mode udp 模式
-v verbose [use twice to be more verbose] 显示过程,vv 更多
-w secs timeout for connects and final net reads 等待连接超时
-z zero-I/O mode [used for scanning] 使用输入/输出模式,只在扫描通信端口时使用。
1.监听本地端口
root@10.1.1.43:~# nc -l -p 1234
root@10.1.1.43:~# netstat -tunlp | grep 1234
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 15543/nc
2.端口扫描
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80
(UNKNOWN) [10.1.1.180] 80 (www) open
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000
(UNKNOWN) [10.1.1.180] 22000 (?) open
(UNKNOWN) [10.1.1.180] 80 (www) open
3.文件传出
源10.1.1.43 text.txt
目的 10.1.1.180
root@10:~# nc -l -p 1234 test.txt #开10.1.1.180:1234端口监听,并将socket传输过来的数据重定向到test.txt文件 test 43 nc
root@10.1.1.43:~#cat test.txt
root@10.1.1.43:~# nc 10.1.1.180 1234 test.txt #连接远程的10.1.1.180,从test.txt的路径从定向到socket,从而将文件传输到远方。
root@10:~# cat test.txt
test 43 nc
4.目录传输
源10.1.1.43 python_program
目的 10.1.1.180
root@10:~# nc -l -p 1234 | tar xzvf -
root@10.1.1.43:~# tar czvf - python_program | nc 10.1.1.180 1234
python_program/
python_program/1.py
python_program/4.py
python_program/3.py
5.测试UDP端口
root@172.16.211.34:web# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1111/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 887/dhclient
root@172.16.211.35:~# nc -vuz 172.16.211.34 68
Connection to 172.16.211.34 68 port [udp/bootpc] succeeded!
参考:
NetCat 官方地址:
Q2: linux脚本中执行命令
#!/bin/bash
#echo hi
DEBUG=0
case $1 in
想要启动的程序名)
DEBUG=1 ;;
esac
if [[ $DEBUG -eq 1 ]]; then
# 启动命令
./elasitcsearch -d
echo "程序已启动"
exit 10
else
echo 启动命令只能使用.想要启动的程序名)
exit 7
fi
不过我怎么觉得好奇怪呢。我没写过这种东西,我总感觉那里有问题。case 可以自己添加某些进程进去。这样子你不需要在程序目录存放只需要在你的家目录存放就行。没需要添加一个程序 就在case下添加进去就行。代码都差不多
Q3: linux的运行命令是什么?
1、编辑文件vi,按下i进行编辑,保存结束。编辑 ESC :wq回车,不保存结束。编辑 ESC :q回车。
2、在Linux系统下执行文件我们需要使用的的文件名sh,假如我们需要执行host.sh文件,我们需要进入文件所在目录接着执行。
结束当前正在运行的命令分为前台和后台命令:
1、终止在终端中正在运行的前台命令使用Ctrl+C快捷键就可以了!
2、终止后台运行的命令。
方法一:通过 jobs 查看job号,比如为1,执行命令 kill %1。
方法二:通过 ps 查看进程号,比如为num,执行命令 kill num。
Q4: PHP执行linux系统命令
首先先要给大家介绍PHP执行linux系统命令的几个基本函数 我曾经很长一段时间都分不清下面几个函数的具体用法区别 system函数 说明 执行外部程序并显示输出资料 语法 string system(string mand int [return_var]); 返回值: 字符串 详细介绍 本函数就像是 C 语中的函数 system() 用来执行指令 并输出结果 若是 return_var 参数存在 则执行 mand 之后的状态会填入 return_var 中 同样值得注意的是若需要处理用户输入的资料 而又要防止用户耍花招破解系统 则可以使用 EscapeShellCmd() 若 PHP 以模块式的执行 本函数会在每一行输出后自动更新 Web 服务器的输出缓冲暂存区 若需要完整的返回字符串 且不想经过不必要的其它中间的输出界面 可以使用 PassThru() 实例代码
?php $last_line = system( ls $retval); echo Last line of the output: $last_line; echo hr /Return value: $retval; ?
exec函数 说明 执行外部程序 语法 string exec(string mand string [array] int [return_var]); 返回值: 字符串 详细介绍 本函数执行输入 mand 的外部程序或外部指令 它的返回字符串只是外部程序执行后返回的最后一行 若需要完整的返回字符串 可以使用 PassThru() 这个函数 要是参数 array 存在 mand 会将 array 加到参数中执行 若不欲 array 被处理 可以在执行 exec() 之前呼叫 unset() 若是 return_var 跟 array 二个参数都存在 则执行 mand 之后的状态会填入 return_var 中 值得注意的是若需要处理使用者输入的资料 而又要防止使用者耍花招破解系统 则可以使用 EscapeShellCmd() 实例代码
?php echo exec( whoami ); ? ? $fp = popen( "/bin/ls" "r" ); ? lishixinzhi/Article/program/PHP/201311/21017
Q5: java中如何执行linux命令
执行linux命令基执行linux命令语句,基本思路是从控制台获得输入执行linux命令语句的指令,启动命令行执行命令,捕捉异常,示例如下执行linux命令语句:
public class TestRunTime {
public static void main(String[] args) throws IOException, InterruptedException {
String cmd = "";
if(args == null || args.length == 0){
System.out.println("请输入命令行参数");
}else{
for(int i=0;iargs.length; i++){//获得输入执行linux命令语句的命令
cmd += args[i] + " ";
}
}
try {
Process process = Runtime.getRuntime().exec(cmd);//执行命令
InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null) {//输出结果
System.out.println(line);
}
} catch (java.io.IOException e) {
System.err.println("IOException " + e.getMessage());//捕捉异常
}
}
}
执行linux命令语句的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux执行sh、执行linux命令语句的信息别忘了在本站进行查找喔。







