thinkphp 命令行执行

这篇具有很好参考价值的文章主要介绍了thinkphp 命令行执行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 php

1 which php 查看命令来源

thinkphp 命令行执行,php

2 ll /usr/bin/php 软连接,来源是php的安装文件的可执行文件php

thinkphp 命令行执行,php

3 $PATH的作用,

显示当前PATH环境变量,该变量的值由一系列以冒号分隔的目录名组成如下,

echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

当我们执行程序时,shell自动跟据PATH变量的值去搜索该程序。

thinkphp 命令行执行,php

上面的意思是,linux执行任何命令,都会先去/usr/local/sbin,如果没有再去/usr/local/bin下面,如果还没有就去/usr/local/bin,以此类推,如果都没有,就会提示找不到命令

而我们的php 命令也是按照这个顺序执行的,因为这个php是在/usr/bin下,所以我们才能执行到

测试:

thinkphp 命令行执行,php

我把/usr/bin/下的php改名php_ 入上图1命令

此时,php think spider --user命令会报错如上图2命令执行完后

然后我把/www/server/php/73/bin/临时加入环境变量 命令3

我再运行命令4 ,执行成功(注意:这次不是从/usr/bin下找到的php执行命令,而是/www/server/php/73/bin/下面)

/bin,/sbin,/usr/sbin,/usr/bin 目录

     这些目录都是存放命令的,首先区别下/sbin和/bin:

    从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统,/bin下存放一些普通的基本命令,如ls,chmod等,这些命令在Linux系统里的配置文件脚本里经常用到。

    从用户权限的角度看,/sbin目录下的命令通常只有管理员才可以运行,/bin下的命令管理员和一般的用户都可以使用。

    从可运行时间角度看,/sbin,/bin能够在挂载其他文件系统前就可以使用。

   而/usr/bin,/usr/sbin与/sbin /bin目录的区别在于:

    /bin,/sbin目录是在系统启动后挂载到根文件系统中的,所以/sbin,/bin目录必须和根文件系统在同一分区;

    /usr/bin,usr/sbin可以和根文件系统不在一个分区。

    /usr/sbin存放的一些非必须的系统命令;/usr/bin存放一些用户命令,如led(控制LED灯的)。

    转下一位网友的解读,个人认为诠释得很到位:

    /bin是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。   

/sbin一般是指超级用户指令。主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。   

/usr/bin 是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。   

/usr/sbin   放置一些用户安装的系统管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。   

如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么    首先就要考虑root 的$PATH里是否已经包含了这些环境变量。    可以查看PATH,如果是:PATH=$PATH:$HOME/bin则需要添加成如下:    PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin

/usr/bin  系统预装的一些可执行程序,随系统升级会改变

/usr/local/bin 用户安装的可执行程序,不受系统升级影响,用户编译安装软件时,一般放到/usr/local目录下

如果两个目录含有相同的可执行程序,通过查看PATH,比较优先级

echo $PATH/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin这里/usr/local/bin优先于/usr/bin

PATH这个目录下放的可执行程序,在系统任何地方都可以直接执行,不需要指定路径文章来源地址https://www.toymoban.com/news/detail-802806.html

到了这里,关于thinkphp 命令行执行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Web】CTFSHOW PHP命令执行刷题记录(全)

    目录 web29 web30 web31 web32 web33 web34 web35 web36 web37-39 web40 web41 (y4✌脚本) web42 -44 web45 web46 -49 web50 web51 web52 web53 web54 web55-56 web57 web58 web59 web60 web61 web62 web63-65 web66-67 web68-70 web71 web72 web73-74 web75-76 web77 期末复习不了一点,不如做点旧题醒一醒手感。每一题都尽量用不同payload,如果

    2024年01月23日
    浏览(32)
  • 【漏洞复现】锐捷EG易网关cli.php后台命令执行漏洞

            锐捷EG易网关是一款综合网关,由锐捷网络完全自主研发。它集成了先进的软硬件体系架构,配备了DPI深入分析引擎、行为分析/管理引擎,可以在保证网络出口高效转发的条件下,提供专业的流控功能、出色的URL过滤以及本地化的日志存储/审计服务。         锐

    2024年01月22日
    浏览(29)
  • php5构造无字母数字的webshell实现任意命令执行

    目录 引言 如果是在php7 如果是在php5 现在我们来上传文件 最后的结果: 看本篇前可以先看这一篇:利用异或、取反、自增bypass_webshell_waf-CSDN博客 上一篇介绍了如何构造出一个无字母数字的webshell,但是如果后端的代码变成了这样: 这里过滤了大小写字母、数字、_、$,因此

    2024年02月04日
    浏览(33)
  • thinkphp8 - tp8升级框架版本后网站打不开,网页提示错误代码:ERR_ADDRESS_INVALID(启动内置服务器运行php think run命令返回的结果是空白解决,但静态网站能打开

    在windows环境+ phpstudy(小皮面板)本地中,升级TP框架发现php网站打不开了,并且网页中间提示错误代码ERR_ADDRESS_INVALID,神奇的是静态网站可以正常打开。 这个问题已经完美解决。 其实,

    2024年01月25日
    浏览(52)
  • thinkphp 可执行文件think

    think 是一个可执行文件,位置:网站根目录 内容:1 定义项目路径 2 加载cll框架文件 shell脚本里第一行的:#!/usr/bin/env php 什么意思 这句#!的含义就是,按照环境变量PATH寻找第一个php程序来执行。 #!/usr/bin/php表示,直接使用/usr/bin/php来执行脚本,但是这个路径下没有php可执行

    2024年01月18日
    浏览(30)
  • 让php开发更优雅-ThinkPHP篇

    随着开发经验的增加,也伴随团队开发的积累,规范开发显得越来越重要,本文给大家提供一些ThinkPHP框架开发API接口的进阶思路和经验,让大家开发更加统一规范,代码看起来更加优雅。 1.更多使用第三方库。团队开发的时候,各个人的开发经验和思考方式不同,也有一些

    2024年04月27日
    浏览(26)
  • PHP:ThinkPHP6.0实现输出字段映射

    需求: 查询到list后,需要将 id 字段转换为 order_id sql查询字段别名 使用 append + hidden 在Model中配置数据输出字段映射

    2024年02月11日
    浏览(40)
  • PHP 使用ThinkPHP实现电子邮件发送示例

    在我们很多的程序中都需要发送邮件去提示用户一些相关信息,应用的范围还是很广的,比如:登录验证需要验证码,后台管理系统中有变更需要发送邮箱提示等,而且邮件的发送相较于短信发送成本更低,是 免费 的!! 那么要实现邮件发送需要做以下操作: 我这边使用的

    2024年02月13日
    浏览(38)
  • 原生PHP及thinkphp6接入阿里云短信

    申请accesskey 获取到Accesskey ID和Accesskey Secret保存下来,一会要用到 添加测试手机号,在接口测试能否正常发送 下载阿里云短信sdk,使用composer下载,没有安装请先安装 安装可以安装到任意文件夹下,后面代码写好后,直接复制到tp项目内就行,最新版本安装可能composer查找不

    2024年02月05日
    浏览(39)
  • ThinkPHP5系列远程代码执行漏洞复现(详细)

    ThinkPHP是一款运用极广的PHP开发框架。其版本5中,由于框架对控制器名没有进行足够的检测,会导致在没有开启强制路由的情况下可执行任意方法,从而导致远程命令执行漏洞。 漏洞危害 启动环境 切换到/thinkphp/5.0.23-rce# 目录下 将version改为2,保存并退出 接着执行 此时环境

    2024年02月12日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包