1.电脑输入法失效。cmd––>mon可找回输入法!
2.c++.面向对象,c语言面向过程。
3.Ctrl+Alt+Del热启动!!无加电自检!!
4.Linux––>partx 设备名 重新读取磁盘的分区表!它若不举,便用partprobe
5.配linux服务器失败时时,可用netstat –l命令来查看服务器端口是否在开启!
6.linux的主机名,千万别用hostname这个傻逼命令乱改主机名,要改必须三个地方都改,不然做服务器时会出现下面的错误getaddrinfo:localhost Name or service not known.
拯救方法如下,保证三处一致,即环境变量,本地文件(内),网络文件(外)
1,hostnmae newname或echo $HOSTNAME显示当前名字 (环境变量,最后改下)
2,vim /etc/hosts 修改 本机ip (见44条) newname (主机名,户口本)
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直接注释掉他就行了。
原文地址:http://www.cnblogs.com/anythig-is-possible/p/3841576.html