google php linux 微软 开源 Python Firefox HTML5 apache centos Windows nginx shell mysql wordpress Android Ubuntu java linux命令 程序员

Linux基础知识

  for循環是Linux Shell 中最常用的結構。for 循環有三種結構:一種結構是列表for循環;第二種結構是不帶列表for循環;第三種結構是類C風格的for循環。上篇博文講解了不帶列表for循環,本篇博文重點看類C風格for循環。類C風格的for循環也可被稱為計次for循環,一般用於...
  每一種條件語句的基礎都是判斷什麽是真什麽是假。是否了解其工作原理將決定您編寫的是質量一般的腳本還是您將引以為榮的腳本。 Shell 腳本的能力時常被低估,但實際上其能力的發揮受制於腳本撰寫者的能力。您了解得越多,您就越能像變戲法似地撰寫一個文件來使...
 要使Shell腳本程序具備一定的“智能”,面臨的第一個問題就是如何區分不同的情況以確定執行何種操作。例如,當磁盤使用率超過95%發送警告;當備份目錄不存在時能夠自動創建;當源碼編譯程序的配置失敗則不再繼續安裝等。  Shell環境根據命令執行後的返...
 if用於選擇的條件,不是很多的情況,如果選擇的條件太多,一系列的if,elif,,也是醉了。沒錯,case在bash中的地位,和switch在C中的地位一樣。但是用法可大有不同。  任何語言都有代碼塊的概念,C語言中的花括號{ },python中的冒號和縮進。bash中的代碼塊風...
 在Linux系統中,無論是命令、腳本還是程序執行完成後都存在退出狀態,退出狀態通常保存在預定義變量$?中。0表示成功,1表示失敗(退出狀態可以自定義,默認非0為失敗)  在腳本中設置退出狀態用exit(無論腳本執行到何處,遇到exit立即設置退出狀態,然後退出...
 盡管還沒有正式介紹引號的使用規則,但之前的腳本程序已經大量使用了引號,現在彌補這個空缺還來的及,在Shell腳本中可以使用的引號有如下三種:  1.雙引號:阻止shell對大多數特殊字符進行解釋,仍然保持其特殊的含義  2:單引號:組織shell對所有字...
 在Shell中使用變量不需要事先申明,使用等號“=”將一個變量右邊的值賦予這個變量時,直接使用變量名就可以了。  Shell和其它編程語言一樣,支持多種運算符,包括:算數運算符、關系運算符、布爾運算符、字符串運算符、文件測試運算符;  原...
  表達式 \1 到 \9 總是指反向引用,而不是八進制代碼。多位表達式 \11 和更高位表達式在具有與該號碼對應的反向引用時被視作反向引用;否則,它們會被解釋為八進制代碼(除非起始位是 8 或 9,在這種情況下它們被視為原義的“8”和“9”)。如果正...
一個單詞如果交換其所含字母順序,得到的單詞稱為兄弟單詞,例如mary和army是兄弟單詞,即所含字母是一樣的,只是字母順序不同,用戶輸入一個單詞,要求在一個字典中找出該單詞的所有兄弟單詞,並輸出。給出相應的數據結構及算法。要求時間和空間復雜度盡可能。 給定一個單...
在google code下載源碼下來學習的時候,有時候有這種狀況 一個工程包含另一個工程。相當於一個jar包的引用。但又不是jar包反而像個package 在網上找到了這個方法: 現在已經有了一個Android工程A。我們想擴展A的功能,但是不想在A的基礎上做開發,於是新建了另外一...
Vim是vi最受歡迎的變種之一,除了繼承了Vi迅捷的編輯方式, Vim的功能已經比原始的Vi強大得多。這也得益於它可以用Vim腳本無限地擴展。 Vim.org 上已經有數千個腳本了,給Vim增加各種各樣的特性和功能。 為了證明Vim的可擴展性不輸於emacs,也有用戶寫了在Vim中玩遊戲、運...
vi (vim)的基本使用方法,但對於普通用戶來說基本上夠了!i/vim的區別簡單點來說,它們都是多模式編輯器,不同的是vim 是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在裏面。例如語法加亮,可視化操作不僅可以在終端運行,也可以運行於x window、 mac os、 ...
 語法高亮是所有程序員編輯器必備的功能,這個功能可以讓程序看起來賞心悅目。更重要的是,它可以提高效率。並且有效的減少出錯的幾率,要在im中打開語言高亮的功能,只需要使用下面這個命名。im會通過文件擴展名自動決定哪些是關鍵字。 我覺得對自己的幫助很大,起...
 替換是一種最負責的命令方式,他有多種方式。替換有關的一個小技巧是清除文本文件中的M字符。Linux程序員經常會碰到來自Windows環境的源代碼文件,由於Windows環境中對換行符的表述和Linux環境下和解釋器而言是沒有影響的。但是在進行Shell編輯處理的時候卻會出現新的...
在rpm(紅帽軟件包管理器)技術出現之前,Linux系統運維人員只能通過源碼包的方式來安裝各種服務程序,這是一件非常繁瑣且極易消耗時間與耐心的事情;而且在安裝、升級、卸載程序時還要考慮到與其他程序或函數庫的相互依賴關系,這就要求運維人員不僅要掌握更多的Linux系統理...