Linux 指令篇

一.查看硬盤空間使用情況

1.1 簡述

df 命令以磁盤分區爲單位查看文件系統中磁盤空間的使用情況
在這裏插入圖片描述
注意:Used(已用) + Available(可用) 不一定等於 1K-blocks,因爲系統會保留一部分空間用作他用。

1.2 高頻選項

-h     #使用人類可讀的格式展示,這也是比較常見的查看方式
-i     #查看分區inode的使用情況

在這裏插入圖片描述
在這裏插入圖片描述

2.1 簡述

du命令也是檢查硬盤使用情況,但是兩者是有一定區別的。

  • du 命令是統計文件或目錄及其子目錄的硬盤空間使用情況,一般可以幫我們快速定位目錄下是否存在超大文件或其他特殊大小的文件。
  • df 命令是統計磁盤分區整體的使用情況。
  • du 命令會直接到特定目錄內查找所有文件數據,並統計累加,所以命令執行時會耗費一點兒時間。
  • df 命令直接從文件系統中提取信息,所以比較快速。

2.2 命令使用格式

du  選項  文件/目錄

2.3 高頻選項

-a      #列出所有的文件和目錄的容量大小,而不僅僅列出目錄容量大小
-s      #僅顯示總計,只列出最後總的值
-h      #以K,M,G爲單位,提高信息的可讀性
-c      #除了列出文件和目錄的容量大小外,最後在列出總容量      

在這裏插入圖片描述
2.4 總結

  • du中的選項,大部分只爲我們顯示結果提供不同的方式
  • du可以用來進行統計目錄容量,也可以用來統計特定的文件大小
  • du可以用來統計任意目錄容量,而分區是掛載在指定目錄的,也就是說du可以用來統計磁盤分區空間使用情況

二.查看 CPU 內存和系統版本

1.如何查看Linux CPU使用情況

1.1 查看CPU基本硬件信息
在這裏插入圖片描述
1.2 查看CPU使用狀態信息, top && dstat
在這裏插入圖片描述
在這裏插入圖片描述
2.如何查看Linux 內存使用情況

2.1 查看內存基本容量信息
在這裏插入圖片描述
2.2 查看內存運行空間信息
在這裏插入圖片描述
3.如何查看Linux 系統版本
在這裏插入圖片描述

三.查看網絡/進程信息

1.查看網絡連接數和端口

使用 netstat 命令查看網絡連接情況

netstat  -anp

執行結果如下:
在這裏插入圖片描述

參數解釋:

  • -a 顯示所有選項
  • -t (tcp)僅顯示tcp相關選項
  • -u (udp)僅顯示udp相關選項
  • -n 拒絕顯示別名,能顯示數字的全部轉化成數字。
  • -p 顯示建立相關鏈接的程序名

關鍵列解釋:

  • Proto 表示協議類型
  • LocalAddress 表示本地地址
  • ForeignAddress 表示對端地址
  • State 表示狀態(對於 TCP 有效, UDP 沒有狀態概念)
  • PID/Program name 表示對應的進程 id 和進程名

由於 netstat 命令打印的結果較多, 通常需要搭配 grep 命令來使用。
例如:

1) 查看 8080 端口被哪個進程佔用

netstat -anp | grep 8080

在這裏插入圖片描述
2) 查看進程名爲 mysql 的進程都有哪些連接

netstat -anp | grep mysql

在這裏插入圖片描述
2.查看進程信息 top 命令

使用 top 命令可以查看進程信息

top

執行結果:
在這裏插入圖片描述
結果解釋:

前 5 行是統計信息區

  • 第一行是任務隊列信息,同 uptime 命令的執行結果。其中 load 表示系統負載(任務隊列的平均長度),值越大表示當前系統就越繁忙
  • 第二、三行爲進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行
  • 第四、五行尾內存信息
  • 第四行 Mem: total 物理內存總量,used 使用的物理內存總量,free 空閒內存總量,buffers 用作內核緩存的內存量
  • 第五行 表示 Swap 分區的使用情況

接下來是進程列表:默認按照 CPU 佔用情況降序排序(第一行就是當前佔用 CPU 最多的進程)

常用列解釋:

  • PID 表示進程 id
  • USER 表示進程擁有者的用戶id
  • PR 表示進程優先級
  • NI 表示 nice 值,和 PR 搭配使用
  • VIRT 表示虛擬內存使用情況
  • RES 表示物理內存使用情況(如果進程使用的物理內存的和接近機器的物理內存總量, 就會出現內存不夠用的情況)
    %CPU 表示該進程佔用 CPU 的百分比(多核機器這個值可以超過 100%)
  • COMMAND 對應到這個進程啓動的命令

top 的一些常見用法:

  1. 查看佔用內存最多的前 N 個進程
    先執行 top 命令, 再使用快捷鍵 M 即可按內存佔用降序排序
    在這裏插入圖片描述
  2. 查看 CPU 佔用最多的前 N 個進程
    先執行 top 命令, 再使用快捷鍵 P 即可按照 CPU 佔用降序排序
    在這裏插入圖片描述
  3. 查看某個進程中的線程情況
top -p [pid]

在這裏插入圖片描述
3.查看ip地址

ifconfig 命令即可

ifconfig

執行結果:
在這裏插入圖片描述
由於一臺主機可能同時具備多個網絡接口, 查看到的 ip 地址也就可能有多個。

網絡接口對應到主機的網卡或者虛擬網卡設備. 一臺主機可以具有多個網卡, 也就可以有多個 IP 地址。

四.文件訪問權限

1.對於Linux中文件訪問權限的基本認識

1.1 簡述
Linux系統中,用戶對文件的訪問進行權限控制可以極大的提高文件自身以及文件內容的安全性。

1.2 文件訪問權限信息的查看
我們如何查看一個文件的權限信息呢?可以通過 ls -l 命令查看文件詳細信息來查看文件的訪問權限。
在這裏插入圖片描述
1.3 文件權限信息的認識
首先,在Linux系統中文件的訪問權限對文件的訪問者進行了分類:文件所有者、文件所屬組、其它用戶。

在這裏插入圖片描述

其中權限的前3位是文件所有者的權限,中間3位是文件所屬組的權限,最後3位是其它用戶的權限。其次,在Linux系統中文件的訪問權限對每一類用戶進行了訪問方式的分類:可讀、可寫、可執行。若不具備某個權限則以 - 表示。

例如:rwxr-xr-x 權限最終的解釋爲:

  • 文件所有者對當前文件具備可讀、可寫、可執行的權限
  • 文件所屬組對當前文件具備可讀、可執行權限
  • 其它用戶對當前文件具備可讀、可執行權限

其中文件的權限向外展示爲 rwxr-xr-x,實際在操作系統中權限使用二進制方式存儲,這樣存儲更加輕量,使用1表示具備權限,使用0表示不具備權限。
在這裏插入圖片描述


2.Linux命令之文件默認創建權限掩碼設置 -umask

2.1 概述
在shell中創建一個文件,雖然沒有指定文件的權限,但是文件被創建成功後,默認會具有一個權限,這是因爲文件創建之時的權限會受到系統中文件創建權限掩碼的影響。umask 命令可以查看系統中當前默認的權限掩碼信息。
在這裏插入圖片描述
顯示出來的信息是以八進制數字形式表示
同時可以在umask 命令後緊跟需要設置的掩碼值

[root@San doc]# umask 0000
[root@San doc]# umask
0000

2.2 高頻選項

-S       #使掩碼以符號形式打印;默認輸出爲八進制數

直接查看掩碼,並不利於我們的理解,因此可以使用-S 選項來以人性化符號的形式展示掩碼對應的文件默認權限
在這裏插入圖片描述

[root@San doc]# umask
0022
[root@San doc]# umask -S
u=rwx,g=rx,o=rx

[root@San doc]# umask
0000
[root@San doc]# umask -S
u=rwx,g=rwx,o=rwx

~022 = 755
~000 = 777

注意:u 指的是文件所有者,g 指的是文件所屬組, o 指的是其它用戶


3.Linux命令之文件訪問權限的修改 -chmod

3.1 概述
umask 決定的是文件創建出來的默認權限,然而大多時候我們需要修改一個已經存在的文件權限,這時候就需要使用chmod命令(ps:全稱change mode)完成。

3.2 高頻選項

  • -R   #遞歸處理,將指定目錄下的所有文件及子目錄一併處理
  • <訪問者>+<權限設置>   #開啓權限範圍的文件或目錄的該項權限設置。
  • <訪問者>-<權限設置>   #關閉權限範圍的文件或目錄的該項權限設置。
  • <訪問者>=<權限設置>   #指定權限範圍的文件或目錄的該項權限設置。
  • +t #設置目錄文件的沾滯位

3.3 chmod 命令
在這裏插入圖片描述
chmod 在使用時,可以針對指定用戶進行文件訪問權限的設置或者增減,也可以通過八進制數字的形式設置文件的訪問權限。

3.4 chmod +t 選項
當在一個目錄中,想要其它用戶能夠創建文件並且只能刪除自己的文件的時候,就需要靠沾滯位來實現。

在這裏插入圖片描述


4.Linux命令之文件所有者的修改 -chown

4.1 概述
文件的所有者擁有對文件的權限進行修改的權力,但是若我們想要將這個權力交給另一個用戶,也就是修改一個文件的所有者,那麼就需要使用chown命令(ps:全稱change owner)。

4.2 高頻選項

  • -R #對目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞迴的方式逐個變更)

在這裏插入圖片描述
注意:修改一個文件的所有者只能是 root 用戶對其進行修改。


5.Linux命令之文件所屬組的修改 -chgrp

5.1 概述
文件所屬組中的成員,具備對一個文件對應所屬組的訪問權限,若要將這個權力移交到另一個用戶組中,則需要使用chgrp命令(ps:全稱change group)。

5.2 高頻選項

  • -R #遞歸處理,將指定目錄下的所有文件及子目錄一併處理。

在這裏插入圖片描述
注意:修改文件的所屬組,也同樣需要root用戶進行修改。

五.系統操作權限

在這裏插入圖片描述
因爲權限不足,所以無法打開。

1.Linu命令之切換用戶su(全程:switch user)

1.1 簡述

操作系統中,並不能讓一個用戶可以爲所欲爲,這樣會使得系統的安全性無法得到保障,因此有了操作權限的劃分,在Linux系統中用戶共劃分爲兩類:管理員用戶(root)以及 普通用戶。

su 命令可讓一個普通用戶切換爲超級用戶或其他用戶,並可臨時擁有所切換用戶的權限。

1.2 su命令使用
在這裏插入圖片描述
注意:su命令在進行用戶切換的時候需要輸入目標用戶的密碼才能切換成功。


2.Linux 命令之爲普通用戶提權執行 root 用戶可以執行的命令

2.1 簡述

sudo 是系統管理員允許讓普通用戶執行一些或者全部的 root 權限可以執行的命令的一個工具(執行身份一般當然要短暫成爲 root 嘍)。
在這裏插入圖片描述
2.3 /etc/sudoers 配置文件的修改

任何用戶都可以隨時使用 sudo 指令來對自己的操作進行提權嗎?

不是這樣的,若是這樣的話,則 root 管理員用戶形同虛設,只有管理員將指定用戶添加入 /etc/sudoers 中,這個用戶纔可以進行提權操作,因爲它是系統管理員集中的管理用戶的使用權限和使用的主機的配置文件。
在這裏插入圖片描述
進取該文件後,輸入英文的:,然後輸入100,然後輸入o ,把你要添加的用戶添加進去,然後esc,然後保存即可。

六.grep命令

1.敘述

grep 是一個文本過濾器,作用是在文件中查找符合我們要求的內容。

2.語法格式

  • 形式一:從指定的文件中找出匹配 pattern 的行
    grep [option] pattern [file1,file2,…]
  • 形式二:從管道中找出匹配 pattern 的行
    … | grep [option] pattern
    說明:pattern是由正則表達式字符及文本字符所編寫的過濾條件。

3.常用選項
在這裏插入圖片描述
4.準備的文件file
在這裏插入圖片描述
5.練習

  • -v 選項,反向匹配

在這裏插入圖片描述

  • -i 選項,忽略大小寫
    在這裏插入圖片描述

  • -n 選項,顯示匹配行的行號
    在這裏插入圖片描述

  • -E 支持擴展正則,| 是擴展正則中的特殊含義的符號,代表任意一個匹配(不是管道哦)
    在這裏插入圖片描述

  • -F 不要按正則來解析,就要字符串本身
    在這裏插入圖片描述

grep主要功能是文本過濾,往往需要和管道還有正則表達式搭配使用才能發揮威力。

七.find命令

1.find 命令

1.1簡介
find命令用來在指定目錄下查找文件。任何位於參數之後的字符串都將被視爲欲查找的目錄名。如果使用該命令時,不設置任何參數,則find命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。

1.2 高頻選項

  • -name filename : 文件名稱符合 filename 的文件 , 大小寫敏感
  • -iname filename : 文件名稱符合 filename 的文件,忽略大小寫
  • -empty : 查找空文件
  • -size:查找指定大小的文件
find [path] -name [filename] 

在這裏插入圖片描述


find [path] -iname [filename] 

在這裏插入圖片描述

-iname在使用的時候,對大小寫不敏感,所以我們使用 find 命令的時候就搜出出來兩個文件。


find [path] -empty      #查找當前目錄下的空文件

在這裏插入圖片描述

  • . :代表當前目錄

爲了更好的使用 find 命令,我們需要了解一下 ls or ll 命令。
ll:ls -l 命令的縮寫,查看當前目錄下文件或者文件夾的屬性

[nn@localhost findtest]$ ll
total 4
-rw-rw-r--. 1 Ann Ann  0 Apr 10 23:11 linux
-rw-rw-r--. 1 Ann Ann 21 Apr 10 23:12 Linux

-rw-rw-r–:第一個’-'代表是普通文件, 後面“rw-rw-r–”代表文件的權限,該文件權限爲:對於當前nn用戶而言可讀可寫不可執行,對於nn用戶組而言可讀可寫不可執行,對於其他用戶而言可讀不可寫不可執行。

  • l :文件鏈接數
  • nn:文件所屬用戶
  • nn:文件所屬用戶組
  • 0或者21:文件大小,單位字節
  • Apr 10 23:11:文件創建時間
  • linux或者Linux:文件名稱

find [path] -size [filesize]

查找指定大小的文件:
在這裏插入圖片描述

-size 4k:查找文件大小爲4k的文件


find  [path] -size  +[filesize1]  -[filesize2] :查找大於filesize1的文件並且小於filesize2大小的文件
[nn@localhost testfind]$ find . -size +2k -size -6k
./findtest
[nn@localhost testfind]$ ll
-rw-rw-r--. 1 nn nn 5060 Apr 14 23:51 findtest

-size +2k: 文件大小大於2k,+ 代表大於
-size -6k: 文件大小小於6k,- 代表小於
合起來就是查找大於 2k 而小於 6k 的文件


1.7 總結

find [path] -name [filename]:在 path 目錄下查找文件名爲 filename 的文件,大小寫敏感
find [path] -iname [filename]:在 path 目錄下查找文件名爲 filename 的 文件,大小寫不敏感 
find [path] -empty:在 path 目錄下查找文件大小爲空的文件
find [path] -size [fileszie] :查找定長的文件
find [path] -size +[filesize]:查找大於 filesize 的文件
find [path] -size -[filesize] :查找小於 filesize 的文件
find [path] -size +[filesize1] -size -[filesize2] :查找大於filesize1 的文件並且小於 filesize2 的文件

八.Linux命令之uniq

1.1 簡述
uniq 命令用於檢查及刪除文本文件中重複出現的行;如果使用該命令不加任何命令行參數,則視爲刪除指定文本文件當中重複的行後進行輸出;如果指定輸出文件,則將結果輸出到指定文件當中。

1.2 高頻選項

  • -c:在每行旁邊顯示該行重複出現的次數
  • -u:僅顯示出現一次的行
  • [輸入文件] 指定已寫好的文本文件,如果不指定此項,則從標準輸入讀取數據
  • [輸出文件] 指定輸出的文件,如果不指定此選項,則將內容輸出到標準輸出設備(顯示終端)

1.3 使用命名

先創建一個文件 file
cat 命令:輸出當前文件當中的內容,具體的用法:cat [filename]

在這裏插入圖片描述
我們可以看到:hello 20 出現了1次;linux 30 出現了4次;nice 40 出現了3次

1.4 去除文件當中重複的行輸出到標準輸出設備

uniq [filename] : uniq 命令加上待去重文件的文件名,就可以將該文件當中的重複的行去掉,只留下不重複的行的內容,並且輸出到標準輸出設備上。
在這裏插入圖片描述
上面內容爲我們使用 uniq 命令去重之後輸出到標準輸出上的內容,請注意,在去重的過程中,uniqfile 文件內容沒有被改變,只是在輸出的時候進行了過濾。在這裏插入圖片描述

1.5 刪除文件當中重複的行並輸出到指定文件當中

uniq [filename1][filename2]:uniq命令加上待去重文件的文件名,加上輸出文件的文件名,這樣就可以將重複的行去掉並且輸出到輸出文件當中去。
在這裏插入圖片描述

1.6 在每行旁邊顯示該行重複的次數

uniq -c [filename]:uniq命令加上 -c 命令行參數,加上待去重文件,這樣就可以在每列旁邊顯示該行重複出現的次數。
在這裏插入圖片描述

1.7 顯示只出現一次的行

uniq -u [filename]:uniq 命令加上 -u 命令行參數,加上待去重文件,這樣就可以展示文件當中只出現一次的行。
在這裏插入圖片描述

1.8 總結

  • uniq [filename]:去除文件當中重複的行,輸出到標準輸出設備。
  • uniq [filename1][filename2]:刪除文件當中重複的行,輸出到指定文件當中。
  • uniq -c [filename]:在每行旁邊顯示該行重複的次數。
  • uniq -u [filename]:顯示文件中只出現一次的行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章