<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Linux 基礎(chǔ)總結(jié),這一篇就夠了!

          共 10150字,需瀏覽 21分鐘

           ·

          2022-04-26 01:03

          在下方公眾號(hào)后臺(tái)回復(fù):JGNB,可獲取杰哥原創(chuàng)的 PDF 手冊(cè)。


          1. Linux安裝

          因?yàn)閳D太多了,轉(zhuǎn)載一篇從虛擬機(jī)vmware配置到centos7詳細(xì)安裝教程

          https://www.cnblogs.com/wcwen1990/p/7630545.html

          2.linux常用命令

          2.1 常見目錄

          /bin存放二進(jìn)制可執(zhí)行文件(ls,cat,mkdir等),常用命令一般都在這里。
          /etc存放系統(tǒng)管理和配置文件
          /home存放所有用戶文件的根目錄,是用戶主目錄的基點(diǎn),比如用戶user的主目錄就是/home/user,可以用~user表示
          /usr用于存放系統(tǒng)應(yīng)用程序,比較重要的目錄/usr/local 本地系統(tǒng)管理員軟件安裝目錄(安裝系統(tǒng)級(jí)的應(yīng)用)。這是最龐大的目錄,要用到的應(yīng)用程序和文件幾乎都在這個(gè)目錄。/usr/x11r6 存放x window的目錄/usr/bin 眾多的應(yīng)用程序 /usr/sbin 超級(jí)用戶的一些管理程序 /usr/doc linux文檔 /usr/include linux下開發(fā)和編譯應(yīng)用程序所需要的頭文件 /usr/lib 常用的動(dòng)態(tài)鏈接庫和軟件包的配置文件 /usr/man 幫助文檔 /usr/src 源代碼,linux內(nèi)核的源代碼就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的庫
          /opt額外安裝的可選應(yīng)用程序包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這里。
          /proc虛擬文件系統(tǒng)目錄,是系統(tǒng)內(nèi)存的映射。可直接訪問這個(gè)目錄來獲取系統(tǒng)信息。
          /root超級(jí)用戶(系統(tǒng)管理員)的主目錄(特權(quán)階級(jí)o
          /sbin存放二進(jìn)制可執(zhí)行文件,只有root才能訪問。這里存放的是系統(tǒng)管理員使用的系統(tǒng)級(jí)別的管理命令和程序。如ifconfig等。
          /dev用于存放設(shè)備文件。
          /mnt系統(tǒng)管理員安裝臨時(shí)文件系統(tǒng)的安裝點(diǎn),系統(tǒng)提供這個(gè)目錄是讓用戶臨時(shí)掛載其他的文件系統(tǒng)。
          /boot存放用于系統(tǒng)引導(dǎo)時(shí)使用的各種文件
          /lib存放跟文件系統(tǒng)中的程序運(yùn)行所需要的共享庫及內(nèi)核模塊。共享庫又叫動(dòng)態(tài)鏈接共享庫,作用類似windows里的.dll文件,存放了根文件系統(tǒng)程序運(yùn)行所需的共享文件。
          /tmp用于存放各種臨時(shí)文件,是公用的臨時(shí)文件存儲(chǔ)點(diǎn)。
          /var用于存放運(yùn)行時(shí)需要改變數(shù)據(jù)的文件,也是某些大文件的溢出區(qū),比方說各種服務(wù)的日志文件(系統(tǒng)啟動(dòng)日志等。)等。
          /lost+found這個(gè)目錄平時(shí)是空的,系統(tǒng)非正常關(guān)機(jī)而留下“無家可歸”的文件(windows下叫什么.chk)就在這里

          2.2 命令基本格式

          2.2.1 命令提示符

          [root@xiaoming ~]#
          • root 當(dāng)前登錄用戶

          • localhost 主機(jī)名

          • ~ 當(dāng)前工作目錄,默認(rèn)是當(dāng)前用戶的家目錄,root就是/root,普通用戶是 /home/用戶名

          • 提示符 超級(jí)用戶是 #,普通用戶是$

          2.2.2 命令格式

          • 命令 [選項(xiàng)] [參數(shù)]

          • 當(dāng)有多個(gè)選項(xiàng)時(shí),可以寫在一起

          • 一般參數(shù)有簡(jiǎn)化和完整寫法兩種?-a?與?--all等效

          2.2.3 ls

          • 查詢目錄中的內(nèi)容

          • ls [選項(xiàng)] [文件或者目錄]

          • 選項(xiàng)

            • -a 顯示所有文件,包括隱藏文件

            • -l 顯示詳細(xì)信息

            • -d 查看目錄本身的屬性而非子文件 ls /etc/

            • -h 人性化的方式顯示文件大小

            • -i 顯示inode,也就是i節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都有ID號(hào)

          • 默認(rèn)當(dāng)前目錄下的文件列表

          -l

          顯示詳細(xì)信息

          drwxr-xr-x .  1 root  root   800 Sep 16 00:19 logs
          drwxr-xr-x.1rootroot800Sep 16 00:19logs
          文件類型和權(quán)限ACL權(quán)限硬鏈接引用計(jì)數(shù)所有者所屬組文件大小最后修改時(shí)間文件名
          文件類型和權(quán)限
          -rw-r--r--
          • 文件類型 - 文件、d 目錄、l 軟鏈接文件

          • u(所有者)、g(所屬組)、o(其他人)

          • r(read) 讀取、w(write) 寫入、x(execute) 執(zhí)行

          2.3 文件處理命令

          2.3.1 mkdir

          • 建立目錄 make directory

          • mkdir -p [目錄名]

            • -p 遞歸創(chuàng)建

          2.3.2 cd

          • 切換所在目錄 change directory

          • cd [目錄]

            • 上次目錄

            • ~ 家目錄

            • 家目錄


            • . 當(dāng)前目錄

            • … 上級(jí)目錄

          • 相對(duì)路徑是參照當(dāng)前所在目錄

          • 絕對(duì)路徑是從根目錄開始

          • 按TAB鍵可以補(bǔ)全命令和目錄

          2.3.3 pwd

          • 顯示當(dāng)前目錄 pwd

          2.3.4 rmdir

          • 刪除目錄 remove empty directory

          • rmdir [目錄名]

          2.3.5 rm

          • 刪除文件或者目錄 remove

          • rm [文件或者目錄]

            • -r 刪除目錄

            • -f 強(qiáng)制刪除

          • rm -rf 文件或者目錄] 遞歸強(qiáng)制刪除所有目錄

          2.3.6 cp

          • copy 復(fù)制命令

          • copy [源文件或者目錄] [目標(biāo)文件]

            • -r 復(fù)制目錄,默認(rèn)是復(fù)制文件

            • -p 連帶文件屬性復(fù)制

            • -d 若源文件是鏈接文件,則復(fù)制連接屬性

            • -a 相當(dāng)于 -rpd

          2.3.7 mv

          • 移動(dòng)文件或者改名 move

          • mv [源文件或者目錄] [目標(biāo)文件]

          2.3.8 ln

          • 鏈接命令,生成鏈接文件?link

          2.3.8.1 硬鏈接特征
          • 擁有相同的i節(jié)點(diǎn)和存儲(chǔ)block塊,可以看作是同一個(gè)文件

          • 可以通過i節(jié)點(diǎn)訪問

          • 不能跨分區(qū)

          • 不能針對(duì)目錄使用

          • 一般不使用

          2.3.8.2 軟鏈接特征
          • ln -s [源文件] [目標(biāo)文件]

            • -s 創(chuàng)建軟鏈接

          • 類似Windows快捷方式

          • 軟鏈接擁有自己的i節(jié)點(diǎn)和Block塊,但是數(shù)據(jù)塊中只保存源文件的文件名和i節(jié)點(diǎn)號(hào),并沒有實(shí)際的文件數(shù)據(jù)

          • lrwxrwxrwx l 軟鏈接 軟鏈接的文件權(quán)限都是 777

          • 修改任意一個(gè)文件,另一個(gè)都會(huì)改變

          • 刪除源文件,軟鏈接不能使用

          • 軟鏈接源文件必須寫絕對(duì)路徑

          2.4 文件搜索命令

          2.4.1 locate

          • 在后臺(tái)數(shù)據(jù)庫中按文件名搜索,速度比較快

          • 數(shù)據(jù)保存在/var/lib/mlocate后臺(tái)數(shù)據(jù)庫,每天更新一次

          • 可以updatedb命令立刻更新數(shù)據(jù)庫

          • 只能搜索文件名

          • /etc/updatedb.conf

            建立索引的配置文件

            • PRUNE_BIND_MOUNTS = “yes” 全部生效,開啟搜索限制

            • PRUNEFS 不搜索的文件系統(tǒng)

            • PRUNENAMES 忽略的文件類型

            • PRUNEPATHS 忽略的路徑 /tmp

          2.4.2 whereis

          • 搜索命令所在路徑以及幫助文檔所在位置

          • whereis 命令名

            whereis ls
            • -b 只查找可執(zhí)行文件

            • -m 只查找?guī)椭募?/span>

          2.4.3 which

          • 可以看到別名?which ls

          • 能看到的都是外部安裝的命令

          • 無法查看Shell自帶的命令,如?which cd

          2.4.4 環(huán)境變量

          /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
          • 定義的是系統(tǒng)搜索命令的路徑

          • echo $PATH

          2.4.5 find

          • 文件搜索命令

          • find [搜索范圍] [搜索條件]

          2.4.5.1 按名稱搜索
          • 避免大范圍的搜索,會(huì)非常消耗系統(tǒng)資源

            find / -name aaa.log
          2.4.5.2 通配符
          • find是在系統(tǒng)當(dāng)中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

          • 通配符

            • *?匹配任意內(nèi)容

            • ??匹配任意一個(gè)字符

            • []?匹配任意一個(gè)中括號(hào)內(nèi)的字符

          find . -name "ab[cdef]"
          2.4.5.3 -i

          不區(qū)分大小寫

          find / -iname A.log
          2.4.5.4 -user

          按所有者進(jìn)行搜索

          find /root -user root
          find /root -nouser
          2.4.5.5 按時(shí)間搜索
          find /nginx/access.log -mtime +5
          參數(shù)含義
          atime文件訪問時(shí)間
          ctime改變文件屬性
          mtime修改文件內(nèi)容
          參數(shù)含義
          -55天內(nèi)修改的文件
          55天前當(dāng)前修改的文件
          +55天前修改的文件
          2.4.5.6 按大小搜索
          • k小寫,M大寫

          find . -size 100k
          參數(shù)含義
          -8k小于8K
          8k等于8K
          +8k大于8K
          +8M小于8M
          2.4.5.7 按i節(jié)點(diǎn)搜索
          find . -inum 123456
          2.4.5.8 綜合應(yīng)用
          find /tmp -size +10k -a -size -20k
          • 查找/etc目錄下,大于10KB并且小于20KB的文件

          • -a and 邏輯與,兩個(gè)條件都滿足

          • -o or 邏輯或,兩個(gè)條件滿足一個(gè)就可以

          find /tmp -size +10k -a -size -20k -exec ls -lh {} \;
          • exec 對(duì)上個(gè)命令的結(jié)果進(jìn)行操作

          2.4.5.9 grep
          • 在文件當(dāng)中匹配符合條件的字符串

          • grep “10” access.log

            • -i?忽略大小寫

            • -v?排除指定字符串

          • find命令,在系統(tǒng)當(dāng)中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

          • grep命令 在文件當(dāng)中搜索符合條件的字符串,如果需要匹配,使用正則表達(dá)式進(jìn)行匹配,正則表達(dá)式時(shí)包含匹配

          2.5 幫助命令

          2.5.1 基本用法

          • man 命令 獲取指定命令的幫助

          • man ls?查看ls的幫助

          man -f ls
          whatis ls
          man 1 ls
          man 1p ls

          2.5.2 關(guān)鍵字搜索

          - man -k passwd

          2.5.3 shell 內(nèi)部幫助

          • whereis

            找到就是外部,找不到就是內(nèi)部

            help cd

          2.6 壓縮與解壓縮命令

          .zip` `.gz` `.bz2` `.tar.gz` `.tar.bz2

          2.6.1 zip格式

          • 壓縮文件 zip 壓縮文件名 源文件

          • 壓縮目錄 zip -r 壓縮文件名 源目錄

          • 解壓 unzip 壓縮文件名

            mkdir book
            touch book/1.txt
            touch book/2.txt
            zip -r book.zip book
            unzip book.zip

          2.6.2 gzip

          命令示例含義
          gzip 源文件gzip a.txt壓縮為.gz格式的壓縮文件,源文件會(huì)消失
          gzip -c 源文件 > 壓縮文件gzip -c yum.txt > yum.txt.gz壓縮為.gz格式的壓縮文件,源文件不會(huì)消失
          gzip -r 目錄gzip -r xx壓縮目錄下的所有子文件,但是不壓縮目錄
          gzip -d 壓縮文件名gzip -d yum.txt.gz解壓縮文件,不保留壓縮包
          gunzip 壓縮文件gunzip yum.txt.gz解壓縮文件,不保留壓縮包
          • 壓縮是壓縮目錄下的文件

          2.6.3 .bz2格式壓縮

          命令示例含義
          bzip2 源文件bzip2 1.txt壓縮為.bz2格式的文件,不保留源文件
          bzip2 -k 源文件zip2 -k 1.txt壓縮為.bz2格式的文件,保留源文件
          bzip2 -d 壓縮文件名bzip2 -d 1.txt.bz2解壓壓縮包
          bunzip2 壓縮文件名bunzip2 1.txt.bz2解壓壓縮包
          • bzip2 不能壓縮目錄

          2.6.4 tar

          • 打包命令

          • tar -cvf 打包文件名 源文件

            • -c 打包

            • -v 顯示過程

            • -f 指定打包后的文件名

          tar -cvf book.tar book
          gzip book.tar
          bzip2 book.tar
          • x 解打包

            tar -xvf book.tar

          2.6.4 壓縮格式

          壓縮

          tar –cvf jpg.tar *.jpg //將目錄里所有jpg文件打包成tar.jpg
          tar –czf jpg.tar.gz *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用gzip壓縮,生成一個(gè)gzip壓縮過的包,命名為jpg.tar.gz
          tar –cjf jpg.tar.bz2 *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用bzip2壓縮,生成一個(gè)bzip2壓縮過的包,命名為jpg.tar.bz2
          tar –cZf jpg.tar.Z *.jpg //將目錄里所有jpg文件打包成jpg.tar后,并且將其用compress壓縮,生成一個(gè)umcompress壓縮過的包,命名為jpg.tar.Z
          rar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linux
          zip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux

          解壓

          tar –xvf file.tar //解壓 tar包
          tar -xzvf file.tar.gz //解壓tar.gz
          tar -xjvf file.tar.bz2 //解壓 tar.bz2
          tar –xZvf file.tar.Z //解壓tar.Z
          unrar e file.rar //解壓rar
          unzip file.zip //解壓zip

          2.7 關(guān)機(jī)和重啟命令

          2.7.1 shutdown

          shutdown 關(guān)機(jī)命令

          • -c 取消前一個(gè)關(guān)機(jī)命令

          • -h 關(guān)機(jī)

          • -r 重啟

            shutdown -r 06:00
            shutdown -c

          2.7.2 init

          關(guān)機(jī)

          init 0

          重啟

          init 6

          系統(tǒng)的運(yùn)行級(jí)別

          • 0 關(guān)機(jī)

          • 1 但用戶

          • 2 不 完全多用戶,不包含NFS服務(wù)

          • 3 完全多用戶

          • 4 未分配

          • 5 圖形界面

          • 6 重啟

          2.7.3 logout

          退出登錄

          logout

          2.9 查看登錄用戶信息

          2.9.1 w

          查看登錄用戶信息

          • USER 登錄的用戶名

          • TTY 登錄的終端 tty1 本地終端 pts/0遠(yuǎn)程終端

          • FROM 登錄的IP

          • LOGIN 登錄時(shí)間

          • IDLE 用戶閑置時(shí)間

          • JCPU 該終端所有進(jìn)程占用的時(shí)間

          • PCPU 當(dāng)前進(jìn)程所占用的時(shí)間

          • WHAT 正在執(zhí)行的命令

          2.9.2 who

          查看登錄用戶信息

          • USER 登錄的用戶名

          • TTY 登錄的終端 tty1 本地終端 pts/0遠(yuǎn)程終端

          • LOGIN 登錄時(shí)間(登錄的IP)

          2.9.3 last

          查看當(dāng)前登錄和過去登錄的用戶信息 默認(rèn)讀取?/var/log/wtmp?文件

          • 用戶名

          • 登錄終端

          • 登錄IP

          • 登錄時(shí)間

          • 退出時(shí)間(在線時(shí)間)

          2.9.4 lastlog

          查看所有用戶的最后一次登錄時(shí)間

          • 用戶名

          • 登錄終端

          • 登錄IP

          • 最后一次登錄時(shí)間

          3. shell

          • shell是一個(gè)命令行解釋器,它為用戶提供了一個(gè)向Linux內(nèi)核發(fā)送請(qǐng)求以便運(yùn)行程序的界面系統(tǒng)級(jí)程序

          • 用戶可以用Shell來啟動(dòng)、掛起、停止或者編寫一些程序

          • Shell還是一個(gè)功能相當(dāng)強(qiáng)大的編程語言,易編寫,易調(diào)試,靈活性較強(qiáng)。

          • Shell是解釋執(zhí)行的腳本語言,在Shell中可以直接調(diào)用Linux系統(tǒng)命令。

          3.1 查看支持的shell

          • /etc/shells

          3.2 echo

          • 輸出命令

          • –e 支持反斜線控制的字符轉(zhuǎn)換

          控制字符作用
          \a輸出警告音
          \b退格鍵,也就是向左刪除鍵
          \n換行符
          \r回車鍵
          \t制表符,也就是Tab鍵
          \v垂直制表符
          \onnn按照八進(jìn)制ASCII碼表輸出字符,其中0為數(shù)字零,nnn是三位八進(jìn)制數(shù)
          \xhh按照十六進(jìn)制ASCII碼表輸出字符,其中hh是兩位十六進(jìn)制數(shù)

          3.3 編寫執(zhí)行shell

          #!/bin/bash
          echo -e "\e[1;34m hello world \e[0m"

          賦予執(zhí)行權(quán)限,直接運(yùn)行

          chmod 755 hello.sh
          ./hello.sh

          通過Bash調(diào)用執(zhí)行腳本

          bash hello.sh

          3.4 別名

          • 命令別名 == 小名

          • 臨時(shí)生效

          • alias

          • alias rm=“rm -i”

          • 寫入環(huán)境變量配置文件 vi ~/.bashrc

          • source ~/.bashrc

          • unalias 別名 刪除別名

          3.5 命令的生效順序

          • 絕對(duì)路徑或者相對(duì)路徑

          • 別名

          • bash內(nèi)部命令

          • 按照$PATH環(huán)境變量定義的目錄查找順序找到的第一個(gè)命令

          3.6 命令快捷鍵

          命令含義
          ctrl+c強(qiáng)制終止當(dāng)前命令
          ctrl+l清屏
          ctrl+a光標(biāo)移動(dòng)到命令行首
          ctrl+e光標(biāo)移動(dòng)到命令行尾
          ctrl+u從光標(biāo)所在的位置刪除到行首
          ctrl+z把命令放入后臺(tái)
          ctrl+r在歷史命令中搜索

          3.7 歷史命令

          • history [選項(xiàng)] [歷史命令保存文件]

          • 選項(xiàng)

            • -c 清空歷史命令

            • -w 把緩存中的歷史命令寫入歷史命令保存文件 ~/.bash_history

          • 默認(rèn)保存1000條 /etc/profile HISSIZE=10000

          3.8 調(diào)用

          • 使用上下箭頭調(diào)用以前的歷史命令

          • 使用 !n 重復(fù)執(zhí)行第n條歷史命令

          • 使用 !! 重復(fù)執(zhí)行上一條命令

          • 使用 !字符 重復(fù)執(zhí)行最后一條以該字符串開頭的命令

          3.9 管道符號(hào)

          3.9.1 多命令順序執(zhí)行

          (1) ; 分號(hào),沒有任何邏輯關(guān)系的連接符。當(dāng)多個(gè)命令用分號(hào)連接時(shí),各命令之間的執(zhí)行成功與否彼此沒有任何影響,都會(huì)一條一條執(zhí)行下去。

          (2) || 邏輯或,當(dāng)用此連接符連接多個(gè)命令時(shí),前面的命令執(zhí)行成功,則后面的命令不會(huì)執(zhí)行。前面的命令執(zhí)行失敗,后面的命令才會(huì)執(zhí)行。

          (3) && 邏輯與,當(dāng)用此連接符連接多個(gè)命令時(shí),前面的命令執(zhí)行成功,才會(huì)執(zhí)行后面的命令,前面的命令執(zhí)行失敗,后面的命令不會(huì)執(zhí)行,與 || 正好相反。

          (4) | 管道符,當(dāng)用此連接符連接多個(gè)命令時(shí),前面命令執(zhí)行的正確輸出,會(huì)交給后面的命令繼續(xù)處理。若前面的命令執(zhí)行失敗,則會(huì)報(bào)錯(cuò),若后面的命令無法處理前面命令的輸出,也會(huì)報(bào)錯(cuò)。

          - date;ls;date;ls
          - ls && echo yes || echo no

          3.9.2 管道符號(hào)

          • 命令1的正確輸出會(huì)作為命令2的操作對(duì)象

          • 命令1|命令2

            ls /etc/ | more
            netstat -an | grep ESTABLISHED | wc -l

          3.9.3 通配符

          匹配文件名和目錄名 |通配符|作用| |:----|:----| |?|匹配一個(gè)任意字符| |*|匹配0個(gè)或任意字符,也就是可以匹配任意內(nèi)容| |[]|匹配中括號(hào)中任意一個(gè)字符| |[-]|匹配中括號(hào)中任意一個(gè)字符,-代表范圍| |[^]|匹配不是中括號(hào)中的一個(gè)字符|

          3.9.4 其它符號(hào)

          符號(hào)作用
          ‘’單引號(hào)。在單引號(hào)中所有的特殊符號(hào),如$和`都沒有特殊含義
          “”雙引號(hào),在雙引號(hào)里特殊符號(hào)都沒有特殊含義,但是 $ ` \ 例外,擁有調(diào)用變量值,引用命令和轉(zhuǎn)義的含義
          ``反引號(hào),擴(kuò)起來的是系統(tǒng)命令
          $()和反引號(hào)一樣
          #在shell腳本中,#開頭的行代表注釋
          $用于調(diào)用變量的值
          \轉(zhuǎn)義符號(hào)
          -  a=`ls`
          - b=$(ls)

          4. vi編輯器

          • VI visual interface

          • 可視化接口

          • 類似與windows中的記事本

          • vim支持多級(jí)撤銷

          • 跨平臺(tái)

          • 語法高亮

          • 支持圖形界面

          4.1 操作模式

          • :w 保存

          • :q 退出

          • :! 強(qiáng)制保存

          • :ls 列出所有的文件

          • :n 下一個(gè)

          • :N 上一個(gè)

          • :15 跳轉(zhuǎn)到指定行

          • /xxx 從光標(biāo)位置開始向后搜索 xxx 字符串

          • ?xxx 從光標(biāo)位置開始向前搜索

          5. 用戶和用戶組

          • 使用操作系統(tǒng)的人都是用戶

          • 用戶組是具有相同系統(tǒng)權(quán)限的一組用戶

          5.1 用戶組

          5.1.1 /etc/group

          • /etc/group 存儲(chǔ)當(dāng)前系統(tǒng)中所有用戶組信息

          • group:x:123:abc,def

          • 組名稱:組密碼占位符:組編號(hào):組中用戶名列表

          • root 組編號(hào)為0

          • 1-499系統(tǒng)預(yù)留的編號(hào) 預(yù)留給安裝的軟件和服務(wù)的

          • 用戶手動(dòng)創(chuàng)建的用戶組從500開始

          • 組密碼占位符都是x

          5.1.2 /etc/gshadow

          • 存放當(dāng)前系統(tǒng)中用戶組的密碼信息

          • 和group中的記錄一一對(duì)應(yīng)

          • Group: * : :abc

          • 組名稱 組密碼 組管理者 組中用戶名

          5.1.3 /etc/passwd

          • 存儲(chǔ)當(dāng)前系統(tǒng)中所有用戶的信息

          • user:x:123:456:xxxxx:/home/user:/bin/bash

          • 用戶名:密碼占位符:用戶編號(hào): 用戶注釋信息:用戶主目錄:shell類型

          5.1.4 /etc/shadow

          • 存放當(dāng)前系統(tǒng)中所有用戶的密碼信息

          • user:xxx:::::::

          • 用戶名:密碼:

          6. 用戶操作

          添加組

          groupadd student

          修改組名稱

          groupmod -n stu student

          修改組編號(hào)

          groupmod -g 111 stu

          添加分組并指定編號(hào)

          groupadd -g 222 teacher

          刪除分組

          groupdel 222

          添加分組

          groupadd teacher

          為用戶指定所屬組

          useradd -g teacher zhangsan

          為用戶指定所屬組

          useradd -g teacher lisi

          為用戶指定工作目錄

          useradd -d /home/zhangsan zhangsan

          指定注釋

          usermod -c iamateacher zhangsan

          修改用戶名

          usermod -l zhangsan zhangsan2

          指定文件夾

          usermod -d /home/zhangsan2 zhangsan2

          修改用戶所屬組

          usermod -g stu zhangsan2

          刪除用戶

          userdel zhangsan2

          刪除所屬文件夾

          userdel -r lisi

          7. 用戶命令

          顯示登錄的用戶名

          whoami

          顯示指定用戶信息,包括用戶編號(hào),用戶名 主要組的編號(hào)及名稱,附屬組列表

          id zhangsan

          顯示zhangsan用戶所在的所有組

          groups zhangsan

          顯示用戶詳細(xì)資料

          finger zhangsan

          8. 附錄

          8.1 系統(tǒng)啟動(dòng)

          8.1.1 BIOS

          • 計(jì)算機(jī)通電后,第一件事就是讀取刷入ROM芯片的開機(jī)程序,這個(gè)程序叫做(Basic Input/Output System)

          8.1.2 硬件自檢

          • BIOS程序首先檢查,計(jì)算機(jī)硬件能否滿足運(yùn)行的基本條件,這叫做"硬件自檢"(Power-On Self-Test)

          • 如果硬件出現(xiàn)問題,主板會(huì)發(fā)出不同含義的蜂鳴,啟動(dòng)中止。如果沒有問題,屏幕就會(huì)顯示出CPU、內(nèi)存、硬盤等信息。

          8.1.3 啟動(dòng)順序

          • 硬件自檢完成后,BIOS把控制權(quán)轉(zhuǎn)交給下一階段的啟動(dòng)程序。

          • 這時(shí),BIOS需要知道,"下一階段的啟動(dòng)程序"具體存放在哪一個(gè)設(shè)備

          • BIOS需要有一個(gè)外部?jī)?chǔ)存設(shè)備的排序,排在前面的設(shè)備就是優(yōu)先轉(zhuǎn)交控制權(quán)的設(shè)備。這種排序叫做"啟動(dòng)順序"(Boot Sequence)

          • BIOS按照"啟動(dòng)順序",把控制權(quán)轉(zhuǎn)交給排在第一位的儲(chǔ)存設(shè)備。

          • 這時(shí),計(jì)算機(jī)讀取該設(shè)備的第一個(gè)扇區(qū),也就是讀取最前面的512個(gè)字節(jié)。如果這512個(gè)字節(jié)的最后兩個(gè)字節(jié)是0x55和0xAA,表明這個(gè)設(shè)備可以用于啟動(dòng);如果不是,表明設(shè)備不能用于啟動(dòng),控制權(quán)于是被轉(zhuǎn)交給"啟動(dòng)順序"中的下一個(gè)設(shè)備。

          • 這最前面的512個(gè)字節(jié),就叫做"主引導(dǎo)記錄"(Master boot record,縮寫為MBR)

          8.1.4 主引導(dǎo)記錄的結(jié)構(gòu)

          • "主引導(dǎo)記錄"只有512個(gè)字節(jié),放不了太多東西。它的主要作用是,告訴計(jì)算機(jī)到硬盤的哪一個(gè)位置去找操作系統(tǒng)。

            • (1) 第1-446字節(jié):是用來記錄系統(tǒng)的啟動(dòng)信息的,調(diào)用操作系統(tǒng)的機(jī)器碼

            • (2) 第447-510字節(jié)(64個(gè)字節(jié)):分區(qū)表(Partition table),分區(qū)表的作用,是將硬盤分成若干個(gè)區(qū)

            • (3) 第511-512字節(jié):主引導(dǎo)記錄簽名(0x55和0xAA)

          8.1.5 分區(qū)表

          • 磁盤分區(qū)是使用分區(qū)編輯器在磁盤上劃分幾個(gè)邏輯部分

          • 磁盤一旦劃分成多個(gè)分區(qū),不同類的目錄與文件可以存儲(chǔ)進(jìn)不同的分區(qū)內(nèi)

          • "主引導(dǎo)記錄"因此必須知道將控制權(quán)轉(zhuǎn)交給哪個(gè)區(qū)

          • 分區(qū)表的長(zhǎng)度只有64個(gè)字節(jié),里面又分成四項(xiàng),每項(xiàng)16個(gè)字節(jié)。所以,一個(gè)硬盤最多只能分四個(gè)一級(jí)分區(qū),又叫做"主分區(qū)"

            • (1) 第1個(gè)字節(jié):如果為0x80,就表示該主分區(qū)是激活分區(qū),控制權(quán)要轉(zhuǎn)交給這個(gè)分區(qū)。四個(gè)主分區(qū)里面只能有一個(gè)是激活的。

            • (2) 第2-4個(gè)字節(jié):主分區(qū)第一個(gè)扇區(qū)的物理位置(柱面、磁頭、扇區(qū)號(hào)等等)。

            • (3) 第5個(gè)字節(jié):主分區(qū)類型,比如FAT32、NTFS等。

            • (4) 第6-8個(gè)字節(jié):主分區(qū)最后一個(gè)扇區(qū)的物理位置。

            • (5) 第9-12字節(jié):該主分區(qū)第一個(gè)扇區(qū)的邏輯地址。

            • (6) 第13-16字節(jié):主分區(qū)的扇區(qū)總數(shù)。

          8.1.6 硬盤啟動(dòng)

          • 計(jì)算機(jī)的控制權(quán)就要轉(zhuǎn)交給硬盤的某個(gè)分區(qū)了

          • 四個(gè)主分區(qū)里面,只有一個(gè)是激活的。計(jì)算機(jī)會(huì)讀取激活分區(qū)的第一個(gè)扇區(qū),叫做"卷引導(dǎo)記錄"(Volume boot record,縮寫為VBR)

          8.1.7 操作系統(tǒng)

          • 控制權(quán)轉(zhuǎn)交給操作系統(tǒng)后,操作系統(tǒng)的內(nèi)核首先被載入內(nèi)存。

          • 以Linux系統(tǒng)為例,先載入/boot目錄下面的kernel。內(nèi)核加載成功后,第一個(gè)運(yùn)行的程序是/sbin/init。它根據(jù)配置文件(Debian系統(tǒng)是/etc/initab)產(chǎn)生init進(jìn)程。這是Linux啟動(dòng)后的第一個(gè)進(jìn)程,pid進(jìn)程編號(hào)為1,其他進(jìn)程都是它的后代

          • 然后,init線程加載系統(tǒng)的各個(gè)模塊,比如窗口程序和網(wǎng)絡(luò)程序,直至執(zhí)行/bin/login程序,跳出登錄界面,等待用戶輸入用戶名和密碼。

          作者:孟祥_成都

          鏈接:https://juejin.cn/post/6844903801283952653

          推薦閱讀:

          10 款你不知道的 Linux 環(huán)境下的替代工具!

          5 款可替代 du 命令的工具!

          在線運(yùn)行 Linux,強(qiáng)的離譜!

          11 款可替代 top 命令的工具!

          7 款可替代 top 命令的工具!(二)

          14 款命令行常用工具的替代品!

          瀏覽 39
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.色色五月天 | 欧美小逼| 青春草在线视频 | 一级片免费视频 | 正在播放精品 |