日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

B站韩顺平版Linux学习笔记(很全啊!)

發布時間:2023/12/9 linux 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 B站韩顺平版Linux学习笔记(很全啊!) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

老韓學習視頻跳轉

一、Linux概述

unix和LInux的關系

LInux的應用領域

服務器領域

  • Linux在服務器領域的應用是最強的

  • LInux免費、穩定、高效等特點在這里得到了很好的體現,尤其是在一些高端領域尤為廣泛

嵌入式領域

  • linux運行穩定、對網絡的良好支持性、低成本,且可以根據需要進行網絡裁剪,內核最小可達到幾百kb的特點,使近些年來在嵌入式領域的應用得到非常大的提高
  • 主要應用:機頂盒、數字電視、網絡電話、程控交換機、手機、PDA、智能家居、智能硬件等都是其應用領域。以后在物聯網中應用會更加廣泛。

LInux的吉祥物

  • 名稱:tux

Linux主要的發行版本

Ubuntu(烏班圖)、RedHat(紅帽)、CentOS


vm與Linux的關系

VMware網絡連接的三種模式

橋接模式

  • VMWare會虛擬一塊網卡和真正的物理網卡就行橋接,這樣,發到物理網卡的所有數據包就到了VMWare虛擬機,而由VMWare發出的數據包也會通過橋從物理網卡的那端發出。橋接網絡是指本地物理網卡和虛擬網卡通過VMnet0虛擬交換機進行橋接。相當于在一個局域網內創立了一個單獨的主機,他可以訪問這個局域網內的所有的主機

  • 該模式下主機網卡和虛擬機網卡的IP地址處于同一個網段,子網掩碼、網關、DNS等參數都相同

  • 橋接模式下虛擬機和主機在網絡上地位相等,可以理解為一臺新的電腦

NAT模式

  • 虛擬系統會通過真實主機的網絡來訪問外網,而真實主機相當于有兩個網卡:真實網卡和虛擬網卡,真實網卡相當于鏈接了現實世界的真實路由器,而虛擬網卡相當于鏈接一個虛擬交換機/路由器(這個虛擬交換機同時鏈接虛擬機和真實主機),此時虛擬機想訪問外網就必須通過真實主機IP地址,而外面看來也確實是真實主機的IP地址,實則是虛擬機訪問的,完全看不到虛擬網絡局域的內部形式。

  • 網絡地址轉換模式。虛擬機系統可以和外部系統通訊,不早造成IP沖突

主機模式

  • 他就是一個獨立的系統,不和外界發生聯系

二、Linux目錄結構(重點)

2.1基本介紹

  • linux的文件系統是采用級層式的樹狀目錄結構,在此結構上的最上層是根目錄“/",然后在此目錄下在創建其他的目錄。
  • 深刻理解linux樹狀文件目錄是非常重要的
  • 記住一句很經典的話:在LInux世界里,一切皆文件

2.2具體的目錄結構

  • /bin 【常用】(/usr/bin、/uer/local/bin)

    是Binary的縮寫,這個目錄存放著最常使用的命令

  • /sbin (/usr/sbin、/usr/local/sbin)

    s就是Super user的意思,這里存放的是系統管理員使用的系統管理程序

  • /home 【常用】

    存放普通用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般該目錄是以用戶的賬號命名

  • /root 【常用】

    該目錄為系統管理員,也稱作超級權限者的用戶主目錄

  • /lib 系統開機所需要的最基本的動態鏈接共享庫,起作用類似于Windows里的DLL文件。幾乎所有的應用程序都需要用到這些共享庫

  • /lost+found 這個目錄一般情況下是空的,當系統非法關機后,這里就存放了一些文件

  • etc 【常用】

    所有的系統管理所需要的配置文件和子目錄,比如安裝mysql數據庫,my.conf

  • /usr 【常用】

    這是一個非常重要的目錄,用戶很多應用程序都放在這個目錄下,類似于windows下的program files目錄。

  • /boot 【常用】

    存放的是啟動Linux時使用的一些核心文件,包括一些鏈接文件以及鏡像文件

  • /proc 這個目錄是一個虛擬的目錄,他是系統內存的映射,訪問這個目錄來獲取系統信息

  • /srv service縮寫,該目錄存放一些服務器啟動后需要提取的數據

  • /sys 這是linux2.6內核的一個很大的變化,該目錄下安裝了2.6內核中新出現的一個文件系統sysfs

  • /tmp這個目錄是用來存放一些臨時文件的

  • /dev

    類似于windows的設備管理器,把所有的硬件用文件的形式存儲

  • /media【常用】linux系統會自動識別一些設備,例如U盤,光驅等等,當識別后,linux會把識別的設備掛載到這個目錄下

  • /mnt 【常用】

    系統提供該目錄是為了讓用戶臨時掛載別的系統文件,我們可以將外部的存儲掛載在/mnt/上,然后進入該目錄就可以查看里面的內容了。D:/mushare

  • /opt 這是給主機額外的安裝軟件所存放的目錄。如安裝ORACLE數據庫就可以放到該目錄下。默認為空

  • /usr/local【常用】

    這是另一個給主機額外安裝軟件所安裝的目錄。一般是通過編譯源碼的方式安裝的程序

  • /var 【常用】

    這個目錄中存放著在不斷擴充的東西 ,習慣的將經常修改的目錄放在這個目錄下。包括各種日志文件

  • /selinux 【security-enhanced linux】

    SELinux是一種安全子系統,他能控制程序自能訪問特定的文件,有三種工作模式,可以自行設置


三、vi和vim編輯器

3.1 vi和vim的基本介紹

Linux系統會內置vi文本編輯器

Vim具有程序編輯的能力,可以看做是Vi的增強版本,可以主動的以字體顏色辨別語法的正確性,方便程序設計。代碼補完、編譯錯誤跳轉等方便編程的功能相當豐富,在程序員中被廣泛使用。(vim就是vi的增強版)

3.2 vi和vim常用的三種模式

  • 正常模式

以vim打開一個檔案就直接進入一般模式了(這是默認的模式)。在這個模式中,可以使用【上下左右】鍵來移動光標,你可以使用【刪除字符】或【刪除整行】來處理檔案內容,也可以使用【復制、粘貼】來處理你的文件數據。

  • 插入模式

按下i,I,o,O,a,A,r,R等任何一個字母之后才會進入編輯模式,一般來說按i就可

  • 命令行模式

在這個模式中,可以提供你相關指令,完成讀取、存盤、替換、離開vim、顯示行號等動作則是在此模式中達成的!

四、LInux開機,重啟和用戶登錄注銷

4.1關機和重啟的命令

  • 基本介紹
shutdown -h now 立刻進行關機 shutdown -h 1 ”hello,1分鐘后會關機了“ shutdown -r now 現在重新啟動計算機 halt 關機 reboot 重新啟動 syn 把內存的數據同步到磁盤
  • 注意細節

1.不管是重啟系統還是關閉系統,首先要運行sync命令,把內存中的數據寫到磁盤中

2.目前的shutdown/reboot/halt等命令均已在關機前進行了sync

4.2用戶登錄和注銷

  • 基本介紹

1、登陸時盡量少用root賬號登錄,因為他是系統管理員,最大的權限,避免操作失誤??梢岳闷胀ㄓ脩舻卿?#xff0c;登陸后再用”su - 用戶名“命令來切換成系統管理員身份

2、在提示符下輸入logout即可注銷用戶

  • 使用細節

logout注銷指令在圖形運行級別無效,在shell界面有效

五、用戶管理

5.1基本介紹

Linux系統是一個多用戶多任務的操作系統,任何一個要使用系統資源的用戶,都必須先向系統管理員申請一個賬號,然后以這個賬號的身份進入系統


5.2添加用戶

  • 基本語法
useradd 用戶名
  • 實列(root權限下)
useradd hucheng 添加一個用戶chucheng,默認該用戶的家目錄在/home/hucheng
  • 細節說明
1、當用戶創建成功后果,會自動的創建和用戶同名的家目錄 2、也可以通過useradd -d 指定目錄 新的用戶名 來給新創建的用戶指定家目錄

新建用戶zhanzhiwen的home目錄下的文件夾名稱是muluming

5.3指定/修改密碼

  • 基本語法
passwd 用戶名
  • 實例

  • 補充,顯示當前用戶所在的目錄pwd

5.4 刪除用戶

  • 基本語法
userdel 用戶名 userdel -r 用戶名
  • 實例

1.刪除用戶zhanzhiwen,但是要保留目錄

2.刪除用戶以及用戶主目錄 ,userdel -r 用戶名


5.5查詢用戶信息指令

  • 基本語法
id 用戶名
  • 實列

  • 細節說明

當用戶不存在是,返回無此用戶

5.6切換用戶

  • 介紹

在操作Linux時,如果當前用戶的權限不夠,可以通過su - 指令,切換到更高權限的用戶,如root

  • 基本語法
su - 用戶名
  • 實列說明

  • 細節說明

1.從權限高的用戶切換到權限低的用戶時,不需要輸入密碼,反之需要

2.當需要返回到原來用戶時,使用exit/logout指令


5.7 查看當前用戶/登錄用戶

  • 基本語法
whoami/who am i
  • 實例

  • 細節說明

查看的是登錄的用戶!


5.8 用戶組

  • 介紹

類似于角色,系統可以對有共性/權限的多個用戶進行統一的管理

  • 新增組
指令:groupadd 組名
  • 刪除組

指令(基本語法):groupdel 組名

  • 注意:如果當添加用戶時沒有指定組,會默認創建和這個用戶同名的組,同時把用戶放到該組里

  • 增加用戶時直接加上組
指令:useradd -g 用戶組 用戶名

  • 移動組
usermod -g 組名 用戶名


5.9 用戶和組相關文件

  • /etc/passwd 文件

用戶(user)的配置文件,記錄用戶的各種信息

每行的含義:用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell

  • /etc/shadow文件

口令配置文件

每行的含義:登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志

  • /etc/group文件

組(group)的配置文件,記錄Linux包含的組的信息

每行含義:組名:口令:組標識號:組內用戶列表

六、Linux實踐——實用指令

6.1指定運行級別

  • 基本介紹

運行級別說明:

0:關機

1:單用戶【找回丟失密碼】

2:多用戶狀態沒有網絡服務

3:多用戶狀態有網絡服務

4:系統未使用保留給用戶

5:圖形界面

6:系統重啟

常用運行級別是3和5,也可以指定默認運行級別

  • 應用實例

命令:init[0123456]應用案例:通過init來切換不同的運行級別,比如動5-3,然后關機

查看當前的運行級別 systemctl get-ddefault

改變為 systemctl set-default multi-user.target

6.2幫助指令

  • man獲得幫助信息
基本語法:man [命令或配置文件](功能描述:獲得幫助信息)

在linux下隱藏文件是以 “.” 開頭的

  • help指令
基本語法:help 命令 (功能描述:獲得shell內置命令的幫助信息)

6.3文件目錄類

  • pwd指令
基本語法:pwd (功能描述:顯示當前工作目錄的絕對路徑)
  • ls指令
基本語法:ls [選項] [目錄或是文件]

常用選項

-a : 顯示當前目錄所有的文件和目錄,包括隱藏的

-l : 以列表的方式顯示信息


  • cd指令
基本語法:cd [參數] (功能描述:切換到指定的目錄)

理解:絕對路徑和相對路徑(相對路徑是針對當前位置的路徑)

cd ~ 或者cd 回到自己的家目錄

cd … 回到當前目錄的上一級目錄


  • mkdir指令
基本語法:mkdir [選項] 要創建的目錄

理解:mkdir指令用于創建目錄(默認只能創建一級目錄)

-p :創建多級目錄


  • rmdir指令(用于刪除空目錄)
基本語法:rmdir [選項] 要刪除的空目錄

使用細節:

rmdir刪除的是空目錄,如果欲刪除的目錄下有內容則無法刪除

==如果需要刪除非空目錄,需要使用rm -rf 要刪除的目錄


  • touch指令(用于創建空文件)
touch 文件名稱
  • cp指令(copy拷貝文件導指定目錄)
cp [選項] source dest

常用選項:-r 遞歸復制真個文件夾

應用實例:

將 /home/hello.txt 拷貝到 /home/bbb 目錄下

cp /home/hello.txt /home/bbb

遞歸復制整個文件夾,將/home/aaa 目錄下的文件全部拷貝到/home/bbb下

cp -r /home/aaa /hom/bbb (是將整個目錄和目錄本身拷貝進來)

使用強制覆蓋不提示的方法:\cp


  • rm指令(remove,移除文件或目錄)=一定要小心!!!
基本語法:rm [選項] 要刪除的文件或目錄

常用選項

-r : 遞歸刪除整個文件夾

-f :強制刪除不提示

使用細節:強制刪除不提示的方式,帶上-f參數即可

  • mv指令(move,移動文件與目錄或重命名)(以可剪切文件夾)
mv oldNameFile newNamefile (功能描述:重命名) mv /temp/movefile /targetFolder (功能描述:移動文件,剪切)
  • cat指令(查看文件內容)
cat [選項] 要查看的文件

常用選項: -n 顯示行號

使用細節:cat只能瀏覽文件,而不能修改文件,為了瀏覽方便,一般會帶上管道命令 |more

cat -n /etc/profile |more
  • more指令

more指令是一個基于VI編輯器的文本過濾器,它以全屏幕的方式按頁顯示文本文件的內容。more指令中內置了若干快捷鍵(交互的指令)

基本語法:more 要查看的文件

操作說明


  • ln指令

軟連接也稱為符號鏈接,類似于windows里的快捷鍵方式,主要存放了連接其他文件的路徑

基本語法:ln -s [原文件或目錄] [軟鏈接名](功能描述:給原文件創建一個軟鏈接)
  • history指令

查看已經執行過歷史命令,也可以執行歷史指令

history 顯示所有的歷史命令 history 10 顯示最近使用過的10個指令 !5 執行歷史編號為5的指令


6.4時間日期類

  • date指令-顯示當前日期
基本語法: date 顯示當前時間 date +%Y 顯示當前年份 date +%m 顯示當前月份 date +%d 顯示當前是哪一天 date "+%Y-%m-%d %H:%M:%S" 顯示年月日時分秒

date指令還可以設置日期

date -s 字符串時間 date -s "2021-6-20 16:44:30"
  • cal指令

查看日歷指令

cal [選項] (功能描述:不加選項,顯示本月日歷) cal 2021 顯示2021整年的日歷

6.5搜索查找類

  • find指令

    find指令指令 將從指定目錄向下遞歸遍歷各個子目錄,將滿足條件的文件或者目錄顯示在終端上

find [搜索范圍] [選項]

選項說明(可填選項)

選項功能
-name<查詢方式>按照指定的文件名查找模式查找文件
-user<用戶名>查找屬于指定用戶名所有文件
-size<文件大小>按照指定的文件大小查找文件

說明:當查詢路徑下無該文件,就不會有任何顯示


  • locate指令

? locate指令可以快速定位文件路徑。locate命令利用事先建立的系統中所有文件名稱及路徑的locate數據庫實現快速定位的文件名。Locate指令無需遍歷整個文件系統,查詢速度較快。為了保障查詢結果的準確度,管理員必須定期更新locate時刻

基本語法:locate 搜索文件

特別說明:由于locate指令基于數據進行查詢,所以第一次運行前,必須是使用updatedb指令創建locate數據庫


  • which指令 ,可以查看某個指令在哪個目錄下

  • grep指令和管道符號 |

grep過濾查找,管道符,“|“,表示將前一個命令輸出傳遞給后面的命令處理

基本語法:grep [選項] 查找內容 源文件

選項:

-n 顯示匹配行及行號

-i 忽略字母大小寫

兩種寫法

cat /home/hello.txt |grep -n "yes" hello.txt文件夾中輸出同樣的 grep -n "yes" /home/hello.txt

6.6 壓縮和解壓

  • gzip/gunzip指令

gzip用于壓縮文件,gunzip用于解壓文件的

gzip文件 (功能描述:壓縮文件,只能將文件壓縮為*.gz文件 gunzip文件 (功能描述:解壓文件命令)
  • zip/unzip指令

zip用于壓縮文件,unzip用于解壓的,在整個項目打包發布中很有用的

zip [選項] xxx.zip 將要壓縮的內容(一般是文件和文件夾) uzip [選項] xxx.zip (功能描述:解壓文件)

zip的常用項: -r 遞歸壓縮,即壓縮目錄

zip -r myhome.zip /home/

unzip的常用項 : -d<目錄> : 指定解壓后文件的存放目錄

unzip -d

  • tar指令

tar指令是打包指令,最后打包后的文件是.tar.gz的文件。

tar [選項] xxx.tar.gz 打包的內容 (功能描述:打包目錄,壓縮后的格式.tar.gz)

選項說明

選項功能
-c產生.tar打包文件
-v顯示詳細信息
-f指定壓縮后的文件名
-z打包同時壓縮
-x解包.tar文件
案例1:壓縮多個文件,將/home/pig.txt和/home/cat.txt 壓縮成 pc.tar.gz tar -zcvf pc.tar.gz 案例2:將/home的文件夾壓縮成myhome.tar.gz tar -zcvf myhome.tar.gz /home/案例3:pc.tar.gz 解壓到當前目錄 tar -zxvf pc.tar.gz案例4:將myhome.tar.gz 解壓到/opt/tmp2目錄下 mkdr/opt/tmp2/ tar -zxvf myhome.tar.gz -C opt/tmp2

因為解壓的目標地址不是當前文件夾,要去別的文件加,所以要加-C

七、linux的主管理和權限管理

7.1Liunx組的基本介紹

  • 在Linux中的每個用戶必須屬于一個組,不能獨立于組外。
  • 在Linux中每個文件都有所有者、所在組、其他組的概念
    • 所有者
    • 所在組
    • 其它組
    • 改變用戶所在的組

7.2文件/目錄的所有者

  • 一般文件的創建者,誰創建了該文件,就自然成為該文件的所有者
  • 查看文件的所有者:
指令: ls -ahl
  • 修改文件所有者
指令:chown 用戶名 文件名

7.3文件/目錄 所在組

  • 當某個用戶創建了一個文件后,這個文件的所在組就是該用戶所在的組
  • 查看文件/目錄所在組
ls -ahl
  • 修改文件所在的組
chgrp 組名 文件名

7.4其他組

除文件的所有者和所在組的用戶外,系統的其他用戶都是文件的其它組

7.5改變用戶所在組

  • 在添加用戶時,可以指定將該用戶添加到哪個組中,同樣的用root的管理權限可以改變某個用戶所在的組

  • 該百年用戶所在組

usermod -g 組名 用戶名 usermod -d 目錄名 用戶名改變該用戶登錄的初始目錄

7.6權限的基本介紹

ls -l 顯示的如下內容:

-rw-r--r--. 1 mikasa mikasa 141 6月 22 11:19 hello.txt

0-9位說明

  • 1.第0位確定文件類型(d,-,l,c,b)
    • d是目錄,相當于windows的文件夾
    • l是鏈接文件,相當于windows的快捷方式
    • -是普通文件
    • c是字符設備文件,鼠標,鍵盤
    • b是塊設備,比如硬盤
  • 2.第1-3位確定所有者(該文件的所有者)擁有該文件的權限 --user
  • 3.第4-6位確定所屬組(同用戶組的)擁有該文件的權限 --Group
  • 4.第7-9位確定其他用戶擁有該文件的權限 --Other

rwx權限詳解,難點

  • rwx作用到文件

    • 【r】代表可讀(read):可以讀取、查看
    • 【w】代表可寫(write):可以修改,但是不代表可以刪除該文件,刪除一個文件的前提條件是對該文件所在的目錄有些權限,才能刪除該文件
    • 【x】代表可執行(execute):可以被執行
  • rwx作用到目錄

    • 【r】代表可讀(read):可以讀取,ls查看目錄內容
    • 【w】代表可寫(write):可以修改,對目錄內創建+刪除+重命名目錄名
    • 【x】代表可執行(execute):可以進入該目錄

7.7文件及目錄權限實際案例

  • ls -l 顯示內容
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
  • 10個字符確定不同用戶能對文件干什么
    • 第一個字符代表文件類型: -l d c b
    • 其余字符每三個一組(rwx)讀(r)寫(w)執行(x)
    • 第一組rwx:文件擁有者的權限是讀、寫但不能執行
    • 第二組rw-:與文件擁有者同一組的用戶的權限是讀、寫但不能執行
    • 第三組r–:不與文件擁有者同組的其他用戶的權限是都只能讀
  • 可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7
  • 其他說明
    • 1 若是文件:硬件連接 若是目錄:子目錄數+文件數
    • root 用戶
    • root 組
    • 1213 文件大小(字節),如果是文件夾顯示4096字節
    • Feb 2 09:39 最后修改日期
    • abc 文件

7.8修改權限-chmod

  • 基本說明:

通過chmod指令,可以修改文件或者目錄的權限。

  • 第一種方式:+ 、- 、=變更權限

u:所有者(是指文件或者是目錄的擁有者) q:所有組 o:其他用戶 a:所有人(u、g、o的總和)

1)chmod u=rwx,g=rx,o=x 文件/目錄名

2)chmod o+w 文件/目錄名

3)chmod a-x 文件/目錄名

1)給abc文件的所有者讀寫執行的權限,給所在組讀執行權限, 給其他組讀執行權限 chmod u=rwx,g=rx,0=x abc2)給abc文件的所有者除去執行的權限,增加組寫的權限 chmod u-x,g+w abc3)給abc文件的所有用戶添加讀的權限 chmod a+r abc
  • 第二種方式:通過數字變更權限

r=4 w=2 x=1 rwx=4+2+1

chmod u=rwx,g=rx,o=x 文件目錄名 相當于chmod 751 文件目錄

要求:將/home/abc.txt文件的權限修改成 rwxr-xr-x,使用數字的方式實現

chmod 755 /home/abc.txt

7.9修改文件所有者-chown

  • 基本介紹
chown newowener 文件/目錄 改變所有者 chown newonwner:newgroup 改變所有者和所在組
  • -R 如果是目錄則使其下所有子文件或目錄遞歸生效(recursion)
文件 chown mikasa /home/mikasa/hello.txt 目錄 chown -R mikasa /home/qianxin

7.10修改文件/所在組-chgrp

  • 基本介紹
chgrp newgroup 文件/目d錄 [改變所在組]
  • -R 如果是目錄則使其下所有子文件或目錄遞歸生效(recursion)

7.11對文件夾(目錄)的rwx的細節討論

  • x:表示可有進入到該目錄,比如cd
  • r:表示可以ls,將目錄的內容顯示
  • w:表示可以在該目錄刪除或者創建文件

八、crond任務調度

8.1crontab 進行 定時任務的設置

  • 概述

    • 任務調度:是指系統在某個時間執行的特定的命令或程序。

    • 任務調度分類.

      • 系統工作:有些重要的工作必須周而復始地執行。如病毒掃描等
      • 個別用戶工作:個別用戶可能希望執行某些程序,比如對mysql數據庫的備份
    • 基本語法

crontab [選項] 常用選項有:-e 編輯crontab定時任務-l 查詢crontab任務-r 刪除當前用戶所有的crontab任務

  • 快速入門

    • 設置任務調度文件:/etc/crontab

    • 設置個人任務調度。執行crontab -e命令

    • 接著輸入任務到調度文件

    • 如:

      */1 * * * * ls -l /etc/ > /tmp/to.txt 意思說每個小時的每分鐘執行ls -l /etc/ > /tmp/to.txt 命令
    • 參數細節說明

    • 5個占位符的說明

  • 特殊符號說明

    特殊符號含義
    *代表任何時間。比如第一個 “ * ” 就代表一小時中每分鐘都執行一次的意識
    代表不連續的時間。比如“0 8,12,16 *** 命令,就代表在每天的8點0分,12點0分,16點0分都執行一次命令
    -代表連續的時間范圍。比如”0 5 * * 1-6 命令“,代表在周一到周六的凌晨5點0分執行命令
    */n代表每隔多久執行一次。比如 ” */10 * * * * 命令" ,代表每隔10分鐘就執行一遍命令
  • 特定時間執行任務案例


*

應用實列: 案例1:每隔1分鐘,就將當前的日期信息,追加到/tmp/mydate文件中crontab -e*/1 * * * * data >> /tmp/mydata案例2:每隔2分鐘,將當前日期和日歷都追加到/home/mycal文件中第一步 編輯一個腳本文件vim /home/my.shdate >> /home/mycalcal >> /home/mycal第二步:crontab -e*/1 * * * * /home/my.sh案列3:每天凌晨2:00將mysql數據庫testdb,備份到文件中,提示:指令為mysqldump -u root -p密碼 數據庫 >> /home/bd.bak第一步:crontab -e第二步:0 2 * * * mysqldump -u root -proot testdb > /home/db.bak

8.2 at定時任務

  • 基本介紹

    • at命令是一次性定時計劃任務,at的守護進程atd會以后臺模式運行,檢查作業隊列來運行
    • 默認情況下,atd守護進程每60秒檢查作業隊列,有作業時,會檢查作業運行時間,如果時間與當前時間匹配,則運行此作業
    • at命令是一次性定時任務計劃,執行完一個任務后不再執行此任務了
    • 在使用at命令的時候,一定要保證atd進程的啟動,可以使用相關指令來查看
    ps -ef
  • at命令格式

    at [選項] [時間] ctrl + D 結束at命令輸入(兩次)

  • at命令選項

  • at時間定義的方法

  • 相關方法

    • atq命令,來查看系統中沒有執行的工作任務
    • atrm 編號 刪除已經設置的任務
  • 案列

    • 2天后的下午5點執行/bin/ls /home

  • 明天17點鐘,輸出時間到指定文件內 比如/root/date100.log

九、Linux磁盤分區、掛載

9.1Linux分區

  • 原理介紹
    • Linux來說無論有幾個分區,分給哪一目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的文件結構,Linux中每個分區都是用來組成整個文件系統的一部分
    • Linux采用了一種叫”載入“的處理方法,它的整個文件系統包含了一整套的目錄,且將一個分區和一個目錄聯系起來。這時要載入的一個分區將使它的存儲空間在一個目錄下獲得

  • 硬盤shuo’ming

    • Linux硬盤分IDE硬盤和SCSI硬盤,目前基本上是SCSI硬盤
    • 對于IDE硬盤,驅動驅動標識符為” hdx~ “,其中”hd“表明分區所在的設備類型,這里是指IDE硬盤了?!眡“為盤號(a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤),”~“代表分區,前四個分區用數字1到4表示,他們是主分區和拓展分區;從5開始就是邏輯分區。例,hda3表示為第一個IDE硬盤上的第三個主分區或拓展分區,hdb2表示為第二個IDE硬盤上的第二個主分區或拓展分區
    • 對于SCSI硬盤則標識為”sdx~“,SCSI硬盤是用”sd“來表示分區所在設備的類型的,其余則和IDE硬盤的標識方式一樣
  • 查看所有的設備掛載情況

    命令:lsblk 或者 lsblk -f

  • 針對第二張圖
    • sda下指得是分區情況
      • FSTYPE 指的是文件類型
    • UUID值得是分區得唯一標識符(40個位)
    • MOUNTPOIN 掛載點

9.2掛載的經典案例

以增加一塊硬盤為例來熟悉磁盤的相關指令和深入理解磁盤分區、掛載、卸載的概念。

如何為linux系統增加一塊硬盤?

  • 1.虛擬機添加硬盤

    • 在vmware上實現
    • 重啟虛擬機
    • 重啟后的分區情況[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳
  • 2.分區

    • 分區命令

      fdisk /dev/sdb
    • (dev(device)這個目錄中包含了所有Linux系統中使用的外部設備。但是不是存放外部設備的驅動程序。它實際上是一個訪問這些外部設備的端口就。我們可以非常方便的去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別)

    • 開始對 /sdb分區

    m 顯示命令列表 p 顯示磁盤分區 同 fdisk -l n 新增分區 d 刪除分區 w 寫入并退出 說明:開始分區后輸入n,新增分區,然后選者p,分區類型為主分區。兩次回車默認剩余全部空間。最后輸入w寫入分區并退出,若不保存退出輸入q

  • 3.格式化

    • 格式化磁盤
    • 分區命令:
    mkfs -f ext4 /dev/sdb1
    • 其中ext4是分區類型

  • 4.掛載(將一個分區與一個目錄聯系起來)

    掛載令: mount 設備名稱 掛載目錄 !!卸載命令: umout 設備名稱(或者已掛載的目錄)

用命令行掛載,重啟后就會失效

  • 5設置可以自動掛載

    • 永久掛載:通過修改/etc/fstab實現掛載
    • 添加完成后,執行mount -a立即生效

9.3磁盤情況查詢

  • 查詢系統整體磁盤使用情況

    • 基本語法
    df -h
    • 應用實例:查詢系統整體磁盤使用情況(使用率到了80以上就正常了)

  • 查詢指定目錄的磁盤占用情況

    • 基本語法
    du 選型 /目錄
    • 查詢指定目錄的磁盤占用情況,默認為當前目錄
    • 選項
    -s 指定目錄占用大小匯總 -h 帶計量單位 -a 含文件 --max-depth=1 子目錄深度 -c 列出明細的同時,增加匯總值
    • 案例:查詢opt目錄的磁盤占用情況,深度為1

  • 磁盤情況-工作實用指令

    • 1.統計/opt文件夾下文件的個數

      ls -l /opt | grep "^-" | wc -l
    • 2.統計/opt文件夾下目錄的個數

      ls -l /opt | grep "^d" | wc -l
    • 3.統計/opt文件夾下文件的個數,包括子文件夾里的

      ls -lR /opt | grep "^-" | wc -l
    • 4.統計/opt文件夾下目錄的個數,包括子文件夾里的

      ls -lR /opt | grep "^d" | wc -l
    • 5.以樹狀顯示目錄結構

      yum install tree tree /home

十、LInux網絡配置

10.1Linux網絡配置原理圖

10.2配置一個指定的ip

  • 直接修改配置文件來制定IP,并可以連接到外網(cxy推薦)
  • 編輯 vim /etc /sysconfig/network-scripts/ifcfg-ens33
  • 修改前

  • 要求:將IP地址配置為靜態的,比如ip地址為192.168.200.130

  • 修改后

  • ifcfg-ens33文件說明

  • 重啟網絡服務或者重啟兄系統生效

    service network restart reboot
  • ping指令

ping ip(或域名) (測試連通性)

10.3設置主機名和hosts映射

  • 設置hosts映射

    • windows
    再C:\windows\System32\drivers\etc\hosts 文件指定即可
    • liunx
    在/etc/hosts 文件 指定
  • 主機名解析過程分析(hosts、DNS)

    • hosts文件是什么:一個文本文件,用來記錄IP和hostname(主機名)的映射關系
    • DNS(Domain Name System,域名系統):是互聯網上作為域名和IP地址相互映射的一個分布式數據庫
  • 主機名解析機制分析
    應用實例:用戶在瀏覽器輸輸入了www.baidu.com

    • 1.瀏覽器先檢查瀏覽器緩存中有沒有該域名解析ip地址,有就先調用這個IP完成解析;如果沒有,就檢查DNS解析器緩存,如果有就直接返回ip完成解析。(這兩個緩存可以理解為本地解析器緩存)

      (一般來說,當電腦第一次成功訪問某一網站后,在一定的時間內,瀏覽器或者操作系統會緩存它的ip地址DNS解析記錄,如在命令行輸入

      ipconfig /displaydns //DNS緩存解析 ipconifg /flushdns //手動清理dns緩存
    • 2.如果本地解析器緩存沒有找到對應的映射,則檢查系統系統中的hosts文件中有沒有配置對應的域名ip映射。如果有,則完成解析并返回

    • 3.如果本地DNS解析器緩存和hosts文件中均沒有找到對應的ip,則到域名服務DNS進行解析

十一、進程管理

11.1基本介紹

  • 在Linux中,每一個執行的程序都被稱為一個進程。每一個進程都被分配一個ID號(pid,進程號)

    • windows下的pid

  • linux:top指令

  • 每個進程都可能以兩種方式存在。前臺與后臺,所謂前臺進程就是用戶目前屏幕上可以進行操作的。后臺進程則是實際在操作,但由于屏幕上無法看到的進程,通常使用后臺方式執行。

  • 一般系統的服務都是以后臺進程的方式存在,而且都會常駐在系統中。直到關機才會結束

11.2顯示系統執行的進程

  • ps命令是用來查看目前系統中,有哪些正在執行的進程 ,以及他們的執行狀況。可以不加任何參數

ps顯示的信息選項

字段說明
PID進程識別號
TTY終端機號
TIME此進程所消耗CPU時間
CMD正在執行的命令或進程名
ps -a:顯示當前終端的所有進程信息 ps -u:以用戶的格式顯示進程信息 ps -x:顯示后臺進程運行的參數
  • 執行ps -aux

  • 參數解釋

    • USER:進程執行用戶
    • PID:進程號
    • %CPU:當前進程占用cpu的百分比
    • %MEM:占用物理內存的百分比
    • VSZ:進程占用虛擬內存大小(KB)
    • RSS:進程占用的物理內存的大小(KB)
    • TTY:終端名稱
    • STAT:運行狀態,S-表示sleep休眠、s-表示該進程是會話的先導進程,N-表示進程擁有比普通優先級更低的優先級,R-表示正在運行,D-短期等待,z-僵尸進程,T-被跟蹤或者被停止等等
    • STARTED:執行的開始時間
    • TIME:占用CPU時間
    • COMMAND:啟動進程所用的命令和參數,如果過長會被截斷顯示
  • 以全格式顯示當前所有的進程,查看進程的父進程

    ps -ef 是以全格式顯示當前所有的進程-e 顯示所有的進程 -f 全格式ps -ef|grep xxx 是BSD風格

  • UID:用戶ID

  • PID:進程ID

  • PPID:父進程ID

  • C:cpu用于計算執行優先的因子。數值越大,表明進程是CPU密集型運算,執行優先級會降低;數值越小,表明進程是I/O密集型運算,執行優先級會提高

  • STIME:進程啟動時間

  • TTY:完整的終端名稱

  • TIME:CPU占用時間

  • CMD啟動進程所用的命令和參數

  • ps -ef|grep sshd

  • sshd進程是1號進程的子進程,

  • 終止進程kill和killall

    • 若是某一個進程執行一半需要停止時,或是已消了很大的系統資源時,此時可以考慮停止該進程。使用kill命令來完成此項任務
    • 基本語法
    kill [選項] 進程號 功能描述:通過進程號殺死進程 killall 進程名稱 功能描述:通過進程名殺死進程也支持通配符,這在系統因負載過的很慢時很有用
    • 常用選項:-9 表示強迫進程立即停止

    • 案例

      • 踢掉某個非法登錄用戶(mikasa)

ps- ef|grep sshd后可知用戶mikasa登錄的進程號為9583 kill 進程號 kill 9583用戶mikasa的連接關閉

  • 終止遠程登錄服務sshd,在適當時候再次重啟sshd服務
kill 7756 結束遠程登錄服務sshd后用戶無法通過xshell連上Linux虛擬機回復sshd服務 /bin/systemctl start sshd.service
  • 終止多個gedit
killall gedit
  • 強制殺掉一個終端
先ps -aux | grep bash觀察出終端的進程號再killall -9 bash對應的進程號

11.3查看進程樹pstree

  • 基本語法
pstree [選項] 可以更加直觀的來看進程信息
  • 常用選項
-p 樹狀形式顯示進程的pid -u 樹狀形式顯示進程的所屬用戶

十二、服務(service)管理

12.1介紹

服務(service)本質就是進程,但是時運行在后臺的,通常都會監聽某個端口,等待其他程序的請求,比如(mysqld,sshd 防火墻等),因此我們又稱為守護進程,是Linux中非常重要的知識點

  • service管理指令

    service 服務名 [start| stop| restart| reload | status]
  • 在CentOS7.0后很多服務不再使用service,而是systemctl

  • service指令管理的服務在 /etc/init.d查看

  • 案例

使用servce指令,查看,關閉,啟動network[不要在xshell中執行,關閉網絡后,連接sshd服務會斷開連接]
  • 查看服務名:

    • 方式1:使用setup——>系統服務,就可以看到全部
      • 帶*號的服務是隨著linux的啟動自動啟動,沒有帶 *號的都是需要手動啟動的
      • 這里記一個比較呆比的事情,退出按Tab

  • 方式2:/etc/init.d 看到service指令管理的服務ls -l /etc/init.d

  • 額外擴展:為什么linux很多服務以d結尾?

    • d代表deamon 守護進程
    • Linux的大多數服務就是用守護進程
    • 守護進程是運行在Linux服務器后臺的一種服務程序
    • 它周期地執行某種任務或等待處理某些發生的事件
    • 比如:xinetd提供網絡服務,sshd提供ssh登錄服務,httpd提供web服務

12.2服務的運行級別

  • linux系統有七種運行級別(runlevel):常用的是級別3和5
    • 運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動
    • 運行級別1:單用戶工作狀態,root權限,用于系統維護,禁止遠程登錄
    • 運行級別2:多用戶狀態(沒有NFS),不支持網絡
    • 運行級別3:完全的多用戶狀態(有NFS),登錄后進入控制臺命令行模式
    • 運行級別4:系統未使用,保留
    • 運行級別5:X11控制臺,登陸后進入圖形GUI模式
    • 運行級別6:系統正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動
  • 開機的流程說明

  • CentOS7運行級別說明

    • 在/etc/initab,進行了簡化如下
    multi-user.target:analogous to runlevel 3 graphical.target:analogous to runlevel 5
    • #to view current default target,run: systemctl get-default
    • #To set a default target,run: systemctl set-default TARGET.target

12.3chkconfig指令

  • 介紹
    • 1.通過chkconfig命令可以給服務的各個運行級別設置自 啟動/關閉
    • 2.chkconfig指令管理的服務在 /etc/init.d查看
    • 注意:CentOS7.0后,很多服務使用systemctl管理
  • 基本語法
chkconfig --list [| grep xxx] 查看服務 chkconfig 服務名 --list 查看服務 chkconfig --level 5 服務名 on/off 對服務在各等級下的狀態進行控制

  • 案列
對network服務進行操作,把network在3運行級別關閉自啟動 chkconfig --level 3 network off
  • 注意:chkconfig重新設置服務后自啟動或關閉,需要重啟機器reboot生效

12.4systemctl命令

  • systemctl管理命令

    systemctl [start | stop |restart |status ] 服務名
    • systemctl指令管理的服務咋/usr/lib/systemd/system中查看
  • systemctl設置服務的自啟動狀態

    systemctl list-unit-files [|grep 服務名] (查看服務開機啟動狀態,grep可進行過濾) systemctl enable 服務名 (設置服務開機啟動) systemctl disable 服務名 (關閉服務開機啟動)關閉和開啟都是默認的3和5兩級別 systemctl is-enabled 服務名 (查詢某個服務是否是自啟動的)
  • 引用案列:

    ll /usr/lib/systemd/system |grep fire 查找防火墻服務systemctl list-unit-files | grep firewalld 查看當防火墻的服務狀態systemctl is-enabled firewalld 查看防火墻服務是否是自啟的查看當前防火墻的狀態,關閉防火墻和重啟防火墻 systemctl status firewalld停止防火墻 systemctl stop firewalld啟動防火墻、 systemctl s

  • 細節點

    • 關閉或者啟動防火墻后,立即生效。[telnet測試 某個端口即可]
    • 這種方式只是臨時生效,當重啟系統后,還是回歸以前對服務的設置
    • 如果希望設置某個服務自啟動或關閉永久生效,要使用systemctl [enable|disable]服務名

12.5打開或者關閉指定端口

在真正的生產環境,往往需要將防火墻打開,來了,如果我們把防火墻打開,那么外部請求數據包就不能給服務器監聽端口通訊。,這時,需要打開指定的端口。比如80,22,8080 該怎么做呢

  • firewall指令

    • 打開端口
    firewall-cmd --permanent --add-port=端口號/協議
    • 關閉端口
    firewall-cmd --permanent --remove-port =端口號/協議
    • 無論是關閉還是開啟端口都需要重新載入防火墻才能生效
    firewall-cmd --reload
    • 查詢端口是否開放
    firewall-cmd --query-port=端口/協議
  • 案例

    • 啟用防火墻,測試111端口是否能telnet

    • 開放111端口

    • 再次關閉111端口

十三、動態監控

13.1介紹

? top和ps命令很相似。他們都用來顯示正在執行的進程Top和ps最大的不同處在于top在執行一段時間可以更行正在運行的進程

  • 基本語法
top [選項]
  • 選項說明
選項功能實例
-d 秒數指定top命令每隔幾秒更新。默認是3秒top -d 5
-i是top不顯示任何閑置或者僵死進程
-p通過指定監控進程ID來僅僅監控某個進程的狀態
  • 僵死進程:進程已經死掉了(進程運行結束),但是內存沒有被釋放掉。僵死進程需要定時清除!!

  • 其中cpu使用率和KiB Mem(內存管理)最為重要

13.2動態監控進程的交互操作

  • 交互操作說明
操作功能
P以CPU施一公率排序,默認就是此項
M以內存使用率排序
N以PID排序
q退出top
  • 實例

    案例1.監視特定用戶,比如說監控mikasa用戶 top:輸入此命令,按回車鍵,查看執行的進程 然后輸入“u”,回車,在輸入用戶名,即可案例2:終止指令的進程 先輸入top指令后,在輸入“k“ ,在輸入想要終止的進程號案例3:指定系統狀態更新的時間(每隔10秒自動更新)(默認的是3秒) top -d 10

13.3監控網絡狀態

  • 查看系統網絡情況netstat

    • 基本語法
    netstat [選項]
    • 選項說明
    -an 按一定順序排列輸出 -p 顯示哪個進程在用

  • 檢測主機連接命令ping

    • 是一種網絡檢測工具,它主要是用來檢測遠程主機是否正常,或是兩部主機間的網線或網卡故障

十四、RPM與YUM

14.1rpm包的管理

  • 介紹

    • rpm用于互聯網下載包的打包及安裝工具,它包含在某些LInux分發版中。它生成具有.RPM拓展名的文件。RPM是RedHat Package Manager (RedHat軟件包管理工具)的縮寫,類似windows的setup.ext,這一文件格式名稱雖然打上了RedHat的標志,但理念是通用的。
    • Linux的分發版都有采用(suse,redhat,centos等),可以說是公用的行業標準。
  • rpm包的簡單查詢指令

    • 查詢已安裝的rpm列表
    rpm -qa|grep xxx查看當前系統是否安裝firefoxrpm -qa | grep firefox

    • rpm包名基本格式
    一個rpm包名:firefox-60.2.2-1.el7.centos.x86_64 名稱:firefox 版本號:60.2.2-1 適用操作系統:el7.centos.x86_64 表示centos7.x的64位系統(如果似乎i686、i386表示32位系統,noarch表示通用)
  • rpm包的其它查詢指令

    • rpm -qa 查詢所安裝的所rpm包軟件包
    rpm -qa | more rpm -qa | grep xxx(如:rpm -qa | grep firefox)
    • rpm -q 軟件包名 查詢軟件包信息
    案例:rpm -q firefox
    • rpm -qi 軟件包名 查詢軟件包信息
    rpm -qi firefox

  • rpm -ql 軟件包名 查詢軟件包中的文件
  • rpm -qf 文件全路徑名 查詢文件所屬的軟件包
rpm -af /etd/shadow ![在這里插入圖片描述](https://img-blog.csdnimg.cn/329d2f05576849278704570768b0aed8.png)
  • 安裝rpm包

    • 基本語法
    rpm -ivh RPM包全路徑名稱rpm -ivh /opt/firefox (先按tab補全再回車)
    • 參數說明
    i=install 安裝 v=verbose 提示 h=hash 進度條
  • 卸載rpm包

    • 基本語法
    rpm -e RPM包的名稱 //erassrpm -e firefox 刪除firefox 軟件包
    • 注意

      • 如果其它軟件包依賴于要卸載的軟件包,卸載時則會產生錯誤的信息
      • 如果必須要刪除這個軟件包,可以增加參數 --nodeps,就可以強制刪除,但是一般不推薦這么做,因為依賴于該軟件包的程序可能無法運行
      rpm -e --nodeps 軟件包名

14.2yum

  • 介紹:Yum是一個Shell前端軟件包管理器?;赗PM包管理,能夠從指定的服務器自動下載RPM包并安裝,可以自動處理依賴關系,并且一次安裝所有依賴的軟件包

  • yum的基本指令

    查詢yum服務器是否有需要安裝的軟件(軟件列表) yum list|grep xx安裝指定的yum包(下載安裝 yum install xxx
  • 實列:使用yum的方式安裝firefox

    rpm -e firefox 先卸載centos中的firefox yum list | grep firefox 查詢firefox的軟件 yum install firefox 下載!

總結

以上是生活随笔為你收集整理的B站韩顺平版Linux学习笔记(很全啊!)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。