NO IMAGE

whatis command檢視命令簡要說明,同時whatis支援-w選項使用正規表示式。更加詳細的文件在info command,man num command檢視說明文件,分為9個類別,即num取1~9.檢視命令的安裝路徑:which command,檢視linux對命令的搜尋路徑whereis command。

檔案操作:建立目錄mkdir dir_name;

刪除目錄rm -rf dir_name;複製目錄cp -r source_dir  dest_dir;

顯示當前路徑pwd;以時間排序,按列表方式顯示目錄項ls -lrt;

給每條目錄前面加上一個id標號cat -n;查詢檔案或目錄 find dest_dir -name file_name;

更加快速的查詢使用locate string 查詢包含有string的路徑,因為locate使用了檔案索引;

檢視檔案內同的命令有cat / vi/ head / tail / less;

顯示檔案之間的差別diff file2 file1;查詢檔案內容egrep regex file_name,實際上是在按照正規表示式regex來列印檔案中匹配的行;

更改檔案的擁有者chown;更改檔案讀寫執行屬性chmod;增加指令碼可執行許可權chmod a x script_name;

建立一個檔案的硬連結ls file file_link,建立符號軟連線ls -n file file_link;

find命令使用正規表示式查詢-regex,指定搜尋深度使用-maxdepth。使用-type來按照型別搜尋,可選選項是d/f/l。查詢到某些檔案之後要執行某種命令可以使用find …. -exec …{} \。

命令連線執行使用“|”,前面成功,則執行後面一條,否則,不執行則使用&&;前面失敗,則後一條執行 則使用 ||;重定向輸出使用 >。

grep pattern file預設訪問文字中的匹配行。sort 排序文字行,-n 按數字進行排序 VS -d 按字典序進行排序   -r 逆序排序   -k N 指定按第N列排序。

PATH是一個字串,儲存的命令搜尋路徑,linux按照PATH中給出的各個路徑順序來搜尋命令,要在PATH中新增一條命令時可以export PATH=$PATH:命令安裝的路徑名這是臨時性的重啟之後會消失,另外也可以是在/etc/profile檔案的最後加入該命令或者在~/.bashrc檔案中加入該命令再重啟系統才可永久生效,但是profile檔案是對所有使用者都生效,而.bashrc檔案只對該使用者有用。

bashrc與profile都用於儲存使用者的環境資訊,bashrc用於互動式non-loginshell,而profile用於互動式login shell。/etc/profile,/etc/bashrc 是系統全域性環境變數設定,~/.profile,~/.bashrc使用者目錄下的私有環境變數設定。當登入系統獲得一個shell程序時,其讀取環境設定指令碼分為三步::首先讀入的是全域性環境變數設定檔案/etc/profile,然後根據其內容讀取額外的文件,如/etc/profile.d和/etc/inputrc;讀取當前登入使用者Home目錄下的檔案~/.bash_profile,其次讀取~/.bash_login,最後讀取~/.profile,這三個文件設定基本上是一樣的,讀取有優先關係;讀取~/.bashrc。~/.profile與~/.bashrc的區別:這兩者都具有個性化定製功能;~/.profile可以設定本使用者專有的路徑,環境變數,等,它只能登入的時候執行一次;~/.bashrc也是某使用者專有設定文件,可以設定路徑,命令別名,每次shell script的執行都會使用它一次。

檢視磁碟利用大小df -h。檢視當前目錄所佔空間du -sh。

linux中的檔案系統是樹形結構,磁碟被分割成的一塊一塊的硬碟區域就是磁碟分割槽,Linux 中的每一個分割槽都是構成支援一組檔案和目錄所必需的貯存區的一部分。它是通過掛載(mounting)來實現的,掛載是將分割槽關聯到某一目錄的過程。 掛載分割槽起始於這個指定目錄通稱為掛載點。如果分割槽 /dev/hda5 被 掛載在 /usr 上,這意味著所有在 /usr 之下的檔案和目錄在物理意義上位於 /dev/hda5 上。/usr 之下的一個或多個目錄還有可能是其它分割槽的掛載點。

tar -cvf tar_name files把files這些檔案打包到一個tar_name檔案中,而壓縮的命令用gzip file。解壓縮使用tar -xvf。

netstat查詢網路連結,wget url 是一個下載工具。

增加賬戶命令useradd -m username,之後通過passwd username來設定新使用者密碼。而刪除賬戶命令userdel -r username,增加使用者之後在/home目錄中多了一個資料夾。賬號切換su username。系統的所有使用者及所有組資訊分別記錄在兩個檔案中:/etc/passwd , /etc/group ,可以檢視。

ubuntu中從普通使用者切換到root使用者使用的命令:sudo su /  su / su root。從root使用者切換回普通使用者命令:su user_name  /  exit / Ctro D。設定root使用者密碼命令為sudo password。

檢視系統版本uname -a;linux中的apt是一個包管理工具,有的linux版本使用yum來管理包。包管理器作用是從源伺服器下載最新的軟體包列表,之後在需要安裝某個軟體包apt-get install 的時候從列表裡面查詢這個軟體包的版本資訊、系統要求、依賴並且新增到列表中,再查詢所有安裝列表裡面的軟體包的.deb檔案下載地址,最後批量下載,自動分析安裝順序之後完成安裝。但是軟體包的更新依賴於apt-get update命令。apt-get upgrade是對已經安裝的軟體包本身更新的過程。一般在install之後執行update。wget是linux中通用的下載工具,只是下載工具;yum是redhat, centos 系統下的軟體安裝方式,基於rpm包管理;rpm:  軟體管理;   redhat的軟體格式是rpm ;使用wget下載一個 rpm包, 然後用 rpm -ivh  xxx.rpm  安裝這個軟體,也可以直接用  yum  install  sqoop   來自動下載和安裝依賴的rpm軟體;apt-get 是ubuntu下的軟體安裝方式。

linux中檢視本機ip地址的命令是ifconfig,而設定本機IP地址的命令是ifconfig etho ip,eth0是介面。

linux重啟網路的命令一般是sudo service network restart,但是ubuntu重啟需要sudo service network-manager restart。

linux中安裝軟體如果不考慮多使用者環境使用linux的話則一定安裝到自己的/home資料夾中因為根目錄/可能會出現空間不足,如果考慮多使用者環境則安裝到/opt/中。親身經歷,教訓需要記住。

linux中顯示磁碟分割槽上的可使用的磁碟空間的命令是df,引數常用的是-h以MB顯示或者-H以GB顯示。

linux中提供的namespace機制是由於虛擬化技術和大容量儲存管理的需要,因為在namespace出現之前系統資源都是全域性管理的,例如程序號pid是全域性唯一的因而互不衝突,從而實現管理,但是採用namespace之後,每個namespace中的PID可能會相同,但是由於屬於不同的ns所以不會衝突,使用者只能看到屬於自己namespace下的資源,所以一個namespace就相當於一個獨立的linux系統,不同的namespace是互不見的,所以ns是一種輕量級的資源隔離的方案。而且namespace是和程序相關的。同時linux提供了多種namespace,包括IPC/NET/UTS/PID/MNT/USER。程序對應的結構體task_struct中就有nsproxy指向namespace結構體。一個程序可以屬於多個ns,而一個ns也可以擁有多個程序。要建立新的Namespace,只需要在呼叫clone或fork時指定相應的flag。Linux Namespaces機制為實現基於容器的虛擬化技術提供了很好的基礎,LXC(Linux containers)就是利用這一特性實現了資源的隔離。不同container內的程序屬於不同的Namespace,彼此透明,互不干擾。名稱空間技術實際上是建立系統的不同的檢視,其內部是抽象了系統的全部資源,這正是docker能夠發揮作用的基礎。名稱空間可以是層次性的也可以是非層次性的。

linux的buffer是為了提高寫磁碟的效率,就是會將要寫入檔案的內容先快取到buffer中,等到buffer滿了之後自動呼叫update或bdflush命令將buffer中的內容強制寫入到檔案中,或者在使用者呼叫sync時執行強制重新整理操作。而cache是為了提高讀磁碟效率,會將之前讀出的檔案內容快取起來,以便以後讀取用。Linux命令清理記憶體:

sync  
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches

四條命令的執行順序是:強制重新整理緩衝區;free pagecache;free dentries and inodes;free pagecache, dentries and inodes,實際都是在往同一個檔案/proc/sys/vm/drop_caches中寫入1/2/3不同清理策略。檢視記憶體使用情況的命令是free。而需要寫一個定時定量清理記憶體緩衝區的指令碼則需要參考:https://www.cnblogs.com/liujiacai/p/7821414.html

linux下的程式除錯:https://linuxtools-rst.readthedocs.io/zh_CN/latest/advance/02_program_debug.html

linux下的效能優化:https://linuxtools-rst.readthedocs.io/zh_CN/latest/advance/03_optimization.html

linux使用工具查詢:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/index.html

linux名稱空間namespace機制:http://blog.csdn.net/preterhuman_peak/article/details/40857117
 linux中環境變數檔案的配置:http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html

linux下配置mysql:http://www.cnblogs.com/mengyan/archive/2012/09/04/2670039.html

linux的配置檔案綜述:https://www.ibm.com/developerworks/cn/linux/management/configuration/

linux網路服務配置方式:http://www.360doc.com/content/14/0421/11/1123425_370788121.shtml