Linux 电脑系统基本操作
Linux 電腦系統 基本操作
- 常用命令
- 零、基礎學習
- 0.1 簡介
- 0.2 入門學習
- 一、常用命令介紹
- 1.1 整理歸納
- 1.2 特殊文件、文件夾與目錄表示
- 1.3 查詢命令幫助語句
- 1.4 用戶管理
- 1.4.1 useradd 命令
- 1.4.2 userdel 命令
- 1.4.3 groupadd 命令
- 1.4.4 groupdel 命令
- 1.4.5 id 命令
- 1.4.6 groups 命令
- 1.4.7 usermod 命令
- 1.4.8 groupmod命令
- 1.4.8 finger 命令
- 1.5 用戶密碼管理
- 1.6 用戶登錄
- 1.6.1 圖形化界面登錄
- 1.6.2. 使用login命令登錄
- 1.6.3 su命令切換用戶身份
- 1.7 文件/目錄在磁盤中存放
- 1.7.1 文件/目錄鏈接
- 1.8 文件/目錄查找和定位
- 1.9 掛載
- 1.9.1 mount 命令
- 1.8.2 umount 命令
- 二、其他系統版本
- CentOS
- 黑客命令行(Kaili_Linux)
- 技術應用
- 三、框架
- 1. Docker(容器)
常用命令
零、基礎學習
0.1 簡介
Introduction:Linux中一切皆為文件,不像Windows一樣有各個磁盤,Linux中的磁盤也是可以當做文件來進行處理的,通常磁盤是被掛載到/dev目錄下。
Linux系統新手很難理解它引用文件和目錄的方式,對于習慣于Windows 操作系統方式人來說更是如此,在深入學習Linux系統前,首先要了解下它與Windows不同之處。
-
第一個不同之處是,Linux中的路徑名不使用驅動器盤符,而Windows則是為每個磁盤驅動分配一個盤符。
-
第二個不同之處是,Linux中只有一個根目錄,而Window可以存在多個磁盤盤符,而不是一個。
-
第三個不同之處是,Linux使用正斜杠/而不是使用反斜杠\來連接兩個目錄。
0.2 入門學習
Linux系統安裝資源:
鏈接:https://pan.baidu.com/s/1EjtmVMdStY6JuTOvBCzieA
提取碼:fcws
下載VMware軟件、ubuntu鏡像(上面是下載地址)
?安裝軟件,軟件秘鑰:VC1J8-0TX11-M84WP-2WNGX-PQKD8(如果有問題可以問)
?安裝Ubuntu系統
安裝Vmware軟件教程:https://blog.csdn.net/qq_32786873/article/details/78725247
版本不一樣,但是基本的流程類似
安裝Ubuntu系統:https://blog.csdn.net/weixin_44218204/article/details/86083625
基本流程相似,相互可以做參考
Ubuntu學習電子書
一、常用命令介紹
1.1 整理歸納
| cd | cd(Change Directory): 切換當前目錄 |
| pwd | pwd(Print Working Directory ):顯示當前所在目錄 |
| ls | ls(list): 列出指定目錄列表信息,如果沒有參數,默認列出當前目錄下的所有文件和文件夾(隱藏文件和文件夾除外) |
| touch | 命令格式:touch filename 創建一個新的空文件 |
| rm | 刪除(remove)我們已經有的或者創建的文件filename |
| mkdir | 新創建一個文件夾 |
| rmdir或者rm -r | 刪除文件夾(空/非空) |
| cp | 將一個或多個源文件或者目錄復制到指定的目錄中 |
| mv | 來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中 |
| man | 查詢命令的幫助文件 |
| info | 查詢命令的幫助文件 |
| whatis (command) | 用來顯示命令的簡短描述 |
| useradd | 創建一個新用戶 |
| userdel | 刪除一個已經存在的用戶 |
| passwd | 修改用戶密碼 |
| chpasswd | 批量修改用戶密碼(更改的是/etc/passwd文件) |
| login | 讓用戶登錄系統 |
| su | 切換用戶身份 |
| cat,more,less,head,tail,wc | 查看文件內容(不能編輯只能查看) |
| groupadd | 創建一個新用戶組 |
| groupdel | 刪除一個已經存在的用戶組 |
| id,group | 查看一個用戶所屬的組 |
| usermod | 修改用戶組 |
| groupmod | 修改用戶組信息 |
| newgrp | 進行組用戶的切換 |
| gpasswd | 用戶組管理 |
| finger | 來查詢用戶的信息(默認沒有安裝) |
| chmod | 修改文件權限 |
| df | 顯示磁盤分區上的可使用的磁盤空間(默認顯示單位為KB) |
| du | 對文件和目錄磁盤使用的空間的查看 |
| ln | 創建一個超鏈接文件 |
| mount | 可以將分區掛接到 Linux 的一個文件夾下 |
| mkisofs | 制作成一個光盤鏡像文件 |
| locate | 用來查找文件或目錄 |
| updatedb | 創建或更新locate命令所必需的數據庫文件。 |
| which | 用來查找系統PATH目錄下的,可執行文件(shell內建命令) |
| whereis | 可以用來查找二進制(命令)、源文件、man文件。通過文件索引數據庫而非PATH來查找的,所以查找的面比which要廣 |
| find | 在指定目錄下查找文件 |
| grep | 是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來 |
1.2 特殊文件、文件夾與目錄表示
| Command | Analysis |
| cd | 進入用戶主目錄 |
| cd ~ | 進入用戶主目錄 |
| cd / | 切換當前目錄到根目錄 |
| cd - | 返回進入此目錄之前所在的目錄 |
| cd … | 返回上級目錄(若當前目錄為”/“,則執行完后還在”/“;”…”為上級目錄的意思) |
| cd …/… | 返回上兩級目錄 |
| cd !$ | 把上個命令的參數作為cd參數使用 |
| 常見ls命令選項 | |
| ls -l | 以長格式顯示目錄下的內容列表。輸出的信息從左到右依次包括文件名,文件類型、權限模式、硬連接數、所有者、組、文件大小和文件的最后修改時間等 |
| ls -li | 查看文件的詳細信息(包括鏈接) |
| ls -a | 顯示所有文件和文件夾(包括隱藏文件/文件夾)。 |
| ls param 目錄 | -a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱為“.”的視為影藏,不會列出);-A:顯示除影藏文件“.”和“..”以外的所有文件列表;-l:列出內容的詳細信息;-r:以文件名反序排列并輸出目錄內容列表;-s:顯示文件和目錄的大小,以區塊為單位;-i:顯示文件索引節點號(inode)。一個索引節點代表一個文件;-R:遞歸處理,將指定目錄下的所有文件及子目錄一并處理。 |
| touch filename | 創建一個新的文件filename,如果想同時創建多個文件也可以使用touch命令完成,具體格式如下:touch file1 file2 …只需將不同的文件名用空格分隔即可完成創建多個文件。 |
| rm [option] filename | 常用命令選項: -f:強制(force)刪除文件或目錄; -r或-R:遞歸(recursion)處理,將指定目錄下的所有文件與子目錄一并處理; -i:刪除已有文件或目錄之前先詢問(inquiry)用戶??梢允褂猛ㄅ浞麃韯h除文件。 |
| mkdir [option] dirname | 常用命令選項: -p或–parents 若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄; |
| rmdir [option] dirname | 常用命令選項:-p或–parents:刪除指定目錄后,若該目錄的上層目錄已變成空目錄,則將其一并刪除;可以使用通配符來刪除目錄。 |
| cp [option] (源文件) (目的文件) | 常用命令選項: -f:強行復制文件或目錄,不論目標文件或目錄是否已存在;-i:覆蓋既有文件之前先詢問用戶;-p:保留(keep)源文件或目錄的屬性;-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理。 |
| mv [option] (源文件) (目標文件) | 常用命令選項:-f:強行復制文件或目錄,不論目標文件或目錄是否已存在; -i:覆蓋既有文件之前先詢問用戶;-p:保留源文件或目錄的屬性;-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理’。可以使用通配符來移動目錄,源目錄和目標目錄重名,則采用合并的方式,其對于文件則是直接覆蓋。 |
| cat 參數 文件名 | 常用參數如下:-n 或 --number:由1開始對所有輸出的行數編號;–b 或 --number-nonblank:和-n相似,只不過對于空白行不編號。 |
| head 參數 文件名 | -n number:顯示文件的前number行內容;從文件的開頭顯示內容,默認情況下只顯示前10行的內容 |
| tail 參數 文件名 | -n number:顯示文件的最后number行內容;從文件的結尾顯示內容,默認情況下只顯示最后10行的內容 |
Notice:mkdir命令創建一個空目錄后,該目錄下只存在兩個特殊的目錄,分別是.和..
1.3 查詢命令幫助語句
| Command | Analysis |
| man [章節] command | 常用命令如下:d, Ctrl+D: 向文件尾部(afterbody)翻半屏;u, Ctrl+U: 向文件首部(prelude)翻半屏; q: 退出; #:跳轉至第#行; 1G: 回到(go back)文件首部; G:翻至(go to)文件尾部。 |
| man /KEYWORD: | 以KEYWORD指定的字符串為關鍵字,從當前位置向文件尾部搜索,不區分字符大小寫;-n: 下一個, -N:上一個(n同方向,N反方向,相對關鍵字搜索方向) |
| man ?KEYWORD | 以KEYWORD指定的字符串為關鍵字,從當前位置向文件首部搜索,不區分字符大小寫; -n: 跟搜索命令同方向,下一個,-N:跟搜索命令反方向,上一個 |
| info [option] command | 常用命令參數選項:-d:添加包含info格式幫助文檔的目錄;-f:指定要讀取的info格式的幫助文檔;-n:指定首先訪問的info幫助文件的節點(node);-o:輸出(out)被選擇的節點內容到指定文件。常見命令如下:?鍵:它就會顯示info的常用快捷鍵;N鍵:顯示(相對于本節點的)下一節點的文檔內容;P鍵:顯示(相對于本節點的)前一節點的文檔內容;U鍵:進入當前命令所在的主題(subject);M鍵:敲M鍵(document)后輸入命令的名稱就可以查看該命令的幫助文檔了;G鍵:敲G鍵后輸入主題(generated)名稱,進入該主題;L鍵:回到上一個訪問的頁面;SPACE鍵:向前滾動一頁;BACKUP或DEL鍵:向后滾動一頁;Q:退出info。 |
- Introduction:inux中使用info命令來查詢命令的幫助文件。info頁面比man page編寫得要更好、更容易理解,也更友好,但man page使用起來確實要更容易得多。一個man page只有一頁,而info頁面幾乎總是將它們的內容組織成多個區段(稱為節點),每個區段也可能包含子區段(稱為子節點)。
- Notice:命令的幫助文件通常存放在/usr/share/man目錄下。
man目前包含9個章節,章節用數字表示(如果查詢命令的時候不追加章節,則默認從第一個章節開始查詢,以此類推,直到找到對應要查詢的命令為止),分別是:
1.4 用戶管理
從廣義上講,Linux系統賬戶包括用戶賬號和組賬號兩類。用戶賬號又分為普通用戶賬號和超級用戶賬號(root) ;組賬號又分為私有組、系統組和標準組。
Detail:
建立賬戶時,若沒有指定賬戶所屬的組,系統會建立一個和用戶名相同的組,這個組就是私有組,這個組只容納了一個用戶。
標準組可以容納多個用戶,組中的用戶都具有組所擁有的權利。
系統組是Linux系統自動建立的。
| Command | Analysis |
| useradd [命令參數] 參數 | 常見命令參數:-d<登入(add)目錄>:指定用戶登入時的啟始目錄;-D:查看或變更預設值(data);-g<群組>:指定用戶所屬的群組; -G 組名 用戶名同時為用戶添加其它組;-m:自動建立用戶的登入目錄;-M:不要自動建立用戶的登入目錄;-s:指定用戶登入后所使用的shell。 |
| userdel [命令參數] 參數 | 常見命令參數:-f:強制刪除用戶,即使用戶當前已登錄;-r:刪除用戶的同時,刪除與用戶相關的所有文件。 |
| groupadd [命令參數] 參數 | 常見命令參數:-g:指定新建工作組的id;-r:創建系統工作組,系統工作組的組ID小于500; |
| groupdel 參數 | 參數為要刪除的用戶組名 |
| id [order] 參數 | 參數為要查詢的用戶名,默認是當前登錄用戶。常見命令參數:-g或–group:顯示用戶所屬群組的ID;-G或–groups:顯示用戶所屬附加群組的ID;-n或–name:顯示用戶,所屬群組或附加群組的名稱。 |
| groups (args) | 參數為要查詢的用戶名,默認是當前登錄用戶。一個用戶是可以屬于多個組 |
| usermod 命令 參數 | 常見命令參數:-c<備注>:修改用戶帳號的備注文字;-d<登入目錄>:修改用戶登入時的目錄;-e<有效期限>:修改帳號的有效期限;-f<緩沖天數>:修改在密碼過期后多少天即關閉該帳號;-g<群組>:修改用戶所屬的群組;-G<群組>;修改用戶所屬的附加群組;-l<帳號名稱>:修改用戶帳號名稱;-L:鎖定用戶密碼,使密碼無效;-s:修改用戶登入后所使用的shell;-u:修改用戶ID;-U:解除密碼鎖定。 |
| groupmod [命令參數] 參數 | 常見命令參數:-g<群組識別碼>:設置欲使用的群組識別碼;-n<新群組名稱>:設置欲使用的群組新名稱。 |
| finger [command] 參數 | 常見命令參數:-l:多行顯示;-s:單行顯示。這個選項只顯示登入名稱、真實姓名、終端機名稱、閑置時間、登入時間、辦公室號碼及電話號碼。如果所查詢的使用者是遠端服務器的使用者,這個選項無效。 |
Notice:useradd、userdel、passwd、chpasswd、groupadd、groupdel、usermod必須以root權限才能執行,如果是普通用戶想創建一個新用戶時,需要在命令前加sudo命令來提升權限為root權限。
id,group命令的執行權限是面向所有用戶。
1.4.1 useradd 命令
查看useradd系統默認屬性值,使用命令useradd -D。
使用useradd命令新創建一個用戶test,并且自動建立用戶的登入目錄。
??我們了解到,Linux中用戶信息是保存在/etc/passwd文件中,我們可以使用命令tail /etc/passwd命令查看/etc/passwd文件最后10行中是否存在剛剛新創建的test用戶信息。
新創建一個用戶組newGroup,并且使用useradd命令新創建用戶newUser同時將其所屬組修改為newGroup。
新創建一個用戶組newGroup,并且使用useradd命令新創建用戶newUser同時為其添加一個新的用戶組newGroup。
1.4.2 userdel 命令
因為系統默認是不會給新創建的用戶自動創建一個文件夾用于用戶賬戶接收郵件,所以在使用userdel -r命令刪除的時候會提醒/var/mail/test文件夾不存在。
1.4.3 groupadd 命令
Linux中用戶組信息是保存在/etc/group文件中,我們可以使用命令tail /etc/group命令查看/etc/group文件最后10行中是否存在剛剛新創建的testGroup用戶信息。
注意:我們可以看到有時執行sudo命令就不需要輸入密碼,這是因為每次都輸入密碼比較麻煩,所以Linux會設置一個sudo的會話時間,就是說我們在第一次執行sudo的時候是要輸入密碼,那么在接下來的一段時間內在執行sudo的時候就不需要輸入密碼,這個會話時間默認是5分鐘,用戶也可以通過編輯/etc/sudoers來修改這個會話時間的大小。
同樣我們可以使用命令tail /etc/group命令查看/etc/group文件最后10行中是否存在剛剛新創建的testGroupID用戶信息。
1.4.4 groupdel 命令
1.4.5 id 命令
1.4.6 groups 命令
1.4.7 usermod 命令
首先,創建用戶newUser和組newGroup,使用groups命令查看用戶newUser所屬的組,因為默認情況下新創建用戶的時候會默認創建一個與用戶名同名的私有組,并將新創建的用戶所屬組設置為私有組。接下來使用usermod命令來修改用戶所屬組,最后查看修改是否成功。
創建用戶newUser和組newGroup,使用groups命令查看用戶newUser所屬的組。接下來使用usermod命令來為用戶添加一個新的組,最后查看添加是否成功。
1.4.8 groupmod命令
首先通過tail命令查看一個已有用戶組信息,可以看到該用戶組名為oldUser,并且組ID為1004,通過groupmod命令將其名由oldUser修改成renameOldUser,最后使用再查看是否修改成功。
1.4.8 finger 命令
注意:Ubuntu系統中默認沒有安裝finger命令,用戶可以通過以下命令來安裝finger,然后就可以使用finger。
1.5 用戶密碼管理
| Command | Analysis |
| passwd [命令參數] 參數 | 常見命令參數:-d 刪除密碼;-l 停止賬號使用;-S 顯示密碼信息。 |
| chpasswd [命令參數] 參數 | 從標準輸入批量讀取成對的用戶名和密碼,其中輸入的用戶名和密碼的格式為用戶名:密碼。 |
- 用戶密碼存放地及方式
Linux中用戶的登錄密碼是存放在/etc/shadow文件中,/etc/shadow文件中存放的是加密過后的密碼,所以在/etc/shadow文件中看到的密碼是加密過后的密文。
可以看到第一個冒號前是用戶名,用戶名是以明文的方式存放。
在第一個冒號和第二個冒號之間存放的是加密過后的密碼,密碼是以密文的方式存放,其中密文是由用戶密碼和其它信息加密后組成的,這里不做詳細講解,我們只需要知道如果第一個冒號和第二個冒號之間是*或者!或者空,則表示該用戶沒有密碼,否則,則表示該用戶是有密碼。
例如:用戶名fzm是存在密碼,而mysql是不存在密碼的。
使用useradd命令來新創建一個用戶,使用passwd命令來設置登錄密碼。
使用useradd命令創建一個新用戶(test),此時test用戶是沒有密碼的,所以使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出test用戶密碼部分為!。
使用passwd命令為test用戶設置密碼時,可以看到需要輸入兩次密碼,目的是為了確保兩次輸入的密碼一致。當設置完密碼后,可以看到/etc/shadow文件中test用戶的密碼部分已經為加密過后的密文。
使用passwd命令來清除用戶的密碼。
使用passwd命令清除用戶test的登錄密碼,使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出test用戶密碼部分為空,此時test用戶是沒有密碼的。
使用chpasswd命令修改用戶密碼
chpasswd命令通常是用于批量修改用戶密碼,從標準輸入批量讀取成對的用戶名和密碼,其中輸入的用戶名和密碼的格式為用戶名:密碼。
例如要批量更新用戶密碼,將用戶名和密碼寫入到一個文件中,格式如下所示:
然后執行執行如下命令來更新密碼:
Notice: < 符號表示輸入重定向。
chpasswd是從鍵盤不斷的讀入指令,我們可以使用Ctrl+D組合鍵來結束鍵盤輸入。
1.6 用戶登錄
| Command | Analysis |
| login [command] 參數 | 常見命令參數:-p:告訴login指令不銷毀環境變量;-h:指定遠程服務器的主機名。 |
| su [command] 參數 | 常見命令參數:-c <指令>或–command=<指令>:執行完指定的指令后,即恢復原來的身份;-l或–login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變量;-m,-p或–preserve-environment:變更身份時,不要變更環境變量;-s或–shell=:指定要執行的shell。 |
1.6.1 圖形化界面登錄
Linux中添加用戶后,用戶在圖形界面登錄系統的方式和Windows一樣,都是選擇要登錄的用戶后直接輸入登錄密碼即可。
1.6.2. 使用login命令登錄
introduction:login命令是讓用戶登錄系統,可通過它的功能隨時更換登入身份。當/etc目錄里含名稱為nologin的文件時,系統只允許root帳號登入系統,其他用戶一律不準登入。
當使用login命令登錄系統后,可以使用logout命令或者exit命令來退出當前用戶登錄,返回到登錄前的用戶狀態。
參數為登錄的用戶名,可以不輸入登錄的用戶名,直接輸入login命令后回車,然后根據提示再輸入用戶名和密碼。
Notice:login必須以root權限才能執行,如果是普通用戶執行時,需要在命令前加sudo命令來提升權限為root權限。
使用login命令來登錄系統(文件/etc/nologin不存在)。首先查看當前登錄的用戶名是fzm。
使用newUser用戶來登錄系統,然后查看當前登錄的用戶名。
使用logout或者exit命令退出newUser用戶,然后在查看當前登錄用戶是否為fzm。
使用login命令來登錄系統(文件/etc/nologin存在)。
在/etc目錄下新創建一個nologin文件,使用如下命令創建:
sudo touch /etc/nologin使用普通用戶newUser來登錄系統,查看是否可以登錄成功。
發現使用newUser用戶是無法登錄系統的,只有使用root用戶才能登錄系統。
1.6.3 su命令切換用戶身份
su命令用于切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號的密碼。
當使用su命令切換用戶后,使用exit命令退出當前身份,返回原有登錄用戶身份。
注:如果當前用戶身份是root,則使用su命令切換到其他用戶的時候不需要相應用戶的密碼,su命令所有使用者都可以執行。
參數為登錄的用戶名,如果沒有參數,則默認切換為root用戶。
切換當前用戶為newUser用戶,然后查看當前用戶身份和當前工作目錄。
使用exit命令退出newUser用戶,然后在查看當前登錄用戶身份和當前工作目錄。
使用exit命令退出newUser用戶,然后在查看當前登錄用戶身份和當前工作目錄。
1.7 文件/目錄在磁盤中存放
Description:Linux將一個磁盤劃分為不同的分區,每個分區可以有不同的格式,Linux用的系統格式有ext2、ext3和ext4。
Linux能夠識別大多數的文件系統格式,包括Windows的系統格式,但是Windows無法直接識別Linux系統格式。
為解決文件的共享使用,Linux系統引入了兩種鏈接:硬鏈接(hard link) 與軟鏈接(又稱符號鏈接,即soft link或symbolic link)。使用鏈接的好處可以提高磁盤使用率和文件的安全。
Linux中為了實現不同格式的文件系統可以同時訪問,Linux采用的掛載的方法將不同格式的文件系統組織起來。
| Command | Analysis |
| df order args | 常用參數如下:-a或–all:包含全部的文件系統,包括系統特有的/proc等文件系統;-k : 以KB為單位顯示各文件系統;-m : 以MB為單位顯示各文件系統;-h : 以可讀性較高的方式來顯示信息;-i或–inodes:顯示inode的信息。 |
| du order args | 常用參數如下:-a : 列出所有的文件與目錄容量,因為默認僅統計目錄下面的文件量而已;-h : 以可讀性較高的方式來顯示信息;-k : 以KB為單位顯示容量;-m : 以MB為單位顯示容量;-s : 列出總量,不列出每個目錄占用的容量。 |
以可讀性較高的方式顯示多個文件所占磁盤大小。
1.7.1 文件/目錄鏈接
??Linux中的鏈接類似于Windows的快捷方式,也就是很多的鏈接文件(link file)其實都指向同一個源文件(source file)。Linux中鏈接文件又分為硬鏈接和軟鏈接兩種。
硬鏈接指通過索引節點來進行鏈接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種鏈接就是硬鏈接。
硬鏈接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬鏈接到重要文件,以防止誤刪的功能。其原因如上所述,因為對應該目錄的索引節點有一個以上的鏈接。只刪除一個鏈接并不影響索引節點本身和其它的鏈接,只有當最后一個鏈接被刪除后,文件的數據塊及目錄的鏈接才會被釋放。也就是說,文件真正刪除的條件是與之相關的所有硬鏈接文件均被刪除。
硬鏈接特點如下:
- 文件有相同的inode及data block;
- 只能對已存在的文件進行創建;
- 不能交叉文件系統進行硬鏈接的創建;
- 不能對目錄進行創建,只可對文件創建;
- 刪除一個硬鏈接文件并不影響其他有相同inode號的文件。
| Command | Analysis |
| ln 源文件 目標文件 | 不加參數為硬鏈接,軟鏈接:-s 源文件 目標文件 |
在ls結果的最左邊一列,是文件的inode值,你可以簡單把它想成C語言中的指針。它指向了物理硬盤的一個區塊,事實上文件系統會維護一個引用計數,只要有文件指向這個區塊,它就不會從硬盤上消失??梢钥吹?#xff0c;這兩個文件就如同一個文件一樣,inode值相同,都指向同一個區塊。
軟鏈接文件有類似于Windows的快捷方式。它實際上是一個特殊的文件。在符號鏈接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。
與硬鏈接不同的是,符號鏈接確實是一個新文件,當然它具有不同的I節點號;而硬鏈接并沒有建立新文件。
軟鏈接特點如下:
- 源文件和目標文件有不相同的inode及data block;
- 軟鏈接沒有硬鏈接的限制,可以對目錄文件做符號鏈接;
- 軟鏈接可以在不同文件系統之間做軟鏈接;
- 在目錄長列表中,符號鏈接作為一種特殊的文件類型顯示出來,其第一個字母是l;
- 符號鏈接的大小是其鏈接文件的路徑名中的字節數;
使用ls -li查看兩個文件的詳細信息,可以看到兩個文件的inode節點號不同,文件myLink的類型為l,可以看到myLink是指向文件testFile的,同時myLink文件的大小為8,正是文件名testFile的字符個數。
1.8 文件/目錄查找和定位
| Command | Analysis |
| locate [order] 文件/目錄 | 常用命令參數如下:-c, --count 只輸出找到的數量; -d, --database DBPATH 使用DBPATH指定的數據庫,而不是默認數據庫/var/lib/mlocate/mlocate.db; -i, --ignore-case 忽略大小寫; -q, --quiet 安靜模式,不會顯示任何錯誤訊息;-e, --existing顯示當前所存在文件條目 |
| updatedb 命令參數 | 常用參數如下:-o<文件>:忽略默認的數據庫文件,使用指定的slocate數據庫文件;-U<目錄>:更新指定目錄的slocate數據庫;-v:顯示執行的詳細過程; |
| which [order] | eg: which passwd |
| whereis [order] 文件名 | 常用命令參數如下:-b:只查找二進制文件;-B<目錄>:只在設置的目錄下查找二進制文件;-m:只查找說明文件;-M<目錄>:只在設置的目錄下查找說明文件;-s:只查找原始代碼文件;-S<目錄>只在設置的目錄下查找原始代碼文件; |
| find [dir] [-arg] content | 常用查找參數如下:-amin<+|-分鐘>:查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算;-atime<+|-24小時數>:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算;-cmin<+|-分鐘>:查找在指定時間之時被更改過的文件或目錄;ctime<+|-24小時數>:查找在指定時間之時被更改的文件或目錄,單位以24小時計算;-mmin<+|-分鐘>:查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算;-mtime<+|-24小時數>:查找在指定時間曾被更改過的文件或目錄,單位以24小時計算;-depth:從指定目錄下最深層的子目錄開始查找;-exec<執行指令>:假設find指令的回傳值為True,就執行該指令;-follow:排除符號連接;-gid<群組識別碼>:查找符合指定群組識別碼的文件或目錄;-group<群組名稱>:查找符合指定群組名稱的文件或目錄;-uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄;-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;-name<范本樣式>:指定字符串作為尋找文件或目錄的范本樣式;-iname<范本樣式>:此參數的效果和指定“-name”參數類似,但忽略字符大小寫的差別;-inum<inode編號>:查找符合指定的inode編號的文件或目錄;-newer<參考文件或目錄>:查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;-size<+|-|=文件大小>:查找符合指定的文件大小的文件;-type<文件類型>:只尋找符合指定的文件類型的文件;-a:是前后條件都要滿足;-o :是滿足一個條件就好;+:表示大于設置值的文件;- :表示小于設置值的文件;= :表示等于設置值的文件;-type 文件類型使用方法。常見文件類型:f:普通文件l:符號鏈接d:目錄c:字符設備b:塊設備s:套接字p:Fifo。size <+|-|=文件大小>使用方法,常見文件大小單位:b —— 塊(512字節)c —— 字節 w —— 字(2字節)k —— 千字節 M —— 兆字節 G —— 吉字節。-exec使用方法,具體使用方法如下:find … -exec 要執行的命令 {} ; -exec選項后面跟隨著所要執行的命令或腳本(針對找到的內容進行的操作),然后是一個空格一對兒{}一個空格和一個\;。注意:要執行的命令和{之間以及}與;之間的空格是不能省略的。 |
- 案例演示1:
搜索etc目錄下以pass開頭的文件或目錄,具體使用如下命令:
locate /etc/pass- 案例演示2:
搜索包含passwd字母的文件或目錄總個數,具體使用如下命令:
locate -c passwd- 案例演示3:
新創建一個testFile文件,更新locate數據庫后使用locate命令定位該文件,具體使用如下命令:
touch testFile locate testFile sudo updatedb locate testFile- 案例演示4:
刪除testFile文件,更新locate數據庫后使用locate命令定位該文件,具體使用如下命令:
rm testFile locate testFile sudo updatedb -U ./ locate testFile- 案例演示5:
使用whereis命令查找passwd命令所有信息,包括二進制文件位置、說明文件位置和源碼文件位置,具體使用如下命令:
whereis passwd- 案例演示6:
使用whereis命令僅查找passwd命令二進制文件位置,具體使用如下命令:
whereis -b passwd- 案例演示7:
查找/etc目錄下以my開頭以.conf結尾的文件或目錄,具體使用如下命令:
sudo find /etc -name "my*.conf"- 案例演示8:
查找/etc目錄下在超過7天前被訪問的文件或目錄,具體使用如下命令:
sudo find /etc -atime +7- 案例演示9:
查找/etc目錄下在5分鐘內被訪問的文件或目錄,具體使用如下命令:
sudo find /etc -amin -5- 案例演示10:
查找/etc目錄下以my開頭的目錄,具體使用如下命令:
sudo find /etc -name "my*" -a -type d- 案例演示11:
查找/etc目錄下大于1M的文件,具體使用如下命令:
sudo find /etc -size +1M- 案例演示12:
查找/etc目錄下大于1M的文件/目錄的詳細信息,具體使用如下命令:
sudo find /etc -size 1M -exec ls -l {} \;1.9 掛載
Knowledge:我們知道要將建立起來的磁盤文件系統或軟盤正式在Linux上啟用,一定要將它載入到文件系統中,而所謂的載入點,則是該分區所在的目錄,且該目錄下的所有目錄都歸該分區所有。
如果要用來載入的目錄非空,那么,載入了文件系統后,原目錄下的文件就會暫時消失。例如:假設/home原本是屬于根目錄下的分區,其中有/home/test與/home/bird兩個目錄,此時,我們想要加入新硬盤,直接載入/home中,那么,當載入新分區時,/home目錄顯示該分區中內容,原有的test與bird這兩個目錄就會被暫時隱藏起來,并不是被覆蓋掉,而是暫時隱藏,等分區被卸載后,該目錄的內容就會再次顯示。
| Command | Analysis |
| mount -order [設備文件名] -掛載點 | 常用命令參數:-r:將文件系統加載為只讀模式;-h:顯示幫助信息并退出;-t :指定文件系統類型;-o :描述設備的掛載方式;常用文件系統類型:光盤或光盤鏡像:iso9660;DOS fat16文件系統:msdos;Windows 9x fat32文件系統:vfat;Windows NT ntfs文件系統:ntfs;Mount Windows文件網絡共享:smbfs;UNIX(LINUX) 文件網絡共享:nfs;常用設備的掛載方式:loop:用來把一個文件當成硬盤分區掛接上系統;ro:采用只讀方式掛接設備;rw:采用讀寫方式掛接設備iocharset:指定訪問文件系統所用字符集 |
| umount -order - 掛載點 / 設備名 | 常用命令參數:-r:若無法成功卸除,則嘗試以只讀的方式重新掛入文件系統;-h:顯示幫助信息并退出; |
注意:通常在掛載設備時不需要指定文件系統類型,mount會自動選擇正確的類型。
執行權限:mount、amount必須以root權限才能執行,如果是普通用戶想執行mount時,需要在命令前加sudo命令來提升權限為root權限。
1.9.1 mount 命令
mount是 Linux 下的一個命令,它可以將分區掛接到 Linux 的一個文件夾下,從而將分區和該目錄聯系起來,因此我們只要訪問這個文件夾,就相當于訪問該分區了。
mount命令的最常用于掛載cdrom,使我們可以訪問cdrom中的數據,因為你將光盤插入cdrom中,早先 Linux 發行版并不會自動掛載,必須使用mount命令來手動完成掛載。
第一條命令是將/etc/passwd文件制作成一個iso鏡像文件;
第二條命令是創建一個掛載點;
第三條命令是將創建好的鏡像文件掛載到/home/vcdrom目錄下;
第四條命令是查看鏡像文件的內容;
1.8.2 umount 命令
umount命令用于卸載已經加載的文件系統。利用設備名或掛載點都能umount文件系統,不過最好還是通過掛載點卸載,以免使用綁定掛載(一個設備,多個掛載點)時產生混亂。
將上一個案例已經掛載好的鏡像文件(mydisk.iso)卸載,然后看到掛載點目錄內容。將鏡像文件從/home/vcdrom目錄卸載后,該目錄還原為原有的內容,即為空目錄。
二、其他系統版本
CentOS
黑客命令行(Kaili_Linux)
1. iwconfig Function:開啟無線網卡的電源,并且查找區域內的無線網卡。查看無線網卡詳細配置。 2. ifconfig3. ifconfig -a Function:顯示或配置網絡設備(網絡接口卡)的命令,并且獲取IP地址(如果使用DHCP的話), 配置網卡的IP地址語法例:ifconfig eth0 192.168.0.1 netmask 255.255.255.0。 4. ifconfig wlan0 up Function:激活(啟用)無線網卡。 5. rfkill block 0 Function:停用系統中第一個啟用RFKill的設備。 還可以使用 rfkill 阻斷某一類設備,或者所有啟用了RFKill的設備。 6. rfkill block wifi7. rfkill unblock wifi Function:停用獲啟用系統中的所有Wi-Fi設備。 8. rfkill help Function:獲得 rfkill 可停用的完整設備類別列表。 9. airmon-ng check 10. airmon-ng check kill Function:排查對之后一系列操作會有影響的進程。 11. airmon-ng start wlan0 Function:開啟無線網卡的監聽模式(notice:特殊網卡無需開啟)。 12. airodump-ng wlan0mon Function:使無線路由器開始監聽。 13. airodump-ng -c [channel] -w [store_filename(path)] --bssid [AP Mac] wlan0mon Function:獲取驗證數據包(握手信息),并且存入本地文件。 14. aireplay-ng -0 1 -a [AP Mac] -c [Client Mac] wlan0mon Function:開始攻擊,目的產生驗證數據包(握手包)。 15. aircrack-ng -w [passwdfile] [capfile] Function:抓到驗證數據包(握手信息)后開始密碼破解。Notice:AP ARP協議 攻擊 Mac 不變 IP 變
他的Mac地址 加我的IP地址 讓它(路由器)誤認為我是他
技術應用
三、框架
1. Docker(容器)
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker 從 17.03 版本之后分為 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版)
總結
以上是生活随笔為你收集整理的Linux 电脑系统基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: picGo使用说明
- 下一篇: 【系统架构】原型图的认识