Linux知識

學習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”開頭的命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章