1.电脑输入法失效。cmd––>mon可找回输入法!php
2.c++.面向对象,c语言面向过程。html
3.Ctrl+Alt+Del热启动!!无加电自检!!mysql
4.Linux––>partx 设备名 从新读取磁盘的分区表!它若不举,便用partprobelinux
5.配linux服务器失败时时,可用netstat –l命令来查看服务器端口是否在开启!c++
6.linux的主机名,千万别用hostname这个傻逼命令乱改主机名,要改必须三个地方都改,否则作服务器时会出现下面的错误getaddrinfo:localhost Name or service not known.web
拯救方法以下,保证三处一致,即环境变量,本地文件(内),网络文件(外)正则表达式
1,hostnmae newname或echo $HOSTNAME显示当前名字 (环境变量,最后改下)sql
2,vim /etc/hosts 修改 本机ip (见44条) newname (主机名,户口本)shell
3, vim /etc/sysconfig/nework 修改HOSTNAME=newname (网名,在网络中对外宣称的名字,即邓北←_←)数据库
7.配置服务器时必定要记得,先备份一个配置文件(经典方法,在vim下 : set backup(得w即保存后退出才会使set backup 生效!!!切记!),当改动任何一个文件时,原文件则会被另存为一个文件名为filename~的文件,备份保存的是最原始),而后才进行配置!!!!
8.daemon, 守护进程。因此,会有,httpd,vsftpd,等系列d结尾的服务名。常见,用service服务是否开启,看的就是该服务的守护进程是否开启!!!
9.修改/etc/hosts.allow和/etc/hosts.deny对服务器进行访问限制。对telnet服务器,要写成in.telnetd,而ftp服务器要写成vsftpd,不然无效!!!,修改后对,xinetd服务重启!
由于两个服务属于不一样的守护进程。
10.全部程序都由return 0 结束,因此,system应当在return以前。但析构函数通常在return后才调用,因此想显示析构函数,可在其函数里添加system("pause")
11.linux 不一样用户的环境设定有本身的环境变量。env查看环境变量。
12.电脑开机后启动正常但显示器不显视,很明显内存条出问题了,拔了内存条搽搽灰便可
13.软件定义:程序和有关文档资料的合称
软件分类:系统软件(使用和管理计算机的软件)和应用软件(专为
某一应用编制的软件)
常见的系统软件有:操做系统,数据库管理系统和程序设计语言
常见的应用软件有:辅助教学软件,辅助设计软件,文字处理软件,
信息管理软件和自动控制软件
14.软件还能够分为商业软件(先买过来才能用,且不开源)、共享软件(先试用,后付费,才有后续功能)、自由软件(免费,开源)
15.WiFi是WLAN(Wireless Local Area Network(无线局域网络) )具体采用的技术,也是目前WLAN的主流技术,WiFi也是推进这个技术的组织的名称。
16.LAN,局域网(Local Area Network);MAN,城域网(Metropolitan Area Network);WAN,广域网(Wide Area Network)。Wireless,无线的~so,,,,WLAN,无线局域网。
17.批处理是一种简化的脚本语言,也称做宏。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(一般是COMMAND. COM或者CMD.EXE)解
释运行。相似于Unix中的Shell脚本。批处理文件具备.bat或者.cmd的扩展命令行窗口名,其最简单的例子,是逐行书写在命令行中会用到的各类命令。(关键一句话,批处理相似shell编程!!)
18.linux中,sh -x scripts.sh,可显示script脚本内容。sh -n,检查语法,-v,执行前,显示脚本内容!!
19.c中用time_t来表明时间和日期,time_t是整数(int)型的,它用来记载从1970年1月1日到目前所经历的秒数。因此到2038年,会归零。
20.运行–services.msc,查看全部服务的状态。regedit.exe打开注册表。
21.MySql,建立的数据库,表,,都在安装目录ProgramData下。
22.计算机––工具––文件夹选项–查看,可显示隐藏文件(如ProgramData文件夹),设置是否显示文件后缀名等,一系列东西。
23.A绿橙蓝棕白在前,46交换。B橙绿蓝棕白在前,46交换。直通线,两端都是B,链接不一样设备。交叉线,一端A,一端B,链接相同设备。配置线,一端12345678.另外一端87654321.
24.配服务器,作服务器时必定要用Linux,Windiws太不安全!!!!
25.netstat -aon 查看端口状况。0.0.0.0:端口号,表示开放了端口,到不知道是谁开的(0.0.0.0这个ip自己就表明全部未知地址),同理,127.0.0.1:端口号,才表明本机开放了某端口。
使用netstat -aon 能够显示开放端口及pid,再经过任务管理器–––查看–––选择列,pid。根据pid找出占用端口对应的应用程序。
26.记事本显示行数:①格式––自动换行(取消)
②查看––状态栏(选择)
可使用编辑–查找–"关键字",快速查找内容!!
27.面对注册表,和配置文件内容巨多的文件,均可以使用Shift+f,开始查找,F3查找下一个。快速找到所需内容。
28.conf和ini文件通常是;或#表注释!!!
29.要想php语句支持<? ?>格式,则须要在php.ini中,把short_open_tag = On(开启短标签)。
30.模块与配线架的线序要一致~要是B或A,则都是B或A。
31.PHP中,$a="3g",$b="agj",$c=$a+$b=3(int),php中不一样类型数据进行运算,会发生隐形转换(==也会发生转换),字符型转整型,看首字符(注意!!是首字符,谢谢)是不是数字(首字符有多少截多少,截到非数字),是的话直接截取,不是则为零。$d=$a+7=10!
32.php中,var_dump(数据),可检测数据类型~eg:var_dump(bool(null)),输出结果为,bool (false)
33.$a="tom",$$a=20,则$$a==$tom==20,${$a}==tom~
34.$_POST[ "键名"],数据传到post这个数组中而后经过[ ]+键名(即输入框的名字)。至关于数组的下标,即数组加'下标'读取数据。~PHP中键若是是浮点型则会强行转换成整型。
可是,请注意PHP中键仅仅是值的标识。php中不会按键排序,他就是谁先出现谁在前!嗯,至关于入栈,出现一个进一个,无论键的大小,按照前后!$a[6]="gh";$a[2]="jk",此时数组的指针指向的是$a[6]!!!请切记!
35. Sql server 拷走数据库––选择数据库–任务–分离。
添加数据库––数据库–附加–路径
36.php编码规范——1.语句块中第一条语句要缩进一个Tab单位。
2.变量命名,驼峰(第一个单词小写,其他单词首字母大写)
3.数组命名用复数形式(由于它是个集合)。
4.函数命名也是驼峰规则,但通常包含一个动词(eg:getName)
. 5.php类文件名时一般以.class.php为后缀!!!
37.在ps,或者fireworks修改照片大小时,点击–取消比例约束,可任意更改高和宽的数值!!!
38.localhost或127.0.0.1都表明了httpd.cpnf的默认访问目录即DocumentRoot后所加加路径!!!
39.php中用$变量名访问变量,但常量(define定义)不用$!!!
40.php中可放心使用if-else-if语句。
41.linux中,exit可退出当前登录帐号,回到login登录界面!
42.linux 6个runlevel(运行等级),0关机,1单用户(维修系统),2单机(无NFS),3文本界面,4保留,5图形界面,6重启。
43.shell编程中,条件判断式[□$1□=□$2□]□表明空格,必须严格按照这种格式,不然错误!!
44.linux作服务器,应该保证/etc/hosts文件能作到两点,①127.0.0.1(ipv4),::1(ipv6)可以解析localhost和localhost.localdomai②本机的ip能解析主机名hostname.
45.例行性工做←_←不懂?例假懂了吧←_←
46.CPU的工做负载。负载的意思是:CPU在单一时间点所负责的工做数量。因此当CPU的工做负载越大,就表明CPU必需要在不一样的工做之间进行频繁的工做切换。能够推出一件小事:把一个大文件成天发送比分开发送时间短点,由于减小了cpu的来回切换时间!!!
47.来自信源(如电脑输入的字)的信号称为基带信号(即基本频带信号),许多信道不能传输这种低频份量或直流份量的信号,因此要调制!调制分为两种①基带调制:仅对基带信号的波形进行变换(仍为基带信号),使他可以与信道特性相适应。因为这种基带调制是把数字信号转换为另外一种形式的数字信号,因此你们更喜欢称这种调制为编码(这就是什么曼彻斯特码那些渣渣)!②带通调制,即把基带信号的频率范围到较高的频段,并转换为模拟信号。即调幅,调频,调相。
48.ADSL技术,叫作非对称数字用户线ADSL技术,它的非对称指的是ADSL的下行(从ISP到用户)带宽远远大于上行(从用户到ISP)带宽。这是因为用户在上网时主要是从因特网下载各类文档(信道或网络利用率太高会产生很是大的时延,过必定数值成指数增加,因此下行带宽分的大),而向因特网发送的信息量通常都不太大。
49.html与php语句能够相互嵌套,但在谁的地盘要按谁的规矩来办事。好比在html里面加入php语句,则要用<? ?>来声明。在php中嵌套html要用echo "标签"。
50.※程序:一般为二进制程序放置在存储媒介中(如硬盘、光盘、软盘、磁带等),已物理文件形式存在。
※进程:程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会背加载到内存中,操做系统并给予这个内存的单元一个标识符(PID)。进程就是运行中的程序,一个程序能够产生多个进程
51.linux下使用命令时最好,写出命令的绝对路径,这样一劳永逸!eg:/bin/echo
52.php三种输出方式:
① echo 与printf (echo能够输出多个字符串,用逗号隔开便可。)
二者几乎没有区别,仅两点①:echo前面不能使用错误抑制运算符@(压住错误不提示,使脚本可运行)②print( )是一个有返回值的函数,因此print能够做为表达式的一部分。
② <?= ?>
专用于在HTML代码中嵌入php语句,eg:<body bgccolor=’<?= “red”?>’>
③print_r( )函数
用来输出复合数据类型,如数组,类。Eg; print_r($class_name/$string_name);按照“键 => 值”对照输出全部变量成员/全部数组成员。函数须要class_name->函数名来调用。
53.echo 'testing' . 1 + 2 . '45' 输出245
//echo 输出字符串,但我不必加""双引号是伴随字符串的分界符,不是必须伴随echo的,因此当echo输出一个字符串或者输出多个字符串但有别的分隔符时,我都不须要双引号
解: . 运算符用来链接字符串,与+,–优先级相同。
54.php与c的区别:php有内存优化,$a=12,$s=$a,此时没有为$s开辟内存空间,而是指向$a这个空间!除非12这个值发生变化才会为$s开辟内存!!!!
55.PHP的isset()函数 通常用来检测变量是否设置有值。
返回值:
①若变量不存在则返回 FALSE
②若变量存在且其值为NULL,也返回 FALSE
③若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每一个单项都符合上一条要求时才返回 TRUE,不然结果为 FALSE
PHP的empty()函数 判断值为否为空
返回值:
①若变量不存在则返回 TRUE
②若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
③若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
empty() 只能用于变量,传递任何其它参数都将形成Paser error而终止运行。
检测常量是否已设置可以使用 defined() 函数。
56.linux下的软件:****.i386.rpm表示在i386以上的cpu都已编译,能够安装。!!
57.GIF分为静态gif和动画gif两种(只能显示256色),是一种无损坏的压缩格式,动画gif是将多福图像保存为一个图像文件,从而造成动画。因此,GIF还是图片文件!
58.绿色软件,或称可携式软件(英文称为Portable Application、Portable Software或Green Software),指一类小型软件,多数为免费软件,最大特色是软件无需安装即可使用,可存放于闪存中(所以称为可携式软体),移除后也不会将任何纪录(注册表消息等)留在本机计算机上。通俗点讲绿色软件就是指不用安装,下载直接可使用的软件。绿色软件不会在注册表中留下注册表键值,因此相对通常的软件来讲,绿色软件对系统的影响几乎没有,因此是很好的一种软件类型。
59.Linux启动过程:
BOIS——>Bootloader——>kernel——>init——>service——>login——>bash
若linux出现,grup>且中止引导了,则说明/var/boot/grup.conf找不到了。解决方式:手动引导,即在grup>直接输入grup.conf的三行内容!(bootloadet就是经过这三行引导内核的)
应该背会,可用tab键补齐!!!
root (hd0,0) //grup与linux不要紧,人家统一都叫hd
注意root与(hd0,0)直接必须有空格!引导时全部硬盘都用hd表示,且从0算起,hd0,而后tab查看有几个分区!!!
kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet
把内核载入内存,并以只读方式挂载根分区。
后面能够加参数好比,selinux=0(关闭selinux) 也能够加6 固然这个参数,kernel不认识就会把它传给第一个进程,即init 这时6传过来,他就会一直重启(init 6你懂的)!
哦哦哦,原来在开机时,按e或c,而后输入1,再按b(boot)进入单用户模式,就是把输入的参数加在这一行上了,虽然这一行它不识别,它会把他传给init这个进程,而init会识别,从而能够识别,因此就进入单用户模式了。同理,还能够输入输入其余参数!!
######此处可参考鸟哥615页!很是好!!
此处的根/不是/etc那个根,而是(hd0,0)这个分区的根。若是/dev/sda1挂载在/boot下面则该/表示/boot.因此此处的根表示该分区所挂载的目录的根!此处的根就是/boot目录的根
。然后面那个root=LABEL=/ ,此处的根是系统的根分区那个根。LABEL卷标名,这个等式的意思是指出根分区的位置(由于根分区有系统启动必要的配置等文件)他这个式子是经过卷标名找到根分区,也能够经过/dev/sdan来直接表示根分区。root=根分区,这句话起到一个承上启下的做用,上承kernel下启动init.启动init必须找到根分区!!!
最好删掉rhgb,它是红帽自带的参数,它用来遮盖,美化内核启动过程,去掉它 能够看到内核具体哪里启动出错了!!
label卷标,/表示根分区,如有多个根分区则为/-1 /-2等等
initrd /initrd-2.6.18-194.el5.img 它和内核版本是对应的!!
initrd镜像文件(Initial PAM DISK,初始化内存磁盘)镜像文件,linux的模块放在根分区上,须要时动态添加。但有些必要模块启动时就载入内存,好比驱动硬盘模块。没有驱动硬盘模块就挂载不上根分区,这样别的模块就没办法动态添加了!!
注意,这里是路径多是/boot/,总之是状况而定!!!
三招打完后,boot命令发出引导下就好了!!!
60.启动服务时强烈建议使用/etc/rc.d/init.d/ 服务名 start
61.RPC:Remote Procdure Calls,远程过程调用协议,程序可使用这种协议向网络中的另外一台计算机上的程序请求服务。使用RPC的程序没必要了解支持通讯的网络协议(非面向过程),提升了程序的互操做性。普遍用于支持分布式程序(不一样组件分布在不一样计算机上的应用程序)的支持。
62.portmap服务,把RPC程序号转换为DARPA的协议端口号。即给应用程序找一个监听的端口!!!
NFS服务器的启动分三步:①service portmap start ② service nfslock start
③service nfs start 那个没装就装上。
(这才是关键)#启动后修改/etc/exports 即在该文件里加上可共享目录!!!
格式为:可共享目录 可共享IP
Eg /var/nfs 10.37.1.44 //注意要共享的目录nfs 权限必须为777 。其父目录无要求
如何使用共享目录---->挂载后。才可用!
貌似共享的目录没有w权限!
!showmount -e IP 可查看该ip共享的目录!
注:服务器的防火墙得关了,要不你去配置好防火墙!!
Eg mount -t nfs IP:目录 挂载点!!
63.linux中命令太长,没法一行输入完,能够用 \ 来使开始新的一行输入!!!
64.接触一台新的linux机器是,最好先alias一下,看看它定义有哪些别名,了解后便于操做。 [root@linuxidc.com ~]#alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
这些是通常linux自带的别名。eg:rm=rm -i要想不用别名用 \rm 或/bin/rm(绝对路径)
65.用YUM安装软件四部曲://PS:RHEL 7.0镜像中已配置好yum源,挂载镜像便可使用
①准备安装源,即从光盘里把要安装的软件所在的频道拷贝到/var/yum(自定义路径),而后删掉Server里面的repodata这个目录,也能够不用拷贝,从ftp(把资源放在一台电脑上节省其余电脑内存)或http上获取。cp事后,为/var/yum/Server!!注意createrepo加的路径是
/var/yum即生成的repodata目录和软件包目录Server在同一高度!!!
②安装createrepo(repo仓库的缩写),新建本地源目录,即createrepo /var/yum(安装包在/var/yum/Server里面,注意生成的目录repo与安装包所在目录在同一阶级因此此处createrepo后面加的目录是/varmyum)这时会在/var/yum下生成一个repodata的目录,里面有四个文件,则表示新建源目录成功。
③配置yum源,即在/etc/yum.repos.d/rhel-debuginfo.repo文件里,加入指向本地yum源的配置信息。
[文件名(随便起,一个标识而已)]
name=local_软件名 (仅是标识)
baseurl=file://《这两斜杠是file的格式》本地路径(/var/yum即Server/和repodata/的上级目录。)
enabled=1 (是否启用这个YUM下载源,1启用,0不启用)
gpgcheck=0 (安装前是否检测rpm包的数字签字)
这是本地yum源的配置!
④开始执行,yum一系列命令。eg: yum install 软件名1 软件2
eg:yum install mysql* 不要写成yum install mysql 由于这样这会只安装mysql而不安装别的!
66.kernel+modules(模块,例如8139网卡模块)构成内核空间,内核空间之上提供API接口,内核空间外有glibs(c++,c库)也提供提供有API接口。这些API接口给APP提供与内核交流的窗口。Kernel须要时能够加载各类模块。全部的模块都在 Pb/medules/内核版本号(以它命名)/ 里面。
内核空间下面是硬件:CPU、PCI.、IDE CPU经过机器代码与kernel沟通
67.内核版本目前只有2.4,(2.4至关于linux内核的20岁生日在此以前,linux只是一个玩具上不了台面)2.5(5奇数表示是测试版本),2.6(6偶数稳定版本)
查看kernel版本,ll /boot7mlinuz-2.6.9-22.EL (2.6表稳定,9表示2.6的第6个版本,此处奇偶数不表明是否稳定,-22表示第22次修订,EL表示由红帽修改过不是原官方,不一样公司修改的此处不同)。另外,一个公司的实力就是看他在内核上的造诣!!!
68.liunx最大的特色:一切皆是文件!!!
Eg: tty 控制台,在linux下 ll /dev/tty? 可查看所有 echo AA > tty2 ,你能够用alt+F2 (在x-windows下用 ctrl+alt+F2),切换到tty2控制台下,会发现显示AA.。缘由就是:一切皆文件!!!
69.pts/0 1 2 表示在x-windows下打开的终端!!!
70.W与L的一个区别:L的x-windows是一个软件无关紧要,而W的windows是在内核空间里的。因此W的图形界面比L的流畅。
Startx 启动x-windows,startx□--□:1启动第二个x-windows(即tty8)
whoami who is he w 从左到右一个比一个详细显示登陆信息!! !
71.php数组的键名最好用单引号,这样能够避免一些特殊字符生效!固然有时候必须用到双引号,固然直接用双引号!!
72.你敢信!!linux字符界面有复制粘贴功能!!!
RedHat 安装后每次启动时都会自动运行一个叫gpm的程序, 该程序运行后就能够用鼠标来拷贝与粘贴了. 具体作法是按住鼠标左键拖动使要拷贝的地方反白, 这时反白的区域已经被拷贝, 再按鼠标右键拷贝的内容就会被粘贴在光标所在位置了。
73.给进入单用户时加上密码(在那个红色的背景下,按e或c都没反应除非按p而后输入密码,正确后才可进入单用户!!!):在/boot/grup/grup.conf里面,title以前加上一句password +密码 但此时是明文,容易被偷窥!!!这是须要用密文密码即password --md5 +密文
如何把明文密码转换为密文。输入grub-md5-crypt 这时回提示输入密码,转换好之后,在vi插入模式下,粘贴便可!!!
74.echo -e "\033[0;34m" (30~37表明不一样颜色)这仅仅是临时修改,想要永久请vim ~/.bashrc 本身修改下本身的用户环境变量就行了!!!由于每一个人的口味都不一样!
75.#init n 切换运行级别(runlevel 查看当前运行级别),好比当前是init 5而后运行init 3 。则系统进行的操做是。查看init 3 的文件,即/etc/rc.d/rc3.d里面的全部K***和S***。若是发现有K***的服务,在运行则运行K*** stop 来关闭服务。若果发现有S***开头的服务关闭,则运行S*** start 来开启这个服务。
开机启动时也是根据相应的运行级别,查看相应的/etc/rc.d/rcN.d 来开启关闭服务!!
/etc/rc.d/rcN.d里面的文件则是经过chkconfig来设置!!!eg:chkconfig sshd ogg
则/etc/rc.d/rcN.d里面只有K**sshd 这个文件!!从这也能够看出chkconfig能够设置开机启动某服务,就是经过控制/etc/rc.d/rcN.d来实现的!(详见鸟哥)
/etc/inittab配置文件里,有x:5:respawn:/erc/xll/prefdm 这句的意思是在5的运行级别下以respawn方式(用respawn方式调用子进程。即当前进程不停下来,并且实时监控着子进程,若是子进程死了或者结束了,再左右起来他,无限春哥懂了吧
)运行图形界面!!因此5才表明图形界面!
76.URL构成: 协议名://地址:端口/资源名 协议有:http,,ftp,,https(加密的安全http协议,好比银行的网站采用的协议都是https协议)
77.不管是C/S仍是B/S,php都是做用S,即服务端的语言!!!
78.substr取部份字符串。(这个屌丝函数start参数为复负数时表示从结尾处开始!)
语法:string substr(string string, int start, int [length]);
返回值:字符串
内容说明
本函数将字符串 string 的第 start 位起的字符串取出 length (取出个数)个字符。若 start 为负数,则从字符串尾端算起。若可省略的参数 length 存在(若省略则表示一直取到结尾),但为负数,则表示取到倒数第 length 个字符。
使用范例<?
echo substr("abcdef", 1, 3); // 返回 "bcd"
echo substr("abcdef", -2); // 返回 "ef"
echo substr("abcdef", -3, 1); // 返回 "d"
echo substr("abcdef", 1, -1); // 返回 "bcde"
?>
79.HTML里面一个表单只能被提交一次!!!由于,正常状况下表单第一次从页面传过来后,php立马开始执行,执行完以后就结束了。因此一个表单只能提交一次。固然能够本身设定,等待屡次输入,输入完后一次性处理!
80.bash的环境配置文件有四个:/etc/profile /etc/bashrc ~/.bash_profile
~/.bashrc profile文件和bashrc文件在启动login shell(即取得shell时须要完整的登录流程)时才会读取。non-login shell 只读取bashrc文件。
81.PHP中mysql的运用:
①与mysql创建链接和选择数据库。
$link=Mysql_connect(“ip”,”user_name”,”password”) (该函数会有一个返回值(状态),能够判断是否创建链接成功。)
mysql_selectdb(“databanse_name”) (选择数据库)
一般咱们把数据库的连与选择放在一个php里面,而后别的php能够直接引用即 require”php_nme”
include与require的区别
require 的使用方法如 require("MyRequireFile.php"); 。这个函数一般放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。经常使用的函数,亦能够这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函数通常是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,能够把程序执行时的流程简单化。
include()与require()的功能也基本相同(包含),但在用法上也有一些不一样,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面代码中,若是变量$a为真,则将包含文件a.php:
if($a){
include("a.php");
}
而require()则和include()不一样,无论$a取何值,下面的代码将把文件a.php包含进文件里:
if($a){
require("a.php");
}
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
② 在php尽情操做数据库
mysql_query(“sql语句”) 或者$var=”sql语句” mysql_query($var)
对在php中来讲全部的sql语句能够分为两种即①select语句②非select语句
由于 select语句返回的是一个结果集!!!
所以有专门操做结果集的函数,用来对结果集进行筛选从而选出用户所需数据。
Eg: $result=mysql_query($sql);($result 保存结果集)
$rows=mysql_num_rows($result);
mysql_fetch_assoc() 函数,返回关联数组即保存键值对不变。
mysql_fetch_row() 函数,返回索引数组即保存键变成0-n。
mysql_fetch_array()函数,返回索引和关联数组即输出两遍!!
切记!→_→mysql_close()关闭数据库,无参数时默认关闭当前打开数据库!
还有mysql_free_result($result)释放掉查询的结果集!!!!
82.建立表时,最好写成create table if not exists table_name 这个若是不存在很神啊
一样删除时:drop table if exists table_nsme 若是存在则删除,很神!
83.php中{},是一个好用的定界符!!
eg:$a=wee echo "ddd{$a}gggg" 能够区分变量名与通常字符!
84. . *.sh 点,空格加路径执行sh,是在当前sh下执行不在另开一个bash.
85.linux下定义变量,仅在当前bash里有效。若是加上export (声明为全局变量)则该变量会在该 bash 如下的子bash也也生效。
记住一个习惯:在*.sh里定义变量了,在sh的最后必定要加上unset 变量名。来取消定义的变量这样保证不会出错。unset也能够取消定义的函数!
若是脚本里面不加#!/bin/bash 且运行时不指定shell ,回报错运行不了。由于没指定演员(shell类型),戏(你写的脚本)是唱不了的!!!
86.
[□ □]是条件判断式,判断真假。[ -z abc ]文件存在(或数值为空)时返回ture
[ -n abc ]文件存在或数值不为空时返回ture.
另外用[ ]判断式时,记得给变量加上双引号。
Eg: AA=pgrep httpd (AA=6012 6013 6014 6015 6016)
[ -z $AA ] 时判断式为[ -z 6012 6013 6014 6015 ]由于空格表示结束 因此会只判断6012 其余数值不判断。So、、就报错了。
应写成[ -z “$AA” ] 这样式子就为[ -z “6012 6013 6014 6015 ”]这样就不会出错
#!/bin/bash 规定执行脚本所用的shell类型为bash。由于linux环境变量里可能没规定shell.
For ... Do......done两种运用:①固定循环②数值处理
各有各的妙处①固定循环。
#!/bin/bash
AA=`pgrep httpd` //` ` 反引号,优先执行反引号里面的命令把命令结果放到反引号的位置。
For aa in $AA
do
kill -9 aa //aa得值为6012 ~ 6016
done //关掉一切http服务!!
②数值处理
for ((初始值; 限制值; 执行步长))
seq 1 100 该命令是生成100个数
For aa in `seq 1 100`
Do
$sum=$[ $sum+aa] //求1+2+3+...+100
Done
$[表达式]和$((表达式)) 两种表示该运算为数值运算!!!
do while 与 do until 格式相同!!!但判断条件相反!!!
87.awk -F : ‘{ printf “\n” $1}’ //表示用 : 作分隔符 不写时默认用空格
Print 的众多参数在此用双引号,括起来才会生效!!!!
$0表示一行!!!$1~$n表示第n列!!!!
sed -e '动做' 文件 动做必定要用单引号括起来!!
eg : set 's/root/love/g' /etc/passwd 把/etc/passwd里面的root都换成love.在,仅在屏幕上输出改动结果,文件自己不变!
还能够在参数前加上要匹配的正则表达式,到必须加/ /好比>3< sed '/∧#/d' 文件名,即删除文件中以#开头的文件!!!
正则表达式中\<a,表示以a开头的字符串,a\>表示以a结尾的字符串!!!
88.唉~终于吃亏了,下次要记得装什么软件最好在/var或者/opt目录下建一个已软件名命名的文件夹!便于之后的查找与维护!!!
89.IP地址的A类开头0(0~127),B类开头10(128~191),C类开头110(192~223),D类:开头是1110 从224.0.0.0~239.255.255.255 D类地址是组播,广播,多播地址! E类:开头是1111 从240.0.0.0~255.255.255.255 E类地址是留做实验用的。
D类与E类不用做标识网络接口!因此,也就没有Netid和Hostid
90.linux下/etc/sysconfig/i18n文件中的仅有的一行LANG="zh_CN.UTF-8"控制系统语系,
zh_CN.UTF-8表示是中文界面,en_US.UTF-8表示英文界面。
91.LINUX $()等于` 反引号` ${ 变量命 },仅仅是引用变量,{}是定界符!
length=${#变量命}测变量值长度,并返回还值!
92。 提示出现错误:传输(VMDB)错误-44:Message.The VMware Authorization Service未运行。就运行services.msc(打开服务控制台)开启VMware Authorization服务既可!
93.作服务器机器的硬盘接口最好用SCSI接口,且读取达到1w5!尽管SATA便宜但最好别用,由于SATA太慢(通常7200转/分),但PC上主流用SATA,它干掉了IDE!
硬盘接口是硬盘与主机系统间的链接部件,做用是在硬盘缓存和主机内存之间传输数据。不一样的硬盘接口决定着硬盘与计算机之间的链接速度,在整个系统中,硬盘接口的优劣直接影响着程序运行快慢和系统性能好坏。
94。cd - 能够在当前和上个命令之间切换! 赊——赊帐
95。mv 源文件 目标文件 能够为文件重命名,mv的特性是移动时不加文件命则保持原名,若加有新名字则为新名字!
96。为了数据库的安全,最好别用root帐号,不安全。应该:grant all to user_name@localhost(或者%(表任意地方).locathost表示仅本地主机可连) on db_name.table_name identified by 'password' 这个语句意思是:建立一个用户,规定它在哪能够登录,设置登录密码及登录后可操做的数据库和表(可选)
97。VFS是一个异构文件系统之上的软件粘合层(注:有时也把VFS称为可堆叠的文件系统(Stackable Filesystem),由于VFS能够无缝地使用多个不一样类型的文件系统,就像把多个文件系统堆叠在一块儿同样,故而得名)。经过VFS,能够为访问文件系统的系统调用提供一个统一的抽象接口。
文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操做系统的交互
根文件系统首先是一种文件系统,该文件系统不只具备普通文件系统的存储数据文件的功能,可是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载以后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行
根文件系统之因此在前面加一个”根“,说明它是加载其它文件系统的”根“,既然是根的话,那么若是没有这个根,其它的文件系统也就没有办法进行加载的。它包含系统引导和使其余文件系统得以挂载(mount)所必要的文件。根文件系统包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都须要有init目录下的相关文件,在 Linux挂载分区时Linux必定会找/etc/fstab这个挂载文件等,根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux 系统启动所必须的文件均可以成为根文件系统。
Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功以后能够自动或手动挂载其余的文件系统。所以,一个系统中能够同时存在不一样的文件系统。
在 Linux 中将一个文件系统与一个存储设备关联起来的过程称为挂载(mount)。使用 mount 命令将一个文件系统附着到当前文件系统层次结构中(根)。在执行挂装时,要提供文件系统类型、文件系统和一个挂装点。根文件系统被挂载到根目录下“/”上后,在根目录下就有根文件系统的各个目录,文件:/bin /sbin /mnt等,再将其余分区挂接到/mnt目录上,/mnt目录下就有这个分区的各个目录,文件
98.键盘右上角第三个灯亮了,就表示你他娘的无心间按到ctrl--s了,屏幕被锁了。请再按ctrl--q恢复!
99.在word,27,而后选择7。打开字体——选择上标。便可打出漂亮的2的7次方。
100.PPT——右键——背景——填充效果——锁定图片纵横比——便可保持图片的原样了!!!
101.字符>是一个辅助提示符,由shell给出,意思是但愿用户键入更多的信息已完成命令行的输入。
由shell提供的特殊字符叫作元字符。
shell元字符
> prog>文件 将标准输出重定向到文件
>> prog>>文件 将标准输出附加到文件
< prog<文件 从文件file中获取标准输入
| p1|p2将p1的标准输出做为p2的标准输入
<<串 here document:标准输入从here document 读入,直到出现串
* 匹配文件名中的零个或多个字符
? 匹配文件名的任何单个字符
{ccc} 匹配文件名中ccc范围内任何字符,如0-9或a-z都是合法的
; 命令结束符。例如p1;p2表示先执行p1,再运行p2
& 与;相似,但不等p1结束。即把p1放在后台运行——
`xxx` 运行xxx中的命令;输出结果代替`xxx`即优先执行。
(xxx) 在子shell里运行xxx中的命令
{xxx} 在当前shell中运行xxx中的命令(不多使用)
$1,$2等 $0——$9可表明shell文件的参数。但$0表明执行文件自己。
$变量 shell变量的值
${变量} 变量的值:为避免在文本链接时混淆,使用{}作定界符。
\ \C将C字符做为字符(即转义字符),但\后面加换行符无效
’xxx’ xxx表示文字,单引号中,一切特殊字符失效——
"xxx" 在xxx中的$、'xxx'和\获得解释后(即双引号中特殊字符有效),将xxx做为文本文字
# 表示注释的开始
变量 = 值 为变量赋值
p1&&p2 运行p1;若成功,再运行p2
p1||p2 运行p1;若不成功,在运行p2
102.php在类中引用成员是必须用this指针即:$this->$var_name
103.左上角WPS的小三角–––工具–––字数统计。便可知道字数。
104。作web的好的素材网站:①三剑客素材 ②素材中国
105。电脑四根跳线:一根重启(复位/重启开关:RESET SW 英文全称:Reset Swicth ),一根开关机(电源开关:POWER SW 英文全称:Power Swicth ),一根电源信号灯(电源指示灯:+/-可能用名:POWER LED、PLED、PWR LED、SYS LED等 ),一根硬盘指示灯(硬盘状态指示灯:HDD LED 英文全称:Hard disk drive light emitting diode可能用名:HD LED )。
跳线的做用是实现两个针短接,产生信号,进行相应操做。(无跳线也可用螺丝刀接触,实现短接)
106。.GHO的镜像都是盗版系统。
107。一个团队的凝聚力的基础是你们都有责任感。即领导要少,这么每一个人都有一份主人感,责任感,才会付出,才会有凝聚力。
108。$a=array('1','1')
foreach($a as $k => $v){ $v= 3}
没法修改数组的值。由于foreach是把数组的键,值都复制一份分别赋给变量k和v即至关于值传递。
$a as $k => &$v 能够修改由于是地址传递。
或者{$a[$k]=6 }也能够修改,这是直接对自己操做。
foreach语言结构操做的是数组的一个拷贝。
109。PHP数组是关联数组,按出现的前后顺序输出,不按键的大小输出。
120.skill -9 pts/2可杀死某个已登录的终端.
121.你们都知道,要修改Linux系统的DNS服务器,只须要编辑/etc/resolv.conf文件便可。然而在Ubuntu 12.04里面,打开这个文件后,虽然能够看到配置信息,可是同时也看到了文件头里醒目的两行注释:
#Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
大意是这个文件是由resolvconf程序进行动态生成的,请不要手动修改,修改的信息将会被覆盖。这到底是怎么回事呢?
首先固然是不死心了,往里面添加了本身的DNS服务器地址后保存退出,发现能生效。看上去彷佛没有什么问题了。
然而,在重启后,我添加的信息果真没有了!被系统自动覆盖了。
可是我真的很须要本身配置DNS服务器,Ubuntu Desktop版中能够借助图形界面的工具,进行手动配置,这个没有什么问题。可是对于Ubuntu Server版来讲,没有图形工具了,必需要本身修改文件进行配置才行,这下这个文件每次启动后都会被覆盖了,要怎么样才能让我本身的DNS服务器信息能保存到系统里呢?
网上搜索了一下,发现了解决办法,原来只须要往resolvconf这个程序的目录里写入一个新配置文件就能够解决。让咱们一块儿看看怎么样在Ubuntu 12.04 LTS Server版中配置本身的DNS服务器吧!
首先咱们须要建立一个文件/etc/resolvconf/resolv.conf.d/tail:
#vim /etc/resolvconf/resolv.conf.d/tail
而后咱们在这个文件里写入本身要添加的DNS服务器,格式与之前的/etc/resolv.conf文件一致:
nameserver 8.8.8.8
nameserver 8.8.4.4
而后输入wq保存退出。接下来咱们重启下resolvconf程序,让配置生效:
#/etc/init.d/resolvconf restart
再去看看/etc/resolv.conf文件,本身添加的DNS服务器果真乖乖的写进去了!至此问题完美解决!//牛逼。
122。RHEL––>即Red Hat Enterprise Linux
123。数据库的设计——不能为了实现某些功能来扭曲了,一个事物的本质。
124.Anaconda是Red Hat Enterprise Linux的安装程序!
125.RHEL中/etc/passwd目录中的主目录字段,是用户登录成功后进入的目录,若是没有指明该目录则用户登录后会进去/根目录。
解决方法:cp -r /etc/skel ~/nsme便可
/etc/skel目录是用户主目录的模板。
126.sh与bash的区别
1. sh通常设成bash的软链
[work@zjm-testing-app46 cy]$ ll /bin/sh
lrwxrwxrwx 1 root root 4 Nov 13 2006 /bin/sh -> bash
2. 在通常的linux系统当中(如redhat),使用sh调用执行脚本至关于打开了bash的POSIX标准模式
3. 也就是说 /bin/sh 至关于 /bin/bash --posix
因此,sh跟bash的区别,实际上就是bash有没有开启posix模式的区别.
还有一点若是/etc/passwd中用户的默认shell是/bin/sh而不是/bin/bash则提示符会出错,并且不管怎么修改PS1都不起做用。
127.虽然说linux下没有后缀这个概念,可是你编程时不用.c作后缀试试!←_←
128.resolv.conf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
下面咱们给出一个/etc/resolv.conf的示例:
domain 51osos.com
search www.51osos.com 51osos.com
nameserver 202.102.192.68
nameserver 202.102.192.69
最主要是nameserver关键字,若是没指定nameserver就找不到DNS服务器,其它关键字是可选的。
nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
domain 声明主机的域名。不少程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。若是没有域名,主机名将被使用,删除全部在第一个点( .)前面的内容。
search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
domain和search不能共存;若是同时存在,后面出现的将会被使用。
sortlist 容许将获得域名结果进行特定的排序。它的参数为网络/掩码对,容许任意的排列顺序。
129.rpm -ql soft_name 可查询软件的安装位置。
130.挂载——mount -o MOUNT_OPTIONS指定挂载参数挂载。
mount -o remonunt,MONUT_OPTIONS在不卸载的状况下修改挂载参数。//请注意格式。
131.配置磁盘配额
①修改文件系统的挂载参数
mount -o remonut, usrquota,grpquota,rw /dev/sda2 /mnt/tmp
usrquota:启用对用户的磁盘配额功能
grpquota:启用对组群的磁盘配额功能
②初始化磁盘配额数据库
quotacheck -c -u -g /dev/sda2
c:新建磁盘配额数据库
u,g:创建或更新aquota.user/aquota.group
③启用与停用磁盘配额
quotaon -p查看磁盘配额启动状态
quotaon/quotaoff /dev/sda启动/关闭磁盘配额
④设置磁盘配额
edquota -u user_name //进入一个相似vi的编译环境
全部启动磁盘配额的磁盘都对该用户约束。
132.你要让别人以为你有价值,你才能被人看重!2014-6-13
我,王亚彬,终将亮瞎大家。
133.英语中专有名词首字母都大写。像什么:Internet表示因特网,Ethernet表示以太网。
134.路由器转发数据的步骤:
H1为源主机H2为目的主机
①判断H1、H2是否在同一网络。
即把H2的ip地址与H1的子网掩码就行与运算,得出一个网络号,判断该网络号是否与H1的网络号相同。若相同则不通过路由器转发,若不相同则交给H1的默认路由来处理。
②路由器把收到分组后,就在其路由表中逐行寻找有无匹配的网络地址。
即从第一行起,把每行的子网掩码和收到的分组的目的地址就行 与 运算,获得一个网络号NETID,而后拿NETID和路由表中的该行的目的网络号比较,若相同则把分组交给对应的下一跳接口;若不一样则重复②步骤。
135.要
锻炼
本身
的
表达能力!----2014-7-13
136.出现下面问题请不要蛋疼,这是由于你的network自己已经启动,你在start 就会报错,好比你换了你在/etc/sysconfig/network-scripts/ifcfg-eth0 许多ip它都会报错说,the ip addr is
existsing .出现这样错误请淡定,请直接 service network restart .
还有可能也会出现UUID重复的错误,请在/etc/sysconfig/network-scripts/ifcfg-eth0直接注释掉他就好了。