linux

  1. 虛擬機(jī)網(wǎng)絡(luò)的四種工作模式

    1. 橋接模式:虛擬機(jī)中的系統(tǒng)就像局域網(wǎng)中的一臺獨立的主機(jī),它可以訪問網(wǎng)內(nèi)任何一臺機(jī)器.
    2. NAT模式:讓虛擬機(jī)借助NAT,通過主機(jī)網(wǎng)絡(luò)訪問公網(wǎng),虛擬機(jī)不可以訪問本地局域網(wǎng).
    3. Host-only(僅主機(jī))所有虛擬機(jī)可以相互通信,但虛擬機(jī)不能訪問互聯(lián)網(wǎng)
    4. Custom(自定義)自行定義虛擬機(jī)的網(wǎng)絡(luò)連接方式.
  2. 管理員帳號為 root,提示符號是#.普通用戶提示符號是$. su - root 切換到管理員帳號并切換到該帳號主目錄.
    關(guān)機(jī) shutdown.關(guān)機(jī)并重啟 shutdown -r或者 reboot.關(guān)閉系統(tǒng),關(guān)閉電源 power off.關(guān)閉系統(tǒng)不關(guān)電源 halt.

  3. 用戶和組.
    用戶.用戶是私有帳號.用過UID來標(biāo)識用戶.
    每個用戶擁有獨立的文件目錄,稱為用戶主目錄,用戶所有的文件都在此目錄下.
    具有相似屬性的多個用戶分配到一個組,稱為用戶組,用GID標(biāo)識.
    文件和目錄的創(chuàng)建者默認(rèn)成為該文件和目錄的所有者,只有所有者才能修改文件的屬性.
    所有用戶資料存在 /etc/passwd文件中,對所有用戶可讀,每行代表一個賬戶數(shù)據(jù),結(jié)構(gòu)如下

     帳號名稱:密碼:UID:GID:用戶名描述:主目錄:默認(rèn)shell
    

    帳號名稱是唯一的,且區(qū)分大小寫.帳號密碼如果為X,標(biāo)識經(jīng)過shadow passwords保護(hù),將/etc/shadow作為口令文件,只有超級用戶有權(quán)讀取.UID每個帳號唯一,1-499被系統(tǒng)用戶使用.新用戶默認(rèn)從500開始.GID每個租唯一,保存在/etc/group文件中.主目錄通常是 /home/username

  4. 普通用戶,只能操作起擁有權(quán)限的文件和目錄.只能管理自己啟動的程序
    超級用戶,擁有root權(quán)限,可以訪問所有文件,資源.
    系統(tǒng)用戶,與系統(tǒng)服務(wù)相關(guān)的用戶,通常在安裝過程產(chǎn)生,一般被應(yīng)用和服務(wù)所使用,讓這些服務(wù)有權(quán)去訪問數(shù)據(jù).

  5. useradd [options] <username> 添加用戶帳號命令
    passwd [options] <username> 改變賬戶密碼指令
    usermod [options] <username> 改變用戶屬性指令
    userdel [options] <username> 刪除用戶指令
    su [options] <username> 切換用戶指令

  6. 文件是具有名字的已租相關(guān)信息的有序集合,存放在外部存儲區(qū)中,程序,數(shù)據(jù),圖片都可以是文件的內(nèi)容.
    文件系統(tǒng)由文件和管理文件的軟件組成.通常以磁盤分區(qū)劃分,每個分區(qū)對應(yīng)獨立的文件系統(tǒng),功能如下:

    1. 對文件增刪改差,檢索.
    2. 實施存儲空間的分配,回收,重組.
    3. 對文件的共享,保密和保護(hù)措施.
    4. 提供文件訪問接口.
      linux中文件是單樹狀結(jié)構(gòu),根目錄為root,用/標(biāo)識.文件可能存放在不同分區(qū),磁盤上,當(dāng)文件掛載到文件樹中稱為"掛在點"的目錄上時,就成了該文件系統(tǒng)的一部分.
      linux啟動時會先裝載根文件系統(tǒng),在根據(jù)配置文件/etc/fstab 的設(shè)置,逐個建立文件系統(tǒng).
  7. 文件系統(tǒng)子目錄內(nèi)容
    1./root 引導(dǎo)系統(tǒng)必備文件,文件系統(tǒng)的裝載信息,系統(tǒng)修復(fù),備份工具.
    2./usr 通常操作中不需要進(jìn)行修改的命令程序文件,程序庫,手冊和其他文檔,常裝載為只讀.
    3./var 經(jīng)常變化的文件.如日志,打印機(jī)目錄.
    4./home 用戶的主目錄,存放用戶數(shù)據(jù).
    5./proc 系統(tǒng)啟動后在內(nèi)存中創(chuàng)建,包含內(nèi)核虛擬文件系統(tǒng)和進(jìn)程信息.
    6./etc 系統(tǒng)相關(guān)的配置文件.
    7./bin 引導(dǎo)過程必須的命令.
    8./dev 各類設(shè)備文件.
    9./tmp 運行過程中的臨時文件.
    10./boot 引導(dǎo)裝載程序要使用的文件,內(nèi)核影像通常在該目錄.
    11./mnt 臨時文件系統(tǒng)的掛載目錄,如U盤可在該目錄下建立掛載點.
    文件分類
    普通文件:包含各種長度的字符串,包括文本文件,數(shù)據(jù)文件,可執(zhí)行的二進(jìn)制文件.
    目錄文件:用于管理和組織系統(tǒng)中的打了文件,包括文件名,子目錄,指針.
    符號鏈接文件:指向同一索引點的那些目錄條目.以字母開頭,->后指向連接的文件
    設(shè)備文件.linux把每個I/O設(shè)備看成一個文件.于普通文件處理方法一樣.

  8. 文件權(quán)限.針對三種用戶:文件擁有者用戶.同組用戶.其他用戶.每個人分配rwx可讀可寫可執(zhí)行,r表示只能讀取,w表示可以打開并修改文件或者刪除或新增目錄中的文件,x表示允許將文件作為程序執(zhí)行或在目錄中進(jìn)行查找或切換到該目錄下.通過ls -lih 查看 如下, 291033 -rwxrw-r-- 1 neo neo 64 Feb 14 05:54 file.c
    1.291033 節(jié)點值
    2.第一個- 表示文件類型 -普通文件,d文件目錄,l符號鏈接文件,c字符設(shè)備文件,b塊設(shè)備文件
    3.rwx表示 可讀,可寫,可執(zhí)行,分為三組,分別是擁有者權(quán)限,其他用戶權(quán)限,同組用戶權(quán)限
    4.1 文件的連接數(shù),這個文件沒有硬鏈接,所以是1
    5.第一個neo表示本文件屬于 neo 這個用戶
    6.第二個neo 表示本文件屬于neo用戶組
    7.64 文件大小,64字節(jié)
    8.Feb 14 05:4 文件最后訪問時間
    9.file.c 文件名

     chmod type fileName/dirName  修改文件或目錄權(quán)限
     chmod ugo+ r file.txt   把file.txt文件對所有用戶添加 可讀權(quán)限
    

    10.umask 命令指定在建立文件是預(yù)設(shè)的權(quán)限掩碼.

     umask [-S]  maskcode  
     umask -S 顯示當(dāng)前掩碼
    

    11.chown 改變某個文件或者目錄的屬主和屬組.一般只有root用戶有這個權(quán)限

     chown [options] user/group filename
     chown neo:users file.txt   把file.txt的擁有者設(shè)為users群組的neo用戶
    

    12.chgrp 改變指定文件所屬的用戶組.需要用戶是該文件的屬主或者超級用戶.

     chgrp [options] group filename 
     chgrp -R neo /home/abd    更改home/abd下所有文件的用戶租為neo  -R 邊上該目錄下所有文件.
    
  9. 文件系統(tǒng)命令
    常用寫法 命令名 [-選項] [--選項1] [參數(shù)1] [參數(shù)2]

     history 顯示歷史命令, man ls 獲取外部命令的幫助, help  獲取內(nèi)部命令.
     cat [options] filename 打開某文件.  其中 more,less,head,tail 為閱讀文件時使用
     grep  在指定的文件中查找指定的單詞,并顯示該行.  grep [-ptions]   filename
     sort 對指定文件的所有和進(jìn)行排序并顯示出來.  sort [-options] filename
     uniq 比較重復(fù)的行,并對其操作  uniq [-options] filename
     find 搜索文件,并執(zhí)行指定操作.    find [起始目錄] 選項 操作
     comm 比較兩個文件.會列出僅在第一個文件的行,僅在第二個文件的行,兩個都存在的行 comm [-123] filename1 filename2  -123 表示不列出哪些行.
     diff 列出兩個文件的不同之處.
     cp 文件復(fù)制 cp[options] source dest
     mv 移動文件或者重命名文件 mv[options] source dest
     rm 刪除文件rm [options] filename/dirname
     mkdir 創(chuàng)建目錄 mkdir [options] dirname 
     rm [-p] dirname 刪除目錄
     ls 展示目錄及信息   ls [option] filename/dirname
     cd 變換工作目錄  .當(dāng)前目錄  ..上次目錄 ~主目錄
     pwd 顯示用戶當(dāng)前所在目錄
     文件鏈接方式:  1.符號鏈接,類似于快捷方式,建立一個符號連接文件,其內(nèi)容是到實際文件的路徑描述,符號連接文件和目標(biāo)文件是兩個獨立黨文件,有鴿子的i節(jié)點和數(shù)據(jù)塊.2.硬鏈接,是將多個文件通過i節(jié)點物理地鏈接在一起.多個文件具有不同的文件名和同一個i節(jié)點,如同一個文件有多個別名.
     ln [options] source dist 
    
  10. 重定向和管道命令
    linux中輸入輸出設(shè)備都被作為文件看待.系統(tǒng)定義三個I/O文件,標(biāo)準(zhǔn)輸入文件stdin,標(biāo)注輸出文件stdout,標(biāo)注錯誤輸出文件stderr.在Shell命令開始時,Shell會自動打開這個三個標(biāo)注文件,并建立起文件與終端設(shè)備的連接.
    1.輸入重定向,把命令的標(biāo)準(zhǔn)輸入改變?yōu)橹付ǖ奈募斎? 格式為 命令 <文件
    2.輸出重定向,把命令的標(biāo)準(zhǔn)輸出或標(biāo)準(zhǔn)錯誤輸出重定向到指定文件中.
    格式 標(biāo)準(zhǔn)輸出 命令 > 文件 會把文件清空在寫入.
    附加輸出 命令 >> 文件 會追加在文件末尾.
    3.管道 將一個程序或命令的輸出作為另一個程序或命令的輸入.可以把一些列命令連起來,形成一個管道線.
    格式 命令1 | 命令2 |命令3...
    4.vi編輯器. 輸入 vi 進(jìn)入命令方式,i(插入),a(追加),o(打開),s(替換),c(修改),r(取代) 進(jìn)入輸入方式,Esc退回命令模式. 在命令方式輸入 :進(jìn)入轉(zhuǎn)義模式.

  11. 磁盤管理
    1.常見文件分期格式有 FAT16,FAT32,NTFS,Ext2,Ext3.linux有兩中分期格式,主分區(qū),交換分區(qū).
    fdisk -l 查看所有分區(qū)
    fdisk firlname 創(chuàng)建分區(qū)
    mkfs 建立文件系統(tǒng),會清楚之前的所有數(shù)據(jù). 格式 mkfs [option] filesystem
    2.linux 文件系統(tǒng)只有一個根目錄,創(chuàng)建文件后,需要把文件系統(tǒng)掛載后才能使用.掛載文件系統(tǒng)需要選擇一個掛載點,掛載點就是要安裝的文件系統(tǒng)的安裝點.
    3.手工安裝系統(tǒng)文件 格式 mount [options] devicename moutpoint 后兩個參數(shù)是,要掛載的設(shè)備名稱,掛載點文件 例如 mount -t ext3 /dev/hda3 /men/disk1 把hda3設(shè)備掛載到 disk1掛載點下,文件系統(tǒng)類型是 ext3.
    umount [option] mountpoint devicename 寫在文件系統(tǒng)
    /etc/fatab 里的沒行指令代表系統(tǒng)開機(jī)后自動執(zhí)行的掛載命令.
    4.quota 命令可以指定為用戶或群租實現(xiàn)磁盤配額管理.限制占用的磁盤塊數(shù)或者擁有的文件數(shù).
    quotacheck [options] 建立對用戶和群組的配置文件 aquota.user和aquota.group
    edquota [options] user/group 修改用戶或群組的磁盤配額.
    quotaon quotaoff 開啟或關(guān)閉配額管理功能

  12. 進(jìn)程管理
    linux是多用戶多任務(wù)操作系統(tǒng),可多個用戶同一時間使用計算機(jī)系統(tǒng),也可同時執(zhí)行多個任務(wù).
    進(jìn)程是一個程序在自身的虛擬地址空間中的一次執(zhí)行活動.
    進(jìn)程程序區(qū)別:

    • 程序是動態(tài)指令集合,進(jìn)程是程序單動態(tài)執(zhí)行過程,它具有生命周期,動態(tài)的產(chǎn)生和消亡.
    • 進(jìn)程是資源申請,調(diào)度和運行的單位,他使用系統(tǒng)中的運行資源.程序不占用系統(tǒng)運行資源.
    • 程序和進(jìn)程是多對多關(guān)系,一個程序可由多個進(jìn)程公用,一個進(jìn)程可執(zhí)行多個程序
      系統(tǒng)根據(jù)進(jìn)程號PID區(qū)分進(jìn)程,init是第一個進(jìn)程,是唯一的一個由系統(tǒng)內(nèi)核直接運行.新進(jìn)程由舊進(jìn)程通過fork()產(chǎn)生,舊進(jìn)程是新產(chǎn)生進(jìn)程的父進(jìn)程.除了init進(jìn)程,所有進(jìn)程都有父進(jìn)程.

    進(jìn)程分類

    • 交互進(jìn)程,由shell啟動,可在前臺,后臺運行
    • 批處理進(jìn)程,不予特定終端相關(guān)聯(lián),提交到等待隊列中順序執(zhí)行.
    • 守護(hù)進(jìn)程,linux啟動時初始化,需要運行于后臺的進(jìn)程.

    進(jìn)程狀態(tài),運行,就緒,睡眠(可中斷,不可中斷),暫停,僵死

    • 可執(zhí)行(Runnable)包括運行和就緒兩種狀態(tài),它或正在運行,或準(zhǔn)備運行
    • 睡眠態(tài)(Sleeping)進(jìn)程在等待某個資源,細(xì)分為不可中斷(睡眠過程中忽略信號)和可中斷(睡眠過程中如果有信號會被喚醒,處理完信號再次睡眠)狀態(tài).
    • 暫停狀態(tài)(Stopped)由運行狀態(tài)轉(zhuǎn)換來,等待某種特殊的處理
    • 僵死態(tài)(Zombie)進(jìn)程運行結(jié)束或因某些原因終止時,他將釋放除PCB外所有資源.
   ps [option]     查看進(jìn)程狀態(tài) 
   jobs [option]     查看系統(tǒng)作業(yè)
   nice number command 指定要啟動的進(jìn)程優(yōu)先級
   renice number PID 修改運行中進(jìn)程優(yōu)先級
   kill [-sign] PID 終止進(jìn)程
   at [options] time  特定時間調(diào)用一個進(jìn)程,只能執(zhí)行一次
   配置cron文件命令,可以在特定時間執(zhí)行進(jìn)程,不限次數(shù)
   crontab [options] 配置corn文件
  1. shell
    1.通配符
    代表從他所在的位置開始的任何字符串. f標(biāo)識匹配以f開頭的任意字符串
    ?代表他所在位置上的單個字符
    []代表一個指定范圍的字符,如 f[a-z]
    2.#代表shell注釋. \表示轉(zhuǎn)義字符
    shell腳本第一行通常放特殊字符串,告訴系統(tǒng)使用那個shell來執(zhí)行,如果是#!,會以#! 后的字符作為執(zhí)行該腳本的命令解釋器的絕對路徑 如 #! /bin/bash.
    可以使用./ 腳本文件名及參數(shù)或者 bash|tcsh|sh 腳本文件名及參數(shù)或 source|.腳本文件名及參數(shù)來執(zhí)行
    3.shell 變量分環(huán)境變量,位置變量,預(yù)定義特殊變量

    • 環(huán)境變量 HOME:用戶目錄全路徑名. PATH:定義一些目錄路徑,執(zhí)行shell腳本時,會按PATH順序搜索并執(zhí)行搜到的第一個命令.PWD:當(dāng)前所在位置的絕對路徑SHELL:定義shell的解釋器路徑.
    • 位置變量 是一居出現(xiàn)在命令上參數(shù)的位置來確定的變量 #命令 參數(shù)1 參數(shù)2 .. 命令名對應(yīng)$0 參數(shù)1對應(yīng)$1
    • 預(yù)定義的特殊變量 $# 實際參數(shù)個數(shù), $* 所有參數(shù)組成的字符串,$! 上一個后臺命令的進(jìn)程號,$?最近一條命令執(zhí)行后的推出狀態(tài),$$ 當(dāng)前進(jìn)程號

    4.shel變量賦值
    read,讀取一個命令到變量中. read name //讀取輸入到name中
    直接賦值 NAME=abd //把a(bǔ)bd 賦值給NAME
    5.變量輸出.引用變量時需要在變量名前加$符號.
    expr 算數(shù)命令. a= ' expr &a + 1 '
    let 算數(shù)命令 let x=x+1
    -b file,-c file,-r file 判斷文件是否存在塊設(shè)備,字符設(shè)備,是否只讀
    -eq 等于,-ne 不等于,-lt 小于,-gt 大于
    -z,-n 字符串長度是否為0 -z s1 s1長度為0時值為真.
    -a,-0,! 二進(jìn)制的與或非.
    6.表達(dá)式

      * if  表達(dá)式 then 命令表 else 命令表 fi 
      * if 表達(dá)式 then 命令表 elif 表達(dá)式 then 命令表 else 命令表 fi    //elif ==else if
      * case 表達(dá)式 in
          模式1|模式2 ) 命令表1 ;;   //可以多個模式,但以)結(jié)尾
          模式3|模式4 ) 命令表2 ;;   // 末尾為;; 標(biāo)識該分支結(jié)束
          模式5 ) 命令表3 ;;
           esac    
       * select 變量 in 列表
          do 
            命令表
          done
       * while [表達(dá)式]
          do
          命令表
          done
        * for 變量 [in 列表]
          do
          命令表
          done
         * Until 
            命令表1
            Test 表達(dá)式  //條件為假時繼續(xù)執(zhí)行
            Do
            命令表2
            Done
     7.函數(shù)
        [function] 函數(shù)名
        {  命令表
            [return]
        }

14.網(wǎng)絡(luò)配置

  • IP IPv4由4字節(jié)32位組成,網(wǎng)絡(luò)位+主機(jī)位,例如,N標(biāo)識網(wǎng)絡(luò)位,H表示主機(jī)位,有如下組合N.H.H.H,N.N.H.H.N.N.N.H
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,203評論 2 33
  • 1.Linux下如何用命令查看實時日志(完整命令) tail -f 路徑.log查看前多少行 tai-200f 路...
    qianyewhy閱讀 2,316評論 0 11
  • groupadd,useradd,passwd,gpasswd,id,su groupadd image.png ...
    香吉矢閱讀 3,335評論 0 3
  • 與用戶相關(guān)的系統(tǒng)配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用戶資...
    蝌蚪1573閱讀 693評論 0 3
  • 你漸行漸遠(yuǎn), 我卻只能望著你的背影, 淚流滿面。 你明知道我愛你、我不能沒有你, 我說,就算再苦再累也請你不要放棄...
    颶風(fēng)寶寶閱讀 158評論 0 0