linux 學習筆記

2020-08-08 14:10:34

linux流程:

在这里插入图片描述
記住一句經典的話: 在Linux世界裏,一切皆檔案.

基本目錄結構
在这里插入图片描述
/bin[重點] 是Binary的縮寫,這個目錄存放着最經常使用的命令

/home[重點] 存放普通使用者的主目錄,在Linux中每個使用者都有一個自己的目錄,一般該目錄名是以使用者的賬號命名的

/root[重點] 該目錄爲系統管理員,也稱作超級許可權者的使用者主目錄

/boot[重點] 存放的是啓動Linux時使用的一些核心檔案,包括一些連線檔案以及映象檔案

/media[重點] linux系統會自動識別一些裝置,例如U盤、光碟機等等,當識別後,linux會把識別的裝置掛載到這個目錄下

/mnt[重點] 系統提供該目錄是爲了讓使用者臨時掛載別的檔案系統的,我們可以將外部的儲存掛載在/mnt/上,然後進入該目錄就可以檢視裡的內容了 例: d:/myshare

/usr/local[重點] 這是另一個給主機額外安裝軟體所安裝的目錄。一般是通過編譯原始碼方式安裝的程式。

/var[重點] 這個目錄中存放着在不斷擴充着的東西,習慣將經常被修改的目錄放在這個目錄下。包括各種日誌檔案

/sbin s 是Super User的意思,這裏存放是系統管理員使用的系統管理程式

/proc 這個目錄是一個虛擬的目錄,它是系統記憶體的對映,存取這個目錄來獲取系統資訊

/srv service縮寫,該目錄存放一些服務啓動之後需要提取的數據

/sys 這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個檔案系統

/tmp 這個目錄是用來存放一些臨時檔案的

/dev 類似於windows的裝置管理器,把所有的硬體用檔案的形式儲存

/opt 這是給主機額外安裝軟體所擺放的目錄。如安裝ORACLE數據庫就可放到該目錄下。 預設爲空

/selinux[security-enhanced linux] 360 SELinux是一種安全子系統,它能控製程式只能存取特定檔案。

總結 ** linux的目錄中有且只要一個根目錄**

**

vi和vim編輯器

在这里插入图片描述
拷貝當前行: yy 拷貝當前行向下的5行 : 5yy , 貼上 : p

刪除當前行: dd 刪除當前行向下的5行 : 5dd

查詢某個單詞: 命令模式下 /單詞 回車 輸入 n 就是查詢下一個

設定檔案的行號 : :set nu 取消檔案的行號: :set nonu 注意 冒號

快捷鍵到文件的最末行: G 最首行: gg

編輯模式下輸入了"hello" , 正常模式下輸入 u 可以復原輸入內容

遊標移動到 某一行 1. 顯示行號 :set nu 2. 輸入 20 這個數 3. 輸入 shift+g

vim 和 vi 的快捷鍵鍵盤一覽圖
在这里插入图片描述

開機、重新啓動和使用者登錄註銷

關機、重新啓動
shutdown
shutdown -h now : 表示立即關機
shutdown -h 1 : 表示1分鐘後關機
shutdown -r now : 立即重新啓動

halt 直接使用, 效果等價於關機

reboot 重新啓動系統

syn 把記憶體的數據同步到磁碟
注意: 關機或重新啓動時,都應該先執行下sync指令,把記憶體的數據寫入磁碟,防止數據丟失

使用者登錄和註銷
root最高許可權賬號登錄時: su - 使用者名稱 切換管理員

logout 註銷使用者
注意: logout 註銷指令在圖形執行級別無效, 在 執行級別 3 下有效

新增使用者
useradd [選項] 使用者名稱 例: useradd xm
useradd -d 指定目錄 新的使用者名稱,給新建立的使用者指定家目錄
例 useradd -d(指定目錄) /home/dog xq

指定或修改密碼
passwd 使用者名稱

刪除使用者
userdel 使用者名稱 刪除使用者xm,但會保留家目錄
userdel -r 使用者名稱 刪除使用者以及使用者主目錄
注意:一般不會將家目錄刪除,儲存該使用者儲存的一些數據

查詢使用者資訊
id 使用者名稱
在这里插入图片描述
切換使用者
su - 使用者名稱
在这里插入图片描述
注意: 高許可權使用者切換到低許可權的使用者, 不需要輸入密碼, 反之需要
當需要返回到原來使用者時,使用exit指令

使用者組
增加組
groupadd 組名 例: groupadd wudang

刪除組
groupdel 組名

增加使用者時直接加上組
useradd -g 使用者組 使用者名稱
在这里插入图片描述
修改使用者的組
usermod -g 使用者組 使用者名稱
在这里插入图片描述
組態檔
/etc/passwd 檔案
使用者(user)的組態檔, 記錄使用者的各種資訊
每行的含義: 使用者名稱: 口令: 使用者標識號: 組標識號: 註釋性描述: 主目錄: 登錄 Shell
在这里插入图片描述
/etc/shadow 檔案
口令的組態檔
每行的含義: 登錄名:加密口令: 最後一次修改時間: 最小時間間隔: 最大時間間隔: 警告時間:不活動時間: 失效時間: 標誌

/etc/group 檔案
組(group) 的組態檔, 記錄Linux包含的組的資訊
每行含義: 組名: 口令: 組標識號: 組內使用者列表
在这里插入图片描述

實用指令

執行級別
在这里插入图片描述
在这里插入图片描述
切換到指定執行級別的指令
init [012356] 4爲保留(沒用) 1 執行級別可以找回丟失的root密碼
在这里插入图片描述
找回root密碼在这里插入图片描述

幫助指令 (不會可以直接百度)
man [命令或組態檔] (功能描述:獲得幫助資訊) 例:man ls

help 命令 (功能描述: 獲得shell內建命令的幫助資訊) 例:help cd
在这里插入图片描述
檔案目錄類
pwd (功能描述:顯示當前工作目錄的絕對路徑)

ls [選項] [目錄或是檔案]
選項:
-a : 顯示當前目錄所有的檔案和目錄, 包括隱藏的
-l : 以列表的方式顯示資訊

cd 路徑 (功能描述: 切換到指定目錄)

mkdir [選項] 要建立的目錄
選項: -p : 建立多級目錄

rmdir [選項] 要刪除的目錄 (功能描述:指令刪除空目錄)
注意: 如果需要刪除非空目錄,需要使用 rm -rf 要刪除的目錄
在这里插入图片描述
touch 指令 (功能描述: 建立空檔案)
touch 檔名稱 注: 可一次建立多個檔案

cp [選項] 原檔案路徑 目標路徑 (功能描述: 拷貝檔案到指定目錄)
選項: -r : 遞回複製整個資料夾
細節: 強制覆蓋不提示的方法: \cp
在这里插入图片描述
rm [選項] 要刪除的檔案或目錄 (功能描述: 移除【刪除】檔案或目錄)
選項:-r : 遞回刪除整個資料夾 -f: 強制刪除不提示

mv 原檔案路徑 目標檔案路徑 (功能描述: 重新命名/移動檔案)
注: 移動到同一個路徑下爲重新命名, 移動到其他路徑下爲移動檔案

cat [選項] 要檢視的檔案 (功能描述: 檢視檔案內容,以只讀的方式開啓)
選項:-n : 顯示行號
細節: cat 只能瀏覽檔案,不能修改檔案, 爲了瀏覽方便,一般會帶上 管道命令 | more
cat [選項] 檔名 | more (分頁瀏覽)

more 要檢視的檔案 (功能描述: 以全螢幕幕的方式按頁顯示文字檔案的內容)
快捷鍵:
在这里插入图片描述

less 要檢視的檔案 (功能描述: 分屏檢視檔案內容, 功能與more指令類似,但比more指令更加強大, 不是一次將整個檔案載入之後才顯示,而是根據顯示需要來載入內容,對於顯示大型檔案具有較高的效率)
快捷鍵:
在这里插入图片描述
指令 > 和 指令 >>
輸出重定向 > : 會將原來的檔案內容覆蓋
追加 >> : 不用覆蓋原來檔案的內容, 而是追加到檔案的尾部
例(1): ls -l > 檔案 (功能描述: 當前列表內容覆蓋的寫入檔案中)
說明: ls -l > a.txt , 將 ls -l 的顯示的內容覆蓋寫入到a.txt檔案,如果該檔案不存在,就建立該檔案
例(2) : ls -al >> 檔案 (功能描述: 列表的內容追加到檔案的末尾)
例(3) : cat 檔案1 > 檔案2 (功能描述: 將檔案1的內容覆蓋到檔案2)
例(4) : echo 「內容」 >> 檔案 (功能描述:將字串中的內容追加到檔案中)

echo [選項] 輸出內容到控制檯
例: echo 「hello,world」
echo $PATH 輸出PATH環境變數

head 檔案 (功能描述: 檢視檔案頭10行內容)
head -n 5 檔案 (功能描述:檢視檔案頭5行內容, 5可以是任意行數)

tail 檔案 (功能描述: 檢視檔案後10行內容)
tail -n 5 檔案 (功能描述:檢視檔案後5行內容, 5可以是任意行數)
tail -f 檔案 (功能描述: 實時追蹤該文件的所有更新,工作經常使用)

ln -s [原檔案或目錄] ,[軟鏈接名] (功能描述: 給原檔案建立一個軟鏈接)
在这里插入图片描述
rm -rf [軟鏈接名] 注: 在刪除軟鏈接檔案時,不要帶 / , 否則提示,資源忙
在这里插入图片描述
細節: 當我們使用pwd指令檢視目錄時, 仍然看到的是軟鏈接所在的目錄

history (功能描述: 檢視已經執行過的歷史命令)
例 : history 10 檢視最近使用過的10個指令
!178 執行編號爲178的指令

顯示時間
date (功能描述: 顯示當前時間)
date + %Y (功能描述: 顯示當前年份)
date + %m (功能描述: 顯示當前月份)
date + %d (功能描述: 顯示當前是哪一天)
date 「+ %Y-%m-%d %H:%M:%S" (功能描述: 顯示當前時間)

設定時間
date -s 字串時間
在这里插入图片描述
cal [年份] (功能描述: 不加年份,顯示本月日曆, 加了年份,顯示該年月曆)

find [搜尋範圍] ,[選項] 查詢內容 (功能描述: 將從指定目錄向下遞回地遍歷其各個子目錄,將滿足條件的檔案或者目錄顯示在終端)
選項:
-name : 按照指定的檔名查詢模式查詢檔案
-user : 查詢屬於指定使用者名稱所有檔案
-size : 按照指定的檔案大小查詢檔案
在这里插入图片描述
locate 搜尋檔案 (功能描述: 可以快速定位檔案路徑, 利用事先建立的系統中所有檔名稱及路徑的locate數據庫實現快速定位給定的檔案, 無需遍歷整個檔案系統,查詢速度較快。 爲了保證查詢結果的準確度,管理員必須定期更新locate時刻)

在这里插入图片描述

grep 過濾查詢, 」|「 管道符 , 表示將前一個命令的處理結果輸出傳遞給後面的命令處理
grep [選項] 查詢內容 原始檔
選項:
-n : 顯示匹配行及行號
-i : 忽略字母大小寫
在这里插入图片描述

gzip 檔案 壓縮檔案 (功能描述: 壓縮檔案,只能將檔案壓縮爲*.gz檔案)
gunzip 檔案.gz (功能描述: 解壓縮檔案命令)
細節: 當我們使用gzip 對檔案進行壓縮後,不會保留原來的檔案

zip, unzip 在專案打包發佈中很有用
zip [選項] XXX.zip (功能描述: 壓縮檔案和目錄的命令)
選項: -r : 遞回壓縮, 即壓縮目錄

在这里插入图片描述

unzip [選項] XXX.zip 要壓縮的路徑或檔案 (功能描述: 解壓縮檔案)
選項: -d<目錄> : 指定解壓後檔案的存放目錄

在这里插入图片描述
tar [選項] XXX.tar.gz 打包的內容 (功能描述: 打包目錄, 壓縮後的檔案格式.tar.gz)
選項:
-c : 產生 .tar 打包檔案
-v : 顯示詳情資訊
-f : 指定壓縮後的檔名
-z : 打包同時壓縮
-x : 解包 .tar 檔案
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
指定解壓到的那個目錄, 事先要存在才能 纔能成功, 否則會報錯

組管理和許可權管理

在这里插入图片描述
檔案/目錄 所有者 : 一般爲檔案的建立者,誰建立了該檔案,就自然的成爲該檔案的所有者(一般情況)
ls -ahl 檢視檔案的所有者, 檢視檔案或目錄所在組

chown 使用者名稱 檔名 (功能描述: 修改檔案所有者)

groupadd 組名 (功能描述: 組的建立)

chgrp 組名 檔名 (功能描述:修改檔案所在的組)


root使用者的管理許可權可以改變某個使用者所在的組
usermod -g 組名 使用者名稱 (功能描述: 改變使用者所在組)
usermod -d 目錄名 使用者名稱 (功能描述: 改變該使用者登陸的初始目錄)

許可權的基本介紹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改許可權 – chmod (功能描述: 可以修改檔案或者目錄的許可權)
u:所有者 g:所有組 o :其他人 a : 所有人 (u、g、o的總和)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
chown 新檔案所有者 檔名 (功能描述: 改變檔案的所有者0)
chown 新檔案所有者 : 新的所有組 檔名 (功能描述: 改變使用者的所有者和所有組)
-R : 如果是目錄 , 則使其下所有子檔案或目錄遞回生效
在这里插入图片描述
chgrp 新的所有組 檔名 ( 功能描述:改變檔案的所有組)

crond任務排程:

指定系統在某個時間執行特定的命令或程式
在这里插入图片描述
任務排程分類: 1. 系統工作: 有些重要的工作必須周而復始地執行。 如病毒掃描等
2. 個別使用者工作: 個人用戶可能希望執行某些程式, 比如對mysql數據庫備份

crontab [選項]
選項:
-e : 編輯crontab定時任務
-l : 查詢crontab 任務
-r : 刪除當前使用者所有的crontab任務
在这里插入图片描述
參數說明
在这里插入图片描述
在这里插入图片描述

Linux磁碟分割區、掛載
lsblk -f : 檢視系統的分割區和掛載的情況
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
df -lh : 檢視系統整體磁碟使用情況
du -h /目錄 : 查詢指定目錄的磁碟佔用情況, 預設爲當前目錄
-s : 指定目錄佔用大小彙總
-h : 帶計量單位
-a : 含檔案
–max-depth=1 :子目錄深度
在这里插入图片描述
在这里插入图片描述

網路設定

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

進程管理

檢視進程使用的指令是 ps , 一般來說使用的參數是 ps -aux
ps显示的信息选项:
在这里插入图片描述
在这里插入图片描述
ps -ef : 以全格式顯示當前的所有的進程
-e : 顯示所有進程 -f : 全格式
在这里插入图片描述

終止進程 kill 和 killall
kill [選項] 進程號 (功能描述: 通過進程號殺死進程)
killall 進程名稱 (功能描述: 通過進程名稱殺死進程,也支援萬用字元, 這在系統因負載過大而變得很慢時很有用)
選項 : -9 : 表示強迫進程立即停止

pstree [選項] ,可以更加直觀的來看進程資訊
-p : 顯示進程的PID
-u : 顯示進程的所屬使用者

服務(service)本質就是進程;但是是執行在後台的,通常都會監聽某個埠,等待其它程式的請求,比如(mysql。sshd防火牆等), 因此我們又稱爲守護行程,是Linux中非常重要的知識點。
在这里插入图片描述
service 服務名[start | stop| restart reload | status]
在CentOS7.0後不再使用service ,而是systemctl
在这里插入图片描述
在这里插入图片描述

檢視服務名
ls -l /etc/init.d/ 列出系統有哪些服務

linux開機流程說明
在这里插入图片描述
chkconfig 命令可以給每個服務的各個執行級別設定自啓動/關閉
語法: 檢視服務 : chkconfig --list | grep xxx
chkconfig 服務名 --list
chkconfig --level 5 服務名 on/off
在这里插入图片描述
在这里插入图片描述
動態監控進程
top和ps 命令很相似,它們都用來顯示正在執行的進程。Top與ps最大的不同之處,在於top在執行一段時間可以更新正在執行的進程

top [選項]
選項: -d 秒數 :指定top命令每隔幾秒更新,預設是3秒在top命令的互動模式當中可以執行的命令
-i : 使top不顯示任何閒置或者僵死進程
-p : 通過指定監控進程ID來僅僅監控某個進程的狀態
互動操作說明:
P : 以CPU使用率排序, 預設就是此項
M : 以記憶體的使用率排序
N : 以PID排序
q : 退出top

檢視系統網路情況 netstat(重要)
netstat [選項]
netstat -anp
選項說明:
-an : 按一定順序排列輸出
-p : 顯示哪個進程在呼叫

RPM 和 YUM
在这里插入图片描述
rpm 包的簡單查詢指令
rpm -qa | grep xx : 查詢已安裝的rpm列表
rpm -qa : 查詢所安裝的所有rpm軟體包
rpm -qa | more [分頁顯示]
rpm -qa | grep X [rpm -qa | grep firefox ]
rpm -q 軟體包名 :查詢軟體包是否安裝 例: rpm -q firefox
rpm -qi 軟體包名 : 查詢軟體包資訊
rpm -ql 軟體包名: 查詢軟體包中的檔案