Linux是一套無償使用和自由傳播的類Unix操做系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操做系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操做系統。linux
目前大部分服務器都是Linux系統,開發人員必不可少的也會使用linux:編程
想要很好的高效使用linux,那麼命令將會是不得不學習的部分,有時候使用命令會比編程來的更加高效,也能必定程度上取代一些繁瑣的操做。windows
常見的的命令不少。要所有記住估計不太靠譜,因此有一個很通用的方法,查看一個命令的使用方法;數組
man指令 man [commend]
查看一個命令的使用方法安全
--help: [commend] --help
查看部分指令幫助說明【並不適用所有命令】服務器
ls命令用於顯示指定工做目錄下以內容(列出目前工做目錄所含之文件及子目錄)。網絡
語法:ls [-alrtAFR] [name...]
參數 :
-a 顯示全部文件及目錄 (ls內定將文件名或目錄名稱開頭爲"."的視爲隱藏檔,不會列出)
-l 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
-r 將文件以相反次序顯示(原定依英文字母次序)
-t 將文件依創建時間之前後次序列出
-A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
-F 在列出的文件名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
-R 若目錄下有文件,則如下之文件亦皆依序列出
Linux mkdir命令用於創建名稱爲 dirName 之子目錄。多線程
語法:mkdir [-p] dirName
參數說明:
-p 確保目錄名稱存在,不存在的就建一個。
cd 切換目錄app
語法:cd [dirName]
參數說明:
dirName:要切換的目標目錄。
Linux touch命令用於修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會創建一個新的文件。less
語法
touch [-acfm][-d<日期時間>][-r<參考文件或目錄>] [-t<日期時間>][--help][--version][文件或目錄…]
參數說明:
a 改變檔案的讀取時間記錄。
m 改變檔案的修改時間記錄。
c 假如目的檔案不存在,不會創建新的檔案。與 --no-create 的效果同樣。
f 不使用,是爲了與其餘 unix 系統的相容性而保留。
r 使用參考檔的時間記錄,與 --file 的效果同樣。
d 設定時間與日期,可使用各類不一樣的格式。
t 設定檔案的時間記錄,格式與 date 指令相同。
--no-create 不會創建新檔案。
--help 列出指令格式。
--version 列出版本訊息。
cat 查看文件內容
語法: cat [-benstuv] [file ...]
參數說明:
-b Number the non-blank output lines, starting at 1.
-e Display non-printing characters (see the -v option), and display a dollar sign (`$') at the end of each line.
-n Number the output lines, starting at 1.
-s Squeeze multiple adjacent empty lines, causing the output to be single spaced.
-t Display non-printing characters (see the -v option), and display tab characters as `^I'.
-u Disable output buffering.
-v Display non-printing characters so they are visible. Control characters print as^X' for control-X; the delete character (octal 0177) prints as
^?'. Non-ASCII char-acters (with the high bit set) are printed as `M-' (for meta) followed by the character for the low 7 bits.
cp 拷貝
語法:cp [options] source dest
或cp [options] source... directory
參數說明:
-a:此選項一般在複製目錄時使用,它保留連接、文件屬性,並複製目錄下的全部內容。其做用等於dpR參數組合。
-d:複製時保留連接。這裏所說的連接至關於Windows系統中的快捷方式。
-f:覆蓋已經存在的目標文件而不給出提示。
-i:與-f選項相反,在覆蓋目標文件以前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋。
-p:除複製文件的內容外,還把修改時間和訪問權限也複製到新文件中。
-r:若給出的源文件是一個目錄文件,此時將複製該目錄下全部的子目錄和文件。
-l:不復制文件,只是生成連接文件。
mv命令用來爲文件或目錄更名、或將文件或目錄移入其它位置。
語法:mv [options] source dest
或者mv [options] source... directory
參數說明:
-i: 若指定目錄已有同名文件,則先詢問是否覆蓋舊文件;
-f: 在mv操做要覆蓋某已有的目標文件時不給任何指示;
rm命令用於刪除一個文件或者目錄。
語法rm [options] name...
參數:
-i 刪除前逐一詢問確認。
-f 即便原檔案屬性設爲惟讀,亦直接刪除,無需逐一確認。
-r 將目錄及如下之檔案亦逐一刪除。
tree 樹形結構顯示目錄,須要安裝tree包
y語法:tree [-aACdDfFgilnNpqstux][-I <範本樣式>][-P <範本樣式>][目錄...]
-a 顯示全部文件和目錄
-d 顯示目錄名稱而非內容
-f 在每一個文件或目錄以前,顯示完整的相對路徑名稱
-F 在執行文件,目錄,Socket,符號鏈接,管道名稱名稱,各自加上"*","/","=","@","|"號。
-r 以相反次序排列
-t 用文件和目錄的更改時間排序
-L n 只顯示 n 層目錄 (n 爲數字)
-dirsfirst 目錄顯示在前,文件顯示在後
-A 使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合。
-C 在文件和目錄清單加上色彩,便於區分各類類型。
-D 列出文件或目錄的更改時間。
-g 列出文件或目錄的所屬羣組名稱,沒有對應的名稱時,則顯示羣組識別碼。
-i 不以階梯狀列出文件或目錄名稱。
-I 不顯示符合範本樣式的文件或目錄名稱。
-l 如遇到性質爲符號鏈接的目錄,直接列出該鏈接所指向的原始目錄。
-n 不在文件和目錄清單加上色彩。
-N 直接列出文件和目錄名稱,包括控制字符。
-p 列出權限標示。
-P 只顯示符合範本樣式的文件或目錄名稱。
-q 用"?"號取代控制字符,列出文件和目錄名稱。
-s 列出文件或目錄大小。
-u 列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼。
-x 將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另外一個文件系統上,則將該子目錄予以排除在尋找範圍外。
open 在終端打開文件或者軟件
Options:
-a Opens with the specified application.
-b Opens with the specified application bundle identifier.
-e Opens with TextEdit.
-t Opens with default text editor.
-f Reads input from standard input and opens with TextEdit.
-F --fresh Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
-R, --reveal Selects in the Finder instead of opening.
-W, --wait-apps Blocks until the used applications are closed (even if they were already running).
--args All remaining arguments are passed in argv to the application's main() function instead of opened.
-n, --new Open a new instance of the application even if one is already running.
-j, --hide Launches the app hidden.
-g, --background Does not bring the application to the foreground.
-h, --header Searches header file locations for headers matching the given filenames, and opens them.
-s For -h, the SDK to use; if supplied, only SDKs whose names contain the argument value are searched.
Otherwise the highest versioned SDK in each platform is used.
man curl
查看lsof
是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,經過文件不只僅能夠訪問常規數據,還能夠訪問網絡鏈接和硬件。因此如傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 套接字等,系統在後臺都爲該應用程序分配了一個文件描述符,不管這個文件的本質如何,該文件描述符爲應用程序與基礎操做系統之間的交互提供了通用接口。由於應用程序打開文件的描述符列表提供了大量關於這個應用程序自己的信息,所以經過lsof工具可以查看這個列表對系統監測以及排錯將是頗有幫助的。
主要使用:lsof -i [46][protocol][@hostname|hostaddr][:service|port]
-i
參數說明:
port is a port number, or a list of them.
實例:
lsof -i 4 //ipv4查詢
lsof -i tcp // 協議查詢
lsof -i @127.0.0.1 // 地址端口查詢
lsof -i :80 // 端口查詢
tar: 打包壓縮
-c 歸檔文件
-x 壓縮文件
-z gzip壓縮文件
-j bzip2壓縮文件
-v 顯示壓縮或解壓縮過程 v(view)
-f 使用檔名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不壓縮
tar -zcvf /home/abc.tar.gz /home/abc 打包,並用gzip壓縮
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,並用bzip2壓縮
固然,若是想解壓縮,就直接替換上面的命令tar -cvf / tar -zcvf / tar -jcvf 中的「c」 換成「x」 就能夠了。