Linux復習


  • 一台主機上能夠安裝多個虛擬機
  • Linux操作系統誕生於1991 年10月5號,此為第一次正式向外公布時間
  • Linux是一個多用戶系統,也是一個多任務操作系統。
  • Linux內核版本號命名:2.6.22---2為主版本號,6為次版本號,22為修正號
  • Ubuntu每6個月發行一個新版本,采用unity桌面環境
  • Red Hat默認采用GNOME桌面環境
  • Mandriva Linux默認采用KDE桌面環境
  • Linux系統一般由內核文件系統應用系統shell組成
  • 目前大部分Linux文件系統都默認采用ext4文件系統
  • /etc:系統配置文件
  • /dev:外部設備
  • /boot:啟動程序(引導文件)
  • /lib:共享函數庫
  • /mnt:默認掛載點
  • /proc:虛擬文件系統
  • /bin:外部命令目錄
  • /var:系統修改過的數據
  • Linux采用樹形結構,最上層是根目錄,其他目錄從根目錄出發而生成
  • Linux中的文件類型:

  "-"——普通文件;

  "d"——目錄文件;

  "l"——鏈接文件;

  "c"——字符設備文件;

  "b"——塊設備文件;

  "s"——套接字文件;

  "p"——管道文件

  • 文件權限:共十位長度,分為四段:

    1.第一段 1個長度:文件類型 

    2.第二段 3個長度:文件所有者的權限(-u)

    3.第三段 3個長度:文件當前群組的權限(-g)

    4.第四段 3個長度:其他用戶及群組的權限(-o)

    r(22)w(21)x(20) 

       chgrp,chown命令默認情況下只有root權限才能操作,而chmod命令只有文件的所有者和root權限才能進行操作

  chgrp 組名 文件/目錄名

  chown 用戶名:組名 文件/目錄名    其中:組名可以省略

  chmod:符號模式:chmod [augo]+[+-=]+[rwx] 文件/目錄名

      絕對模式:chmod 權限等級 文件/目錄名     (權限等級中750和650使用較多)

  • SSH服務使用的默認端口號是22
  • tail:顯示文件的最后n行,默認為10; tail -f:不斷讀取最新內容,達到實時監控目的
  • ls: -a 顯示所有文件; -l 使用長格式顯示; -t 按創建時間(由晚到早); -r 反序輸出(默認首字母升序) -altr: 所有文件按創建時間從早到晚排序
  • pwd:顯示當前工作目錄的完整路徑
  • wc:統計命令         wc filename ===>  行數(-l) 詞數(-w) 字節數(-c) filename
  • 鏈接:
    • 硬鏈接:不能鏈接到目錄和不同文件系統的文件,硬鏈接為指針,與原文件inode(索引結點號)相同,文件刪除后硬鏈接仍有效 命令:ln
    • 軟鏈接:能鏈接到目錄並跨文件系統,系統會重新分配inode給軟鏈接,文件刪除后軟鏈接也會失效 命令:ln -s

用戶和用戶組

  • 用戶:任何使用系統資源的用戶必須先向系統管理員申請一個賬號,然后以賬號的身份進入系統
  • 在Linux系統中,任何文件都屬於某一特定用戶,而任何用戶都隸屬於至少一個用戶組
  • 用戶分類:
    1. 普通用戶:uid1000~65535  權限不高,只能在用戶主目錄創建文件
    2. 系統用戶:uid1~999  代表系統的組成部分,一般沒有運行環境
    3. 超級用戶:uid0  root用戶擁有最高權限
  • 創建新用戶: useradd makonyan -g(指定群組)  makolin -m(創建主目錄) -p(設置密碼)123456
  • 用戶相關文件: /etc/passwd /etc/shadow
  • 用戶組相關文件: /etc/group /etc/gshadow
  • useradd:創建一個新用戶
-d 指定用戶主目錄
-g 指定組

-m

自動創建主目錄
-p 指定密碼

 

  • passwd
-l 禁用用戶
-u 解禁用戶
-d 刪除密碼

 

  • usermod
-d 更改主目錄
-l 更改賬號名稱
-g 更改所屬組
  • userdel  -r把主目錄一起刪除
  • groupadd
-g 指定組id
-o 允許存在相同組id
  • groupmod
-g 指定組id
-o 與-g一起使用,允許新gid和已存在的相同
-n 更改組名
  • groupdel
  • gpasswd
-a 添加用戶
-d 從組中刪除用戶
-r 刪除密碼

 硬盤:

  • 主分區:1-3  擴展分區:4  邏輯分區:5~
    • 只能格式化主分區和邏輯分區,不能格式化擴展分區
  • 硬盤分區:

    1.在虛擬機上設置添加SCSI類型的硬盤

    2.在Ubuntu系統內能夠通過fdisk -l命令查看硬盤

    3.執行sudo fdisk /dev/sdb(新硬盤的名字)命令,通過輸入m顯示幫助命令(n(new) q退出           w保存退出)

    4.分區格式化,創建文件系統

     執行sudo mkfs -t ext4 /dev/sdb(+分區序號) *不能對拓展分區格式化

    5.在使用前,掛載分區

    掛載方式一:手動掛載(/share為掛載點)

    root@garton-virtual-machine:/#mount ext4 /dev/sdb1 /share

 

    掛載方式二:自動掛載

    root@garton-virtual-machine:/# vi /etc/fstab

    /dev/sdb1     /share    ext4        defaults    0  0  

    第一列  文件系統名稱

    第二列 Mount point:設備的掛載點,就是你要掛載到哪個目錄下。

    第三列 filesystem:磁盤文件系統的格式,包括ext2、ext3、reiserfs、nfs、vfat等

    第四列 parameters:文件系統的參數

    第五列:能否被dump備份命令作用

    第六列 是否檢驗扇區:開機的過程中,系統默認會以fsck檢驗我們系統是否為完整(clean)。

  • 交換分區:swap

    概念:Linux下的虛擬內存分區,作用是在物理內存使用完之后,將磁盤空間(swap分區)虛擬成內存使用

    • 設置方法:
    1. 創建交換條件:dd if(輸入文件)=/dev/zero/ of(輸出文件)=/swapfile bs(讀寫塊大小)1024 count(僅復制blocks的塊數)=6656
    2. 指定交換條件:mkswap [參數] [設備名稱/文件] [交換區大小]      free查看內存使用情況
    3. 激活swap文件:swapon [of名]
    4. 刪除swap文件:swapoff [of名]
    • 自動加載:在/etc/fstab文件下配置

進程管理:

  • ps:查看進程   
  1. -au較詳細信息   
  2. -ax所有使用者的進程
  • top:監控進程 
  1. P:根據CPU占用排序
  2. M:根據內存大小排序
  3. u:指定用戶
  4. k:殺死進程
  • kill:結束進程  -l顯示信號名稱列表

任務計划

  • 設置方法:crontab;允許用戶提交、編輯、刪除相應作業。
    • 格式:crontab [選項] [用戶名]
    1. -l 顯示
    2. -r 刪除
    3. -i 刪除前提示
    4. -e 編輯

vi編輯器

  • vi命令分為命令行模式,輸入模式,末行模式;其中輸入模式能夠進行文檔的修改。

命令行模式:當進入vi時,處在命令行模式

命令行文本修改命令
x 刪除光標所在位置的字符
dd 刪除光標所在行
yy 復制光標所在行
p 將復制的(或最近一次刪除的)內容粘貼
u 撤銷上次操作
  • 輸入模式:
命令行進入輸入模式的命令
i 在當前光標所在處插入
a 從光標所在的下一個字符插入
r 替換光標所在的字符一次
o 在光標所在下一行插入新的一行
  • 工作模式切換:
    • 當進入vi時,處在命令行模式
    • 命令行模式->輸入模式:iIaArRoO
    • 輸入模式->命令行模式:Esc
    • 命令行模式->末行模式::
    • 末行模式->命令行模式:命令執行后或將末行輸入的命令全部刪除后

shell腳本

  • 每個Linux系統的用戶可以擁有自己的用戶界面或Shell
  • shell腳本執行方式
  1. 直接命令執行:在提示符下執行(需要對應權限)
  2. sh/bash 腳本名  :  參數:-n不執行只檢查語法 -v輸出內容再執行
  3. source 腳本名:可以沒有執行權限
  • Shell腳本常用系統變量:  
    • $#   命令行參數的個數
    • $0   當前程序的名稱
    • $n   當前程序的第n個參數 
    • $?   執行的上個指令或函數的返回值
    • $*   以"參數1 參數2 …"的形式保存所有參數
    • $$  當前程序的PID(進程ID)
    • $!   上一個命令的PID
  • 常見環境變量:
    • PATH 命令搜索路徑
    • HOME 用戶home目錄的路徑
  • Shell自定義變量要求:

    (1) 首個字符必須為字母(a-z,A-Z)

    (2) 中間不能有空格,可以使用下划線(_)

    (3) 不能使用標點符號

    (4) 不能使用bash里的關鍵字(可用help命令查看保留關鍵字)

    (5) 給變量賦值的時候,不能在“=”兩邊留空格

  • test中的整數運算符
    • -eq  equal
    • -ne  not equal
    • -gt  greater than
    • -lt   less than
    • -ge greater than or equal
    • -le  less than or equal
  • test中的字符串運算符
    • str1 = str2  判斷兩個字符串是否相同,相同則為ture
    • str1 != str2 判斷兩個字符串是否不相同,不同則為true
    • -z str 判斷字符串str長度是否為0,如果是空字符串則返回true
    • -n str 判斷字符串str長度是否為0,如果是空字符串則返回false
  • 使用 [ ] 進行條件判斷要注意加空格
  • 特殊符號
    • " " :由雙引號括起來的字符,除$、反斜線\和反引號``幾個字符仍是特殊字符並保留其特殊功能外,其余字符仍視為普通字符。
    • ' ' :由單引號括起來的字符都作為普通字符出現
    • ` ` :把反引號括起來的字串解釋為命令行后首先執行,並以它的標准輸出結果取代整個反引號部分
    • 注意:雙引號和不使用引號效果基本一致(特殊字符具有特殊字符的含義),單引號作為普通字符
  • 文件運算符
    • -e  file 文件名存在則返回ture
    • -d  file 文件名存在且為目錄則返回true
    • -f   file 文件名存在且為文件則返回true


免責聲明!

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



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