Linux的一下常用命令詳解

對於lunix系統而言

Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操作系統。

目前大部分服務器都是Linux系統,開發人員必不可少的也會使用linux:

  • 穩定、安全
  • 自由開放
  • 簡潔
  • 開發友好

lunix指令

想要很好的高效使用linux,那麼命令將會是不得不學習的部分,有時候使用命令會比編程來的更加高效,也能一定程度上取代一些繁瑣的操作。

常見的的命令很多。要全部記住估計不太靠譜,所以有一個很通用的方法,查看一個命令的使用方法;

  • man指令 man [commend] 查看一個命令的使用方法

    • man ls
    • man curl
    • man open
  • --help: [commend] --help 查看部分指令幫助說明【並不適用全部命令】

    • curl --help

通用型命令

  • ls命令用於顯示指定工作目錄下之內容(列出目前工作目錄所含之文件及子目錄)。

    語法: ls [-alrtAFR] [name...]
    參數 :
    -a 顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭爲"."的視爲隱藏檔,不會列出)
    -l 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
    -r 將文件以相反次序顯示(原定依英文字母次序)
    -t 將文件依建立時間之先後次序列出
    -A 同 -a ,但不列出 "." (目前目錄) 及 ".." (父目錄)
    -F 在列出的文件名稱後加一符號;例如可執行檔則加 "*", 目錄則加 "/"
    -R 若目錄下有文件,則以下之文件亦皆依序列出
  • Linux mkdir命令用於建立名稱爲 dirName 之子目錄。

    語法: mkdir [-p] dirName
    參數說明:
    -p 確保目錄名稱存在,不存在的就建一個。
  • cd 切換目錄

    語法: cd [dirName]
    參數說明:
    dirName:要切換的目標目錄。
  • Linux touch命令用於修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的文件。

    語法
    touch [-acfm][-d<日期時間>][-r<參考文件或目錄>] [-t<日期時間>][--help][--version][文件或目錄…]
    參數說明:
    a 改變檔案的讀取時間記錄。
    m 改變檔案的修改時間記錄。
    c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。
    f 不使用,是爲了與其他 unix 系統的相容性而保留。
    r 使用參考檔的時間記錄,與 --file 的效果一樣。
    d 設定時間與日期,可以使用各種不同的格式。
    t 設定檔案的時間記錄,格式與 date 指令相同。
    --no-create 不會建立新檔案。
    --help 列出指令格式。
    --version 列出版本訊息。
  • echo 創建帶有內容的文件
  • 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 destcp [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 將目錄及以下之檔案亦逐一刪除。
  • find 在文件系統中搜索某文件
  • wc 統計文本中行數、字數、字符數
  • grep 在文本文件中查找某個字符串
  • rmdir 刪除空目錄
  • 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 將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另一個文件系統上,則將該子目錄予以排除在尋找範圍外。
  • pwd 顯示當前目錄
  • ln 創建鏈接文件
  • more、less 分頁顯示文本文件內容
  • head、tail 顯示文件頭、尾內容
  • 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.
  • curl man curl 查看

系統管理命令

  • stat 顯示指定文件的詳細信息,比ls更詳細
  • who 顯示在線登陸用戶
  • whoami 顯示當前操作用戶
  • hostname 顯示主機名
  • uname 顯示系統信息
  • top 動態顯示當前耗費資源最多進程信息
  • ps 命令用於顯示當前進程 (process) 的狀態。 ps -aux
  • du 查看目錄大小 du -h -d1 用戶目錄下帶有單位顯示目錄信息,只顯示一級,子文件內部不單獨展示
  • df 查看磁盤大小 df -h 帶有單位顯示磁盤信息
  • ifconfig 查看網絡情況
  • ping 測試網絡連通
  • netstat 顯示網絡狀態信息
  • clear 清屏
  • kill 殺死進程,可以先用ps 或 top命令查看進程的id,然後再用kill命令殺死進程。
  • lsof

    是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網絡連接和硬件。所以如傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 套接字等,系統在後臺都爲該應用程序分配了一個文件描述符,無論這個文件的本質如何,該文件描述符爲應用程序與基礎操作系統之間的交互提供了通用接口。因爲應用程序打開文件的描述符列表提供了大量關於這個應用程序本身的信息,因此通過lsof工具能夠查看這個列表對系統監測以及排錯將是很有幫助的。
    主要使用: lsof -i [46][protocol][@hostname|hostaddr][:service|port]
    -i參數說明:
    • 46 specifies the IP version, IPv4 or IPv6 that applies to the following address. '6' may be be specified only if the UNIX dialect supports IPv6. If neither '4' nor '6' is specified, the following address applies to all IP versions.
    • protocol is a protocol name - TCP, UDP
    • hostname is an Internet host name. Unless a specific IP version is specified, open network files associated with host names of all versions will be selected.
    • hostaddr is a numeric Internet IPv4 address in dot form; or an IPv6 numeric address in colon form, enclosed in brackets, if the UNIX dialect supports IPv6. When an IP version is selected, only its numeric addresses may be specified.
    • service is an /etc/services name - e.g., smtp - or a list of them.
    • 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 // 端口查詢

打包壓縮相關命令

  • gzip:
  • bzip2:
  • 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” 就可以了。

關機/重啓機器

  • shutdown
    -r 關機重啓
    -h 關機不重啓
  • now 立刻關機
  • halt 關機
  • reboot 重啓
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章