常量defind 和 const区别 什么是常量? 如字面理解的,在脚本执行期间不可改变的的量. 定义一个常量应该注意的事项? 1:常量默认大小写敏感,错误的大小写不会被识别为常量. 2:常量只能是标量数据,也可以定义 资源 常量,但是定义了,会发生一些奇妙的,不可预知的错误,所以应当尽量避免. 标量数据:(boolean,integer,float 和 string) 通过 defind 和 const 区别 1:重复定义 1:defind 重复定义常量,常量不会被修改,php报一个 通知 错…
每日一个Linux命令 2018-03-08 Linux 命令 chattr/lsattr chattr [-参数] [+/-属性] [文件或者目录] 经过今天没有对铃,粥熬糊了,我就知道...... 好记性不如烂笔头啊,主要还不是什么好记性...... chattr命令,用于改变文件属性. 我之前会问,对于一个文件,都有组,所有者,权限来控制文件的读写和操作,为什么还需要这个命令? 假如:对于一个文件,你 rm 了一下 , 这个文件就没了,也就找不回来了. 这个命令也就是为了解决像上述这种尴尬…
对于面向对象 修饰符的使用是我们最常用,也是很容易忽略的小细节. 对于编程来说,把握好每一个小细节,就能构造出漂亮,优雅的程序. public 使用最多的修饰符,公共方法,允许所有访问,就像一个公交车一样,上来交钱[参数],有钱就行,无所谓是谁. 对于这个修饰符救不在做更多的解释了,因为他的使用实在是太多了. PS:如果一个方法没有定义修饰符,那么在PHP5中,默认是public. private 私有方法, 不允许在直接实例化后访问,子类也不能直接访问,只允许在自己的类中使用. 道理我都懂,我…
require_once require include include_once 方法的区别 对于包含文件来说,如果只是使用框架来说的话,应该会很少碰到,因为框架底层对于文件的引用等做了很好的封装,这也导致了我们对于这块知识理解的欠缺. 为什么要使用类似引入文件的函数? 在一个PHP函数的生命周期中(就是一个程序执行的过程,比如echo 一个字符串),可能会用到很多个文件,这些个文件不可能都写在一个文件中,这样极不好管理,也不利于维护. 也就产生了MVC框架,使得编码可以结构化,利于管理和维护…
最近一直在学习其他,导致博客就疏忽了,很不好(其实就是自己懒了......). -- 为什么要使用 .bash_profile和.bashrc ? 在平常的使用中,有些文件夹或者命令很长,在执行时需要键入很长的文件路径来找到这个文件. 这样太繁琐了,我应该更记录一些东西来代替我冗余的命令和文件路径 -- .bash_profile和.bashrc 是什么? 是环境变量的意思,所谓环境变量,就是为了简化定义你的文件路径和命令所产生的. 使得在输入时方便快捷的找到你定义好的路径. -- .bash_…
date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/31/18 -- 直接显示时间[24小时制] date '+%X' 效果 vagrant@hong:~$ date '+%X' 12:31:42 PM -- 如何设置时间 首先应该看你的时区在哪里,是不是选用正确的时区 我这里就是选用了错误时区,导致了时间的错误 vagrant@hong:~$ da…
Cron 用于配置定时任务. -- 环境为 Ubuntu16-04 -- 先说说怎么配置一个简单的定时任务.直观的可以看到效果. 之前在网上查找资料,对Shell编程不熟悉的实在是很头疼,走了不少弯路,但是这个又是是比较重要的命令. 先明白Cron的结构,Cron是一个[守护程序]用于在指定的时间内执行行程类的任务,每一个用户都有一个Crontab文件,执行计划.相同的,系统也有一个 Crontab. -- 创建一个定时任务 crontab -e 当你输入指令时,会出现下面的界面,我们直接向下看…
每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令,碰到特别长的文本就不用 cat 打开,直接打开Vim, 仔细学习之后,发现它也真的很方便. 功能: 1:输出整个文本内容. cat fileName 优点:快速查看整体内容,而不用做其他操作. 缺点:文本过大,导致你根本不能找到你想找到的东西. 辅助参数: -n :由 1 开始对所有输出的行数编号…
每日一个Linux命令 之 top   今天在公司测试服务器上跑了一个我写的功能[本地测试过的],但是不知道怎么跑了个无限死循环出来,一个文件的体积在不停的变大,如果不管的话这能行? 上去一看,PHP进程已经占用了60%,其他测试站点也受到影响,所以准备今天着重学习一下这两个指令. 和对象吵架了,停更得一天,今天的话再补充完善内容. top 命令,用于实时显示系统进程动态. 现在在linux下输入 top 看看 如果没有仔细研究过top的具体含义的划,那就对了,我也没. 不过今天学习完就会了,这…
每日一个Linux命令 2018-03-10 Linux 命令 find find [查找目录] [定义条件]   今天很累了,本来不想写了,但想到自己订的学习计划必须坚持下去,每天完成.   find命令, 用来在linux下查找文件.支持使用正则匹配查找文件.   find命令的参数有20多个,这里只使用经常使用的几个参数,如果需要的时候在进行查找. 1:通过名字查找 find [要查找的目录] -name "*.php" -name name, -iname name : 文件名…
每日一个Linux命令 2018-03-10 Linux 命令 cksum cksum [文件]  今天楼下的一个大妈去世了,不仅感叹,现如今,真的和以前不一样了,楼上楼下都不知道住的是谁? cksum命令用于检查文件的CRC是否正确.确保文件从一个系统传输到另一个系统的过程中不被损坏. CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至少可检测到99.998%的已知错误. 说明已经很清楚了,这个命令的作用也就是检查文件的相同性,在于MD5和HASH的选择上,使用哪种方法,到时候就看…
每日一个Linux命令 2018-03-09 Linux 命令 chgrp/chown chgrp [-参数] [文件或者目录] chown [-参数] [文件所有者]:[文件所属群组] [文件或者目录] 世界是变化的,果然是正常的,今天有个同事离职了,在互联网行业,这也正常. 拥抱新变化. 正题: Linux有组的概念. 如果把组比作一个家的话,那么里面的文件就像你的私房钱,你可以花. 在这个家里的你老婆,也可以花,虽然比喻很粗糙,但是说明了组在管理文件中的作用. 为什么要设置组的概念呢? 还…
刚刚AC的pj普及组第四题就是一种单源最短路. 我们知道当一个图存在负权边时像Dijkstra等算法便无法实现: 而Bellman-Ford算法的复杂度又过高O(V*E),SPFA算法便派上用场了. 其实SPFA 是用队列的优化,过程详见下图(PS:图片转自网络) 好了,以上图片基本已经说明的SPFA的过程,下面就是代码实现: 模板如下: void spfa(){ ; i<=n; i++) dis[i]=INF; //初始化 dis[start]=; inq[start]=; q.push(st…
手动维护一个数组模拟即可,233-- 可以使用algorithm中的lower_bound(相当于二分) 代码如下: #include<cstdio> #include<algorithm> using namespace std; int a[1000000],tot,n,x; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&x); if(…
在平常工作中,常常需要关闭 SSH 的密码登录,只留 SSH 证书登录. 好处显而易见,避免了经常输入密码导致的密码泄露,和设置密码导致被暴力破解的可能性. -- 方法也很简单,首先 你是可以 登录 服务器的. 修改 vim /etc/ssh/sshd_config 修改 PasswordAuthentication yes/no 重启服务 service sshd restart --…
感悟: 感觉每天学习下指令真的很不错,虽然感觉也没啥东西,但是真的用到了,马上就能想起来个大概,忘了详细的用法,就回来看看自己的博客. 话说今天GitHub上有个人 star 了我的项目,很开心,嘎嘎嘎. -- 先说如何增加一个用户 adduser 用于新增使用者资料,或者更新. adduser是增加使用者.与 useradd 指令为同一指令. 详细的看一看是很有必要的,避免出现用户建立了,但没有 home 目录的尴尬情况. -- adduser 用户名 最简单的一种建立用户的方法,但是,建立的…
ping 用于测试两及其网络是否通 主要用于检测网络是否通畅. -- 具体语法 ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址] -- 1: 是否与主机联通 ping baidu.com //需要手动终止Ctrl+C 2:指定接收包的次数 ping -c 2 baid.com /…
用于建立空文件夹和删除文件夹 -- 两命令重要参数 -p 递归建立/删除 -- 例如 mkdir -p demo1/demo2/demo3 建立demo3空文件夹,如果demo1/demo2没建立也建立相应的文件夹 -- rmdir -p demo1/demo2/demo3 删除demo3空文件夹,如果demo1/demo2为空的话也删除对应的文件夹…
昨天使用 df 查看了磁盘空间中所有的容量. 今天学习 du 查看目录或者文件的大小. du会显示指定的目录或文件所占用的磁盘空间. -- du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh -- 首先,我最想要的结果 -- 目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度. du -ah --max-depth=1 -- 其他的感觉比较鸡肋,之后如果学习到其他的话在回来补充.…
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. 就像在windows下打开我的电脑一样会统计各个磁盘一样的情况 主要用于查看磁盘空间占用情况 -- [@hong:~]$ df Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on /dev/disk1s1 236363688 153535976 77350384 67% 771429 9223372036854004…
官方定义: Linux sed命令是利用script来处理文本文件. sed可依照script的指令,来处理.编辑文本文件. Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. -- 介绍动作属性-需要时回来查看就可以,不需要死记硬背 a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚: i :插入, i…
Linux grep命令用于查找文件里符合条件的字符串. -- 最长用 搜索 指令,也常常用于 管道 搜索输出等,应用广泛. 这个命令的参数比较多,这里只介绍一部分比较常用的参数,具体的可以到 http://www.runoob.com/linux/linux-comm-grep.html 这里去找 -- 具体的还是以实例来看 大致用法 grep [参数] [搜索字符串] [在什么文件下搜索] -- 在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的…
在平常的工作和学习中,难免要和远程服务器产生一些文件的交互. 当然也有 xftp 这种工具在,干的事情是一样的,不过今天还是介绍命令行下 scp 的用法,毕竟每天都在和命令行打交道. -- scp 命令可以用来通过安全.加密的连接在机器间传输文件. 简易写法 scp [参数] [文件资源] [目标文件] 重要参数 -P 指定端口. -r 递归整个目录. -l limit 限定用户所能使用的带宽,以Kbit/s为单位. 1:把本地文件传输给远程系统的一般语法是:   scp localfile u…
cp 命令用于复制文件/目录 cp [-参数] [复制文件] [复制成为的新文件] 参数(这里只介绍平常会用到的,之后的话遇到再回来补充) -f 覆盖已经存在的目标文件而不给出提示. -i 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖. -p 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中 -r 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件.…
ln 链接命令 -- 类似Windows的快捷方式,实际等于建立了一个文件同步的链接,我想,MAC上面复制一个文件到另一个路径,特别快,它可能就是建立了一个链接. -- 在通俗点讲,就是你创建链接之后,你在哪个地方修改这个文件,所有的链接文件包括源文件都会改变,可以想成为,你修改的就是源文件. -- 我怎么知道这个文件是链接文件呢?我怎么找到源文件地址呢? 一般来说,不同的文件会有不一样的颜色,可以使用 ls -l 查看一下目录的具体信息 这里箭头指向的就是源文件,前面的就是链接 删除链接,源文…
touch 英文翻译为 触碰 很形象 touch [文件] 就像我就碰你一下,什么都不干..... 如果没有这个文件则我就新建这个文件 会修改这个文件的最后修改时间 没有的话则会产生一个0字节大小的空文件 目前对这个命令的认知就是这么多,之后如果真的有需要用到的地方的话在回来补充.…
spilt 命令用于将一个文件分割成数个 默认情况下 按照每1000 切割成一个小文件 split [-参数] [要切割的文件] [输出文件名] 参数 -[行数] 指定每多少行切成一个小文件 -b 字节 指定每多少字节切成一个小文件 -C 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性  [输出文件名]:设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号 -- 作用用于大文件的切割.切割后的小文件可以使用cat命令进行合并. -- 例如: 我这里有个5.3…
最痛快的指令,没有之一. 一次永久删除,恢复很麻烦. 我会告诉你我第一次上服务器的时候删除了项目代码?(还好我提前备份了一下) -- rm [-参数][文件或者文件夹/支持正则通配] 参数: -i 删除前逐一询问确认 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认. -r 将目录及以下之档案亦逐一删除 -- 使用要小心,尤其是在服务器上!…
Linux mv命令用来为文件或目录改名.或将文件或目录移入其它位置. mv [参数] [要移动/更名的文件] [移动路径/要更改名字] 平常用的很多了,这里就不多讲解了,只介绍两个重要参数就好了 -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件; -f: 在mv操作要覆盖某已有的目标文件时不给任何指示; 如果不加参数 直接使用mv 默认是不询问直接覆盖的 如果你不知道这个文件夹之前有没有同名文件,最好移动前使用 -i 看一下,或者其他方法.…
还是先说下我对这个方法的理解 print_r()用于 cli模式下的输出调试,error_log() 调试 var_dump() 用于页面的显示调试 echo() 用处比较多,__toString() 魔术方法,echo [json], 输出文本 print() 没怎么使用过 标准答案 -- * echo.print是php语句,var_dump和print_r是函数 * echo 输出一个或多个字符串,中间以逗号隔开,没有返回值是语言结构而不是真正的函数,因此不能作为表达式的一部分使用 * p…