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直接註釋掉他就好了。