【程序員技術練級】熟悉Unix/Linux Shell和常見的命令行(一)文件系統結構和基本操作


作為程序猿,熟悉一些unix/linux命令行是非常必要的,因為部署服務的服務器現在基本上用的都是unix/linux系統,很少在windows上部署服務的。 今天我們就介紹一些在linux上的文件系統結構和基本操作命令。

命令:ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip

好了,開始吧。

 1.ls命令

ls == list,根據不同的選項,列舉指定目錄或文件的相關信息,是Unix/Linux下最常用的命令之一,cd到某一目錄下后執行的第一個命令。

ls命令格式:ls [OPTION]... [FILE]...

列舉文件信息(默認為當前目錄)。

ls

無參數:顯示當前目錄下的文件和目錄(隱藏文件除外)。

ls -a

-a選項同ls,但會列舉當前目錄或者指定目錄下的所有文件,包括dot文件(.開頭的文件)和.目錄和..目錄。

ls -A

-A選項同ls,但會列舉當前目錄或者指定目錄下的所有文件,包括dot文件(.開頭的文件),但不包括.目錄和..目錄。

ls -l

-l選項的ls命令將列舉當前目錄或指定目錄中文件或者子目錄的詳細信息。

ls -l列舉的信息包含7個以Tab的域:

  • 第一個域:第一個字符指明了文件類型
    • -: 普通文件;
    • d: 目錄文件;
    • l: 符號鏈接;
    • s: socket文件;
    • b: 塊設備;
    • c: 字符設備;
    • p: 管道文件。

    后面的9個字符指明了文件的訪問權限:每三位指明一類用戶的權限,分別是文件屬主、同組用戶、其它用戶,權限分為讀(r)、寫(w)、執行(x)。

  • 第二個域:鏈接數。普通文件至少為1,目錄至少為2(.和..);
  • 第三域:文件屬主;
  • 第四域:用戶組;
  • 第五域:文件大小,其中目錄大小通常為塊大小的整數倍;
  • 第六域:文件的最近修改日期和時間,修改文件意味着對其內文件或子目錄的增添和修改;
  • 第七域:文件名

ls -t

按文件的修改時間列舉文件,最近修改的在前。

ls -1

單獨行列舉文件。

ls -lat

組合選項,即是說,各個選項可以結合使用,除了互相排斥的選項,例如-a和-A,上面的組合就是ls -l 、ls -a、ls -t的組合

ls -lh

組合選項,-h表示文件size以人性化表示,那樣就會以K、M、G為單位查看文件大小

模糊列舉: 其中,*代表任意個字符(包括0個),?代表一個字符。

ls /etc/a*e

列出/etc/目錄下以字母a開頭且以字母e結尾的目錄和文件。

ls /bin/l?

 列出/bin/目錄下以字母l開頭的目錄和文件,且目錄名或文件名的長度為2.

2.chmod

變更文件或目錄的權限。

說明:在UNIX系統家族里,文件或目錄權限的控制分別以讀取,寫入,執行3種一般權限來區分。該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。

  1. 文字設定法: chmod [who] [+ | - | =] [mode] 文件名

      命令中各選項的含義為:

      操作對象who可是下述字母中的任一個或者它們的組合:

      u 表示“用戶(user)”,即文件或目錄的所有者。

      g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。

      o 表示“其他(others)用戶”。

      a 表示“所有(all)用戶”。它是系統默認值。

      操作符號可以是:

      + 添加某個權限。

      - 取消某個權限。

      = 賦予給定權限並取消其他所有權限(如果有的話)。

      設置mode所表示的權限可用下述字母的任意組合:

      r 可讀。

      w 可寫。

      x 可執行。

      X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x 屬性。

      s 在文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶ID位,“g+s”設置組ID位。

      t 保存程序的文本到交換設備上。

      u 與文件屬主擁有一樣的權限。

      g 與和文件屬主同組的用戶擁有一樣的權限。

      o 與其他用戶擁有一樣的權限。

      文件名:以空格分開的要改變權限的文件列表,支持通配符。

      在一個命令行中可給出多個權限方式,其間用逗號隔開。例如:chmod g+r,o+r example

      使同組和其他用戶對文件example 有讀權限。
  2. 數字設定法: 我們必須首先了解用數字表示的屬性的含義:0表示沒有權限,1表示可執行權限,2表示可寫權限,4表示可讀權限,然后將其相加。所以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)(g)(o)。

      例如,如果想讓某個文件的屬主有“讀/寫”二種權限,需要把4(可讀)+2(可寫)=6(讀/寫)。

      數字設定法的一般形式為:

      chmod [mode] 文件名

舉例說明: 為user添加讀寫權限:

chmod u+rw test.txt  或者 chmod  644 test.txt(假設默認的group 和 other的權限為讀權限)

 

由於篇幅問題,先介紹 ls 和chmod 其他的后面介紹。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM