1、 Linux 的目錄結構
1.1目錄樹
1.2目錄文件作用
1.3目錄總結
1) linux 的目錄中有且只要一個根目錄 /
2) linux 的各個目錄存放的內容是規劃好,不用亂放文件。
3) linux 是以文件的形式管理我們的設備,因此 linux 系統,一切皆爲文件。
尚硅谷 Linux 課程
更多 Java –大數據 –前端 –python 人工智能資料下載,可訪問百度:尚硅谷官網
第 19頁
4) linux 的各個文件目錄下存放什麼內容,大家必須有一個認識。
5) 學習後,你腦海中應該有一顆linux 目錄樹。
2、遠程登錄Lunix
1) linux 服務器是開發小組共享的.
2) 正式上線的項目是運行在公網的.
3) 因此程序員需要遠程登錄到centos 進行項目管理或者開發.
4) 畫出簡單的網絡拓撲示意圖(幫助理解)
5) 遠程登錄客戶端有 Xshell5, Xftp5 , 我們學習使用 Xshell5 和 Xftp , 其它的遠程工具大同小異。
3、實操篇 vi 和vim 編輯器
3.1 vi 和 vim 的三種常見模式
3.1.1正常模式
在正常模式下,我們可以使用快捷鍵。
以 vim 打開一個檔案就直接進入一般模式了(這是默認的模式)。在這個模式中,你可以使用『上
下左右』按鍵來移動光標,你可以使用『刪除字符』或『刪除整行』來處理檔案內容, 也可以使用
『複製、貼上』來處理你的文件數據。
3.1.2插入模式/編輯模式
在模式下,程序員可以輸入內容。
按下 i, I, o, O, a,A, r, R 等任何一個字母之後纔會進入編輯模式, 一般來說按 i 即可
3.1.3命令行模式
在這個模式當中, 可以提供你相關指令,完成讀取、存盤、替換、離開 vim 、顯示行號等的動作則是在此模式中達成的!
3.2三種模式的轉換
3.3常用快捷鍵
1) 拷貝當前行 yy , 拷貝當前行向下的 5 行 5yy,並粘貼(p)。
2) 刪除當前行 dd , 刪除當前行向下的 5 行 5dd
3) 在文件中查找某個單詞 [命令行下 /關鍵字, 回車 查找 , 輸入 n 就是查找下一個 ],查詢
hello.
4) 設置文件的行號,取消文件的行號.[命令行下 : set nu 和 :set nonu]
5) 編輯 /etc/profile 文件,使用快捷鍵到底文檔的最末行[G]和最首行[gg],注意這些都是在正常模式下執行的。
6) 在一個文件中輸入 "hello" ,然後又撤銷這個動作,再正常模式下輸入 u
7) 編輯 /etc/profile 文件,並將光標移動到 第 20 行 shift+g
第一步:顯示行號 :set nu
第二步:輸入 20 這個數
第三步: 輸入 shift+g
3.4快捷鍵一覽圖
4、用戶管理
4.1、開機、重啓和用戶登錄註銷
shutdown
shutdown -h now: 表示立即關機
shutdown -h 1 : 表示 1 分鐘後關機
shutdown -r now:立即重啓
halt
就是直接使用,效果等價於關機
reboot
就是重啓系統。
syn
把內存的數據同步到磁盤
切換用戶|切換到超管
Su用戶名|exit
注:當我們關機或者重啓時,都應該先執行以下 sync 指令,把內存的數據寫入磁盤,防止數據丟失。
用戶註銷
Logout
4.2用戶管理
1) Linux 系統是一個多用戶多任務的操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。
2) Linux 的用戶需要至少要屬於一個組。
4.2.1添加用戶
1、語法:useradd [選項] 用戶名
2、添加用戶且切換到其它目錄
Useradd -d /home/dog xq
4.2.2用戶指定或者密碼修改
1、passwd 用戶名
4.2.3 刪除用戶
1、刪除用戶但要保留家目錄:userdel用戶名
2、刪除用戶以及用戶主目錄:userdel-r 用戶名
4.3查詢用戶信息
Id 用戶名
4.4切換用戶
Su – 用戶名
5、用戶組管理
5.1增加組 groupadd 組名
5.2 刪除組 groupdel 組名
5.3 增加用戶時直接加上組 useradd-g 用戶組 用戶名
5.4 修改用戶的組 usermod-g 用戶組 用戶名
5.5 /etc/passwd 文件
用戶(user)的配置文件,記錄用戶的各種信息
每行的含義:用戶名:口令:用戶標識號:組標識號:註釋性描述:主目錄:登錄 Shell
5.6 /etc/shadow 文件
口令的配置文件
每行的含義:登錄名:加密口令:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動
時間:失效時間:標誌
5.7 /etc/group 文件
組(group)的配置文件,記錄Linux 包含的組的信息
每行含義:組名:口令:組標識號:組內用戶列表
6、實用指令
0 :關機
1 :單用戶【找回丟失密碼】
2:多用戶狀態沒有網絡服務
3:多用戶狀態有網絡服務
4:系統未使用保留給用戶
5:圖形界面
6:系統重啓
常用運行級別是 3 和 5 ,要修改默認的運行級別可改文件
/etc/inittab 的id:5:initdefault:這一行中的數字
6.1 如何找回root密碼
如何找回 root 密碼,如果我們不小心,忘記 root 密碼,怎麼找回。
思路: 進入到 單用戶模式,然後修改 root 密碼。因爲進入單用戶模式,root 不需要密碼就可以登錄。
演示一把(注意觀察):
開機->在引導時輸入 回車鍵-> 看到一個界面輸入 e -> 看到一個新的界面,選中第二行(編輯內核)在輸入 e-> 在這行最後輸入 1 ,再輸入 回車鍵->再次輸入 b ,這時就會進入到單用戶模式。
這時,我們就進入到單用戶模式,使用 passwd 指令來修改 root 密碼。
7、幫助指令
7.1 man 獲得幫助信息
7.2 help 指令
8、文件目錄類
8.1 pwd 指令 顯示當前目錄
8.2 ls 指令
基本語法 ls [選項] [目錄或是文件]
常用選項-a :顯示當前目錄所有的文件和目錄,包括隱藏的。
-l :以列表的方式顯示信息
8.3 cd 指令
8.4 mkdir 指令 mkdir[選項] 要創建的目錄
8.5 mkdir 指令 mkdir-p /home/macx/mcx
8.6 rmdir 指令 rmdir 目錄名 只能刪除空目錄非空目錄無法刪除
8.7 rm -rf /home/macx/mcx 刪除非空目錄
8.8 touch 文件名稱 可創建多個文件 如:touch 1.txt 2.txt
8.9 cp [選項] sourcedest
常用選項 -r :遞歸複製整個文件夾
例:cp -r home/ FMS/
8.10 rm 指令移除【刪除】文件或目錄
rm [選項] 要刪除的文件或目錄
-r :遞歸刪除整個文件夾
-f : 強制刪除不提示
將 rm /home/aaa.txt刪除
遞歸刪除整個文件夾 rm /home/bbb
強制刪除不提示的方法:帶上 -f參數即可
8.11 mv指令
mv 移動文件與目錄或重命名
mv oldNameFilenewNameFile (功能描述:重命名)
mv/temp/movefile /targetFolder (功能描述:移動文件)
案例 1: 將 /home/aaa.txt 文件 重新命名爲 pig.txt
案例 2: 將 /home/pig.txt 文件 移動到 /root 目錄下
8.12 cat指令
cat 查看文件內容,是以只讀的方式打開。
cat [選項] 要查看的文件
-n :顯示行號
案例 1: /etc/profile 文件內容,並顯示行號
cat 只能瀏覽文件,而不能修改文件,爲了瀏覽方便,一般會帶上管道命令 | more
cat 文件名 | more [分頁瀏覽]
cat -n /etc/profile more
8.13 more指令
8.14 less指令 | 對於顯示大型文件具有較高的效率
Less 要查看的文件
8.15 >指令 >>指令
> 輸出重定向 : 會將原來的文件的內容覆蓋
>> 追加: 不會覆蓋原來文件的內容,而是追加到文件的尾部。
ls -l >文件 (功能描述:列表的內容寫入文件 a.txt 中(覆蓋寫))
ls -al >>文件 (功能描述:列表的內容追加到文件 aa.txt 的末尾)
cat 文件 1 > 文件 2(功能描述:將文件 1 的內容覆蓋到文件 2)
案例:將 /home 目錄下的文件列表 寫入到 /home/info.txt 中
Ls -l /home/ > /home/info.txt
將當前日曆信息追加到 /home/mycal 文件中 [提示 cal ]
8.16 echo 指令
echo [選項] [輸出內容]
8.17 head 指令
head 文件 (功能描述:查看文件頭 10 行內容)
head -n 5 文件 (功能描述:查看文件頭 5 行內容,5 可以是任意行數)
8.18 tail 指令
1)tail 文件 (功能描述:查看文件後 10 行內容)
2) tail -n 5 文件(功能描述:查看文件後 5 行內容,5 可以是任意行數)
3) tail -f 文件(功能描述:實時追蹤該文檔的所有更新,工作經常使用)
8.18 ln 指令
案例 1: 在/home 目錄下創建一個軟連接 linkToRoot,連接到 /root 目錄
ln -s/root linkToRoot
案例 2: 刪除軟連接 linkToRoot
Rm -rf linkToRoot
8.19 history 指令
案例 1: 顯示所有的歷史命令 history
案例 2: 顯示最近使用過的 10 個指令 history 10
案例 3:執行歷史編號爲 5 的指令 !5
8.20 時間日期類
1)date (功能描述:顯示當前時間)
2) date +%Y (功能描述:顯示當前年份)
3) date +%m (功能描述:顯示當前月份)
4) date +%d (功能描述:顯示當前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:顯示年月日時分秒)
6) date 指令-設置日期 date-s 字符串時間
8.21 cal指令
案例 1: 顯示當前日曆 cal
案例 2: 顯示 2020 年日曆 cal 2020
8.22 find 指令
案例1: 按文件名:根據名稱查找/home 目錄下的hello.txt 文件
find /home -name hello.txt
案例2:按擁有者:查找/opt 目錄下,用戶名稱爲 nobody 的文件
find /opt -user nobody
案例3:查找整個 linux 系統下大於 20m 的文件(+n 大於 -n 小於 n 等於)
find / -size +20m
案例 4:查詢 / 目錄下,所有 .txt 的文件
Find / -name *.txt
8.23 location 指令
由於locate 指令基於數據庫進行查詢,所以第一次運行前,必須使用 updatedb 指令創建 locate 數據庫。
案例 1: 請使用 locate 指令快速定位 hello.txt 文件所在目錄
locate hello.txt
8.24 grep 指令和 管道符號 | grep [選項] 查找內容源文件
案例 1: 請在 hello.txt文件中,查找 "yes" 所在行,並且顯示行號
cat /home/info.txt | grep -n yes