Linux基礎知識全面總結__Linux

來源:互聯網
上載者:User

    學習Linux系統的重要性應該不用多說,下面我就對Linux的基礎知識進行一個全面而又簡單的總結。不過建議大家還是裝個Linux系統多練習,平時最好只在Linux環境下編程,這樣會大有提高。

    linux的特點

     - 免費的/開源 
     - 支援多線程/多使用者 
     - 安全性好 
     - 對記憶體和檔案管理優越

    關機命令 
    shutdown -h now(立即進行關機)      shutdown -r now (現在重新啟動電腦)      reboot (現在重新啟動電腦)

    進入案頭 

    startx

    使用者登入

    登入時盡量少用root賬戶登入,因為它是系統管理員,最大的許可權,難免操作失誤。可以利用普通使用者登入,登入後再用“su -”命令來切換成系統管理員身份

    使用者登出

    在提示符下輸入logout即可

    linux的檔案系統是採用層級式的樹狀目錄結構,在此結構中的最上層是根目錄“/”,然後在此目錄下再建立其他的目錄,深刻理解linux檔案目錄是非常重要的

    - /
    - root,存放root使用者的相關檔案
    - home,存放普通使用者的相關檔案
    - bin,存放常用命令的目錄,如vi,su
    - sbin,要具有一定許可權才可以使用命令 
    - mnt,預設掛載光碟機和軟碟機的目錄
    - etc,存放配置的相關檔案
    - var,存放經常變化的檔案,如網路連接的sock檔案
    - boot,存放引導系統啟動的相關檔案
    - usr,安裝一個軟體的預設目錄,相當於windows下的program files

    下面就來介紹一些比較常用的命令及使用方法:

     pwd,顯示當前在哪個路徑下

    linux的使用者管理

    useradd 使用者名稱,添加使用者

    【案例】useradd xiaoming

    passwd 使用者名稱,為新使用者設密碼

    【案例】passwd xiaoming,修改小明的密碼

    userdel 使用者名稱,刪除使用者

    【案例】userdel xiaoming,刪除使用者但儲存使用者主目錄 
    【案例】userdel ‐ xiaoming,刪除使用者以及使用者主目錄

    logout,目前使用者推出

    who am i,目前使用者是誰


    cd,改變目錄

    ls,列出檔案和目錄

    ls ‐a,顯示目錄下的所有檔案,包括隱藏檔案

    ls ‐l,顯示長列表格式

    mkdir,建立目錄

    rmdir,刪除空目錄

    touch,建立空檔案

    cp,複製命令

    【案例】cp ‐r dir1 dir2,遞迴複製命令(複製子目錄資訊)

    mv,移動檔案和改檔案名稱

    rm,刪除檔案和目錄

    rm ‐rf *,刪除所有內容,包含目錄和檔案,r表示遞迴,f表示強制

    ln,建立符號串連,類似於建立某個檔案的捷徑

    ln ‐s 源目標

    【案例】ln ‐s /etc/inittab inittab,inittab指向實際檔案/etc/inittab inittab

    more,顯示檔案內容帶分頁,ctrl + page up上翻,長空格下翻

    less,顯示檔案內容帶分頁

    grep,在文本中查詢內容

    【案例】假設存在某個檔案test.cpp中含有hello關鍵字,此時可以使用grep名命令來尋找,grep n “hello” test.cpp,n表示在第n行出現

    |,管道命令,在linux和unix系統,把上一個命令的結果交給|後面的命令處理

     【案例】ls ‐l /etc/ | more

    man [command],協助,類似於dos中的help


    find,搜尋檔案及目錄。在linux中,因為檔案系統是以層級式的結構來組成的,所以要在整個系統中找到特定的檔案和目錄並不是件容易的事。而“find”命令可以解決上述問題

    在特定的目錄下搜尋並顯示指定名稱的檔案和目錄

     【案例】find / -name man:意思是說從根目錄開始搜尋名稱為man的檔案或目錄

    搜尋一段時間內被存取/變更的檔案或目錄

    【案例】find /home -amin -10:十分鐘記憶體取的檔案或目錄
    【案例】find /home -atime -10:十小時記憶體取的檔案或目錄
    【案例】find /home -cmin -10:十分鐘內更改過的檔案或目錄
    【案例】find /home -ctime +10:十小時前更改過的檔案或目錄

    搜尋指定大小的檔案

    【案例】find /home -size +10k:意思是說尋找/home目錄下大小為10k的檔案

   

    重新導向命令

    ls -l > a.txt,列表的內容寫入檔案a.txt中(覆蓋寫)

    ls -al >> aa.txt,列表的內容追加到檔案aa.txt的末尾

    從檔案中輸入資訊:database_program < database_data

    en,查看環境變數

    壓縮和解壓

    以zip和unzip處理.zip檔案

    zip命令的基本使用方法

    zip file.zip *:zip後接壓縮後的檔案名稱,在它的後面輸入要壓縮的檔案即可

    壓縮後,自動刪除原檔案

    【案例】zip m file.zip to.txt:把to.txt檔案壓縮成file.zip檔案,to.txt會自動刪除的

     將子目錄一起壓縮

    【案例】zip ‐r file.zip *:將目前的目錄下的子目錄一起壓縮

    忽略子目錄的內容

    【案例】zip ‐j file.zip *

    將已壓縮的或沒有必要壓縮的檔案去掉

    【案例】zip ‐n .mpg: .jpg: .gif:第一種檔案中間要用“:”分開

    壓縮某一日之後的檔案

    【案例】zip ‐t 080915 file.zip:將目前的目錄下在2015年8月9日之後檔案壓縮

    不壓縮連結檔案的原檔案

    【案例】zip ‐y file.zip *

    壓縮率問題,-1~-9,其中-9的壓縮率最高

    【案例】zip -9 file.zip *

    將不需要壓縮的檔案排除在外

    【案例】zip file.zip * -x file2.txt:在壓縮時,將目前的目錄內的file2.txt檔案排除在外

    以unzip命令進行.zip檔案的解壓縮

    直接解壓縮檔案

    【案例】unzip file.zip

    排除不需要解壓縮的檔案

    【案例】unzip file.zip ‐x file2:除了file2檔案外,其他的檔案都解壓縮

    查看壓縮包的內容

    【案例】unzip ‐Z file.zip:查看file.zip壓縮包的內容,也可以使用“-l” “-v”來查看壓縮包的內容

    以gzip和gunzip處理.gz檔案


    在linux中的每個使用者必須屬於一個組,不能獨立於組外。在linux中每個檔案有所有者、所在組、其它組的概念 。

    1)所有者:一般為檔案的建立者,誰建立了該檔案,就天然的成為該檔案的所有者。用ls ‐ahl命令可以看到檔案的所有者。也可以使用chown 使用者名稱 檔案名稱來修改檔案的所有者。

    2)檔案所在組:當某個使用者建立了一個檔案後,這個檔案的所在組就是該使用者所在的組,用ls ‐ahl命令可以看到檔案的所有組,也可以使用chgrp 組名 檔案名稱來修改檔案所在的組。

    3)其它組:除開檔案的所有者和所在組的使用者外,系統的其它使用者都是檔案的其它組。


    檔案許可權

     ls -l中顯示的內容如下:

    -rwxrw-r‐-1 root root 1213 Aug 9 09:39 abc

    10個字元確定不同使用者能對檔案幹什麼

    第一個字元代表檔案(-)、目錄(d),連結(l)

    其餘字元每3個一組(rwx),讀(r)、寫(w)、執行(x)

    第一組rwx:檔案所有者的許可權是讀、寫和執行

    第二組rw-:與檔案所有者同一組的使用者的許可權是讀、寫但不能執行

    第三組r--:不與檔案所有者同組的其他使用者的許可權是讀不能寫和執行

    也可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7

    1 表示串連的檔案數

    root 表示使用者

    第二個root表示使用者所在的組

    1213 表示檔案大小(位元組) 

    Aug 9 09:39 表示最後修改日期 

    abc 表示檔案名稱

    

    改變許可權的命令

    chmod 改變檔案或目錄的許可權 

    chmod 755 abc:賦予abc許可權rwxr-xr-x

    chmod u=rwx,g=rx,o=rx abc:同上u=使用者權限,g=組許可權,o=不同組其他使用者權限 

    chmod u-x,g+w abc:給abc去除使用者執行的許可權,增加組寫的許可權 

    chmod a+r abc:給所有使用者添加讀的許可權 


    改變所有者(chown)和使用者組(chgrp)命令

    chown xiaoming abc:改變abc的所有者為xiaoming

    chgrp root abc:改變abc所屬的組為root

    chown root ./abc:改變abc這個目錄的所有者是root

    chown ‐R root ./abc:改變abc這個目錄及其下面所有的檔案和目錄的所有者是root


    改變使用者所在組

    在添加使用者時,可以指定將該使用者添加到哪個組中,同樣用root的系統管理權限可以改變某個使用者所在的組

     usermod ‐g 組名 使用者名稱

    你可以用  usermod ‐d 目錄名 使用者名稱,改變該使用者登入的初始目錄


    linux分區詳解

    硬碟的分區主要分為基本分區(Primary Portion)和擴充分區(Extension Portion)兩種。只是針對一個硬碟來講,基本分區和擴充分區的數目之和不能大於4個,且基本分區可以馬上被使用但不能再分區。擴充分區必須再進行分區後才能使用,也就是說它必須還要進行二次分區。那麼有擴充分區再分下去的是什麼呢。它就是邏輯分區(Logical Portion),而且邏輯分區沒有數量上限制

    對windows使用者來說,有幾個分區就有幾個磁碟機,並且每個分區都會獲得一個字母標識符,然後就可以選用這個字母來指定在這個分區上的檔案和目錄。它們的檔案結構都是獨立的,非常好理解。但對這些使用者初上手Linux,可就有點惱人了。因為對Linux使用者來說無論有幾個分區,分給哪一個目錄使用,它歸根結底就只有一個根目錄、一個獨立且唯一的檔案結構。Linux中每個分區都是用來組成整個檔案系統的一部分。因為它採用了一種叫“載入”的處理方法,它的整個檔案系統中包含了一整套的檔案和目錄,並將一個分區和一個目錄聯絡起來。這時要載入的那個分區將使它的儲存空間在這個目錄下獲得。

    下面介紹幾個重要的命令

    掛載命令

    mount [-parameters] [裝置名稱] [掛載點]

    卸載命令

    umount [掛載點]

    查看磁碟使用方式

    df [-parameters]

    df -h

    df ‐l

    df [目錄全路徑],查看某個目錄是在哪個分區

    查看linux系統磁碟分割具體情況

    fdisk ‐l


    shell編程

    其實作為命令語言互動式地解釋和執行使用者輸入的命令只是shell功能的一個方面。shell還可以用來進行程式設計。它提供了定義變數和參數的手段以及豐富的程式控制結構。使用shell編程類似於DOS中批次檔,稱為shell script,又叫shell程式或shell命令檔案。

    shell指令檔:

    是一個文字檔

    命令的集合

    有執行的許可權

    執行方式(./檔案名稱)

    用export可以臨時加入一個系統路徑,如export PATH=$PATH HOME/bin:/root/test/t1,輸出環境PATH,引用原來的值$PATH,$HOME表示工作主目錄,:是路徑分隔字元

    shell萬用字元

    *代表多個字母或數字

    ?代表一個字母或數字

    【案例】ls a* ls a? ls f080[1-6].tif

    逸出字元\

    【案例】ls /mnt/win1/My\Documents

    單引號:不處理任何變數和命令

    【案例】echo ‘Welcome $NAME, the date is date ’

     雙引號:處理變數但不處理命令

    【案例】echo “Welcome $NAME, the date is date “

    反引號:把引號中的每個單詞作為一個命令,如果是變數則先求值然後作為一個命令處理

    【案例】echo “Welcome $NAME, the date is `date` “


    查閱記錄

    history,查看使用過的命令的記錄

    history 5,此項說明會顯示最近使用的5個命令

    !5,此項說明執行曆史編號為5的命令

    !ls,此項說明執行最後一次以“ls”開頭的命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.