1. 程式人生 > 資訊 >囤貨期好物:淘寶心選密封食品袋 9.9 元 36 只

囤貨期好物:淘寶心選密封食品袋 9.9 元 36 只

Linux筆記

目錄結構

  • /boot

    • 存放啟動Linux時使用的一些核心檔案,包括一些連線檔案以及映象檔案,自己安裝的別放在這裡
  • /bin

    • 是Binary(二進位制)的縮寫,這個目錄存放著經常使用(直接使用)的命令
  • /etc

    • 所有的系統所需要的配置檔案和子目錄
  • /usr

    • 很重要,類似於windows中program file資料夾
  • /sbin

    • s就是Super User的縮寫,這裡存放著系統管理員
  • /home

    • 存放普通使用者的主目錄
  • /root

    • 該目錄為系統管理員,也稱作超級許可權的者的使用者目錄
  • /lib

    • 系統開機所需要最基本的動態連線共享庫,其作用類似於Windows裡的DLL檔案。幾乎所有的應用程式都需要用到這些共享庫。
  • /mnt

    • 系統提供該目錄是為了讓使用者臨時掛載別的檔案系統的,我們可以將外部的儲存掛載在l/mnt/上,然後進入該目錄就可以檢視裡的內容了。
  • media

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

    • 這是給主機額外安裝軟體所擺放的目錄。比如你安裝一個mysql資料庫則就可以放到這個目錄下。預設是空的。
  • /var

    • 這個目錄中存放著在不斷制充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌檔案。
  • /dev

    • 存放裝置的資料夾。例如cpu等

VIM編輯器

一般模式下:(刪除,複製,貼上)

語法 功能描述
yy 複製游標當前一行
y數字y 複製一段(從第幾行到第幾行)
y$ 從游標位置複製到 行尾
y^ 從游標位置複製到行頭
P 箭頭移動到目的行貼上
U 撤銷上一步
Dd 刪除游標當前行
d數字d 刪除游標(含)後多少行
x 刪除一個字母,相當於del,向後刪
X 刪除一個字母,相當於Backspace,向前刪
yw 複製一個詞
dw 刪除一個詞
^ 移動到行頭
$ 移動到行尾
gg或者1+G 移動到頁頭
G 移動到頁尾
數字+G(先輸入數字,在按G) 移動到目標行

切換到編輯模式(i,o,a)

在一般模式中可以進行刪除、複製、貼上等的動作,但是無法編輯檔案內容!要等到你按下『i, I, o, O, a, A』等任何一個字母之後才會進入編輯模式。

注意了!通常在Linux中,按下這些按鍵時,在畫面的左下方會出現『INSERT或 REPLACE』的字樣,此時才可以進行編輯。而如果要回到一般模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。

進入編輯模式的方式

按鍵 功能
i 當前游標前
a 當前游標後
o 當前游標行的下一行
I 游標所在行最前
A 游標所在行最後
O 當前游標行的上一行

命令模式

顯示行號 set nu

不顯示行號 set nonu

在一般模式當中,輸入『 : / ?』3箇中的任何一個按鈕,就可以將游標移動到最底下那一行。

在這個模式當中, 可以提供你『搜尋資料』的動作,而讀取、存檔、大量取代字元、離開 vi 、顯示行號等動作是在此模式中達成的!

命令 功能
:w 儲存
:q 退出
:! 強制執行
: %s/old字元/new字元 批量替換
/ 要查詢的詞 n 查詢下一個,N 往上查詢
? 要查詢的詞 n是查詢上一個,N是往下查詢
:set nu 顯示行號
:set nonu 關閉行號
ZZ(shift+zz) :nohl 沒有修改檔案直接退出,如果修改了檔案儲存後退 去除高亮顯示

服務管理

基本語法(****CentOS 7)

systemctl start 服務名 (功能描述:開啟服務)

systemctl stop 服務名 (功能描述:關閉服務)

systemctl restart 服務名 (功能描述:重新啟動服務)

systemctl status 服務名 (功能描述:檢視服務狀態)

systemctl --type service (功能描述:檢視正在執行的服務)

檢視服務的方法:/usr/lib/systemd/system

(1)檢視網路服務的狀態

[root@hadoop100 桌面]#systemctl status network

(2)停止網路服務

[root@hadoop100 桌面]#systemctl stop network

(3)啟動網路服務

[root@hadoop100 桌面]#systemctl start network

(4)重啟網路服務

[root@hadoop100 桌面]#systemctl restart network

設定後臺服務的自啟配置

基本語法(CentOS 7

systemctl list-unit-files (功能描述:檢視所有伺服器自啟配置)

systemctl disable 服務名 (功能描述:關掉指定服務的自動啟動)

systemctl enable 服務名 (功能描述:開啟指定服務的自動啟動)

systemctl is-enabled 服務名(功能描述:檢視服務開機啟動狀態)

(1)關閉防火牆的自動啟動

[root@hadoop100 桌面]#system disable firewalld.service

(2)開啟防火牆的自動啟動

[root@hadoop100 桌面]#system enable firewalld

(3)檢視防火牆狀態

[root@hadoop100桌面]#systemctl is-enabled firewalld

關機重啟命令

正確的關機流程為:sync > shutdown > reboot >poweroff

(1)將資料由記憶體同步到硬碟中

[root@hadoop100桌面]#sync

(2)重啟

[root@hadoop100桌面]# reboot

(3)關機

[root@hadoop100桌面]#poweroff

(4)計算機將在1分鐘後關機,並且會顯示在登入使用者的當前螢幕中

[root@hadoop100桌面]#shutdown -h 1 ‘This server will shutdown after 1 mins’

(5)立馬關機(等同於 halt)

[root@hadoop100桌面]# shutdown -h now

(6)系統立馬重啟(等同於 reboot)

[root@hadoop100桌面]# shutdown -r now

常用基本命令

man 獲得幫助資訊

  • [root@hadoop101 ~]# man ls
    

help 獲得shell內建命令的幫助資訊

  • [root@hadoop101 ~]# help cd
    

常用快捷鍵

常用快捷鍵 功能
ctrl + c 停止程序
ctrl+l 清屏;徹底清屏是:reset
ctrl + q 退出
善於用tab 提示(更重要的是可以防止敲錯)
上下鍵 查詢執行過的命令
ctrl +alt linux和Windows之間切換

pwd 顯示當前工作目錄的絕對路徑

pwd (功能描述:顯示當前工作目錄的絕對路徑)

[root@hadoop101 ~]# pwd
/root

ls 列出目錄的內容

選項 功能
-a 全部的檔案,連同隱藏檔( 開頭為 . 的檔案) 一起列出來(常用)
-l 長資料串列出,包含檔案的屬性與許可權等等資料;(常用)

顯示說明

每行列出的資訊依次是: **檔案型別與許可權 ** 連結數 檔案屬主 檔案屬組 檔案大小用byte來表示 建立或最近修改的時間 名字

[atguigu@hadoop101 ~]$ ls -al
總用量 44
drwx------. 5 atguigu atguigu 4096 5月  27 15:15 .
drwxr-xr-x. 3 root    root    4096 5月  27 14:03 ..
drwxrwxrwx. 2 root    root    4096 5月  27 14:14 hello
-rwxrw-r--. 1 atguigu atguigu   34 5月  27 14:20 test.txt

cd 切換目錄

引數 功能
cd 絕對路徑 切換路徑
cd相對路徑 切換路徑
cd ~或者cd 回到自己的家目錄
cd - 回到上一次所在目錄
cd .. 回到當前目錄的上一級目錄
cd -P 跳轉到實際物理路徑,而非快捷方式路徑

(1)使用絕對路徑切換到root目錄

[root@hadoop101 ~]# cd /root/

(2)使用相對路徑切換到“公共的”目錄

[root@hadoop101 ~]# cd 公共的/

(3)表示回到自己的家目錄,亦即是 /root 這個目錄

[root@hadoop101 公共的]# cd ~

(4)cd- 回到上一次所在目錄

[root@hadoop101 ~]# cd -

(5)表示回到當前目錄的上一級目錄,亦即是 “/root/公共的”的上一級目錄的意思;

[root@hadoop101 公共的]# cd ..

mkdir 建立一個新的目錄

[root@hadoop101 ~]# mkdir xiyou
[root@hadoop101 ~]# mkdir xiyou/mingjie

(2)建立一個多級目錄

[root@hadoop101 ~]# mkdir -p xiyou/dssz/meihouwang

rmdir 刪除一個空的目錄

(1)刪除一個空的資料夾

[root@hadoop101 ~]# rmdir xiyou/dssz/meihouwang

touch 建立空檔案.

touch 檔名稱

[root@hadoop101 ~]# touch xiyou/dssz/sunwukong.txt

cp 複製檔案或目錄

cp [選項] source dest (功能描述:複製source檔案到dest)

選項 功能
-r 遞迴複製整個資料夾
引數 功能
source 原始檔
dest 目標檔案

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

(1)複製檔案

 [root@hadoop101 ~]# cp xiyou/dssz/suwukong.txt xiyou/mingjie/

(2)遞迴複製整個資料夾

 [root@hadoop101 ~]# cp -r xiyou/dssz/ ./

rm 移除檔案或目錄

基本語法

rm [選項] deleteFile (功能描述:遞迴刪除目錄中所有內容)

選項 功能
-r 遞迴刪除目錄中所有內容
-f 強制執行刪除操作,而不提示用於進行確認。
-v 顯示指令的詳細執行過程

(1)刪除目錄中的內容

[root@hadoop101 ~]# rm xiyou/mingjie/sunwukong.txt

(2)-rf 遞迴刪除目錄中所有內容(完全刪除)

[root@hadoop101 ~]# rm -rf dssz/

mv 移動檔案與目錄或重新命名

1)基本語法

​ (1)mv oldNameFile newNameFile (功能描述:重新命名)

​ (2)mv /temp/movefile /targetFolder (功能描述:移動檔案)

(1)重新命名

[root@hadoop101 ~]# mv xiyou/dssz/suwukong.txt xiyou/dssz/houge.txt

(2)移動檔案

[root@hadoop101 ~]# mv xiyou/dssz/houge.txt ./

cat檢視檔案內容

cat [選項] 要檢視的檔案

2)選項說明

表1-14

選項 功能描述
-n 顯示所有行的行號,包括空行。

3)經驗技巧

一般檢視比較小的檔案,一螢幕能顯示全的

4)案例實操

​ (1)檢視檔案內容並顯示行號

[atguigu@hadoop101 ~]$ cat -n houge.txt 

more 檔案內容分屏檢視器

more 要檢視的檔案

操作 功能說明
空白鍵 (space) 代表向下翻一頁;
Enter 代表向下翻『一行』;
q 代表立刻離開 more ,不再顯示該檔案內容。
Ctrl+F 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出檔名和當前行的行號
[root@hadoop101 ~]# more smartd.conf

less 分屏顯示檔案內容

​ less 要檢視的檔案

操作 功能說明
空白鍵 向下翻動一頁;
[pagedown] 向下翻動一頁
[pageup] 向上翻動一頁;
/字串 向下搜尋『字串』的功能;n:向下查詢;N:向上查詢;
?字串 向上搜尋『字串』的功能;n:向上查詢;N:向下查詢;
q 離開 less 這個程式;

採用less檢視檔案

[root@hadoop101 ~]# less smartd.conf

echo輸出內容到控制檯

echo [選項] [輸出內容]

控制字元 作用
\ 輸出\本身
\n 換行符
\t 製表符,也就是Tab鍵
[atguigu@hadoop101 ~]$ echo "hello\tworld"
hello\tworld
[atguigu@hadoop101 ~]$ echo -e "hello\tworld"
hello		world

head 顯示檔案頭部內容

head 用於顯示檔案的開頭部分內容,預設情況下 head 指令顯示檔案的前 10 行內容。

1)基本語法

head 檔案 (功能描述:檢視檔案頭10行內容)

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

(1)檢視檔案的頭2行

[root@hadoop101 ~]# head -n 2 smartd.conf

tail 輸出檔案尾部內容

tail用於輸出檔案中尾部的內容,預設情況下tail指令顯示檔案的後10行內容。

1)基本語法

(1)tail 檔案 (功能描述:檢視檔案後10行內容)

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

(3)tail -f 檔案 (功能描述:實時追蹤該文件的所有更新)

選項 功能
-n<行數> 輸出檔案尾部n行內容
-f 顯示檔案最新追加的內容,監視檔案變化

> 覆蓋 和 >> 追加

基本語法

(1)ll >檔案 (功能描述:列表的內容寫入檔案a.txt中(覆蓋寫))

(2)ll >>檔案 (功能描述:列表的內容追加到檔案aa.txt的末尾)

(3)cat 檔案1 > 檔案2 (功能描述:將檔案1的內容覆蓋到檔案2)

(4)echo “內容” >> 檔案

案例實操

(1)將ls檢視資訊寫入到檔案中

[root@hadoop101 ~]# ls -l>houge.txt

(2)將ls檢視資訊追加到檔案中

[root@hadoop101 ~]# ls -l>>houge.txt

(3)採用echo將hello單詞追加到檔案中

[root@hadoop101 ~]# echo hello>>houge.txt

ln 軟連結

軟連結也稱為符號連結,類似於 windows 裡的快捷方式,有自己的資料塊,主要存放了連結其他檔案的路徑。

1)基本語法

ln -s [原檔案或目錄] [軟連結名] (功能描述:給原檔案建立一個軟連結)

2)經驗技巧

刪除軟連結: rm -rf 軟連結名,而不是 rm -rf 軟連結名/

如果使用 rm -rf 軟連結名/ 刪除,會把軟連結對應的真實目錄下內容刪掉查詢:通過 ll 就可以檢視,列表屬性第 1 位是 l,尾部會有位置指向。

3)案例實操

(1)建立軟連線

(2)刪除軟連線(注意不要寫最後的/)

[root@hadoop101 ~]# rm -rf houzi

(3)進入軟連線實際物理路徑

[root@hadoop101 ~]# ln -s xiyou/dssz/ ./dssz

 [root@hadoop101 ~]# cd -P dssz/

使用者管理

useradd 新增新使用者

基本語法

useradd 使用者名稱 (功能描述:新增新使用者)

useradd -g 組名 使用者名稱 (功能描述:新增新使用者到某個組)

2)案例實操

(1)新增一個使用者

[root@hadoop101 ~]# useradd tangseng 
[root@hadoop101 ~]#ll /home/

passwd 設定使用者密碼

passwd 使用者名稱 (功能描述:設定使用者密碼

2)案例實操

(1)設定使用者的密碼

[root@hadoop101 ~]# passwd tangseng

id 檢視使用者是否存在

檢視使用者是否存在

[root@hadoop101 ~]#id tangseng

cat /etc/passwd 檢視建立了哪些使用者

[root@hadoop101 ~]# cat	/etc/passwd

su 切換使用者

su: swith user 切換使用者

1)基本語法

su 使用者名稱稱 (功能描述:切換使用者,只能獲得使用者的執行許可權,不能獲得環境變數)

su - 使用者名稱稱 (功能描述:切換到使用者並獲得該使用者的環境變數及執行許可權)

2)案例實操

[root@hadoop101 ~]#su tangseng 
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt- 3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/b in
[root@hadoop101 ~]#exit 
[root@hadoop101 ~]#su - tangseng 
[root@hadoop101 ~]#echo $PATH
/usr/lib64/qt- 3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/t angseng/bin

userdel 刪除使用者

(1) userdel 使用者名稱 (功能描述:刪除使用者但儲存使用者主目錄)

(2) userdel -r 使用者名稱 (功能描述:使用者和使用者主目錄,都刪除)

who 檢視登入使用者資訊

who am i (功能描述:顯示登入使用者的使用者名稱以及登陸時間)

whoami (功能描述:顯示自身使用者名稱稱)

sudo 設定普通使用者具有 root 許可權

新增 atguigu 使用者,並對其設定密碼。

[root@hadoop101 ~]#useradd atguigu 
[root@hadoop101 ~]#passwd atguigu

修改配置檔案

[root@hadoop101 ~]#vi /etc/sudoers

修改 /etc/sudoers 檔案,找到下面一行(91 行),在 root 下面新增一行,如下所示:

## Allow root to run any commands anywhere 
root	ALL=(ALL)	ALL
atguigu	ALL=(ALL)	ALL

或者配置成採用 sudo 命令時,不需要輸入密碼

## Allow root to run any commands anywhere 
root	ALL=(ALL)	ALL
atguigu	ALL=(ALL)	NOPASSWD:ALL

修改完畢,現在可以用 atguigu 帳號登入,然後用命令 sudo ,即可獲得 root 許可權進行操作。


用普通使用者在/opt 目錄下建立一個資料夾

[atguigu@hadoop101 opt]$ sudo mkdir module 
[root@hadoop101 opt]# chown atguigu:atguigu module/

usermod 修改使用者

usermod -g 使用者組 使用者名稱

將使用者加入到使用者組

[root@hadoop101 opt]# usermod -g root zhubajie

groupadd 新增組.

新增一個xitianqujing組

[root@hadoop101 opt]#groupadd xitianqujing

groupdel 刪除組

groupdel 組名

[root@hadoop101 opt]# groupdel xitianqujing

groupmod 修改組

groupmod -n 新組名 老組名

[root@hadoop101 ~]#groupmod -n  aaa1 xitianqujing 

cat /etc/group 檢視建立了哪些組

[root@hadoop101 atguigu]# cat	/etc/group

檔案許可權類

- 代表檔案

d 代表目錄

l 連結文件(link file);

2) rwx 作用檔案和目錄的不同解釋

作用到檔案:

[ r ]代表可讀(read): 可以讀取,檢視

[ w ]代表可寫(write): 可以修改,但是不代表可以刪除該檔案,刪除一個檔案的前提條件是對該檔案所在的目錄有寫許可權,才能刪除該檔案.

[ x ]代表可執行(execute):可以被系統執行

作用到目錄:

[ r ]代表可讀(read): 可以讀取,ls檢視目錄內容

[ w ]代表可寫(write): 可以修改,目錄內建立+刪除+重新命名目錄

[ x ]代表可執行(execute):可以進入該目錄

(1)如果檢視到是檔案:連結數指的是硬連結個數。

(2)如果檢視的是資料夾:連結數指的是子檔案夾個數。

chmod 改變許可權

兩種方式

  • chmod [{ugoa}{+-=}{rwx}] 檔案或目錄

  • chmod [mode=421 ] [檔案或目錄]

u:所有者 g:所有組 o:其他人 a:所有人(u、g、o 的總和) r=4 w=2 x=1 rwx=4+2+1=7

  • 修改檔案使其所屬主使用者具有執行許可權

    • [root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./ 
      [root@hadoop101 ~]# chmod u+x houge.txt
      
  • 修改檔案使其所屬組使用者具有執行許可權

    • [root@hadoop101 ~]# chmod g+x houge.txt
      
  • 修改檔案所屬主使用者執行許可權,並使其他使用者具有執行許可權

    • [root@hadoop101 ~]# chmod u-x,o+x houge.txt
      
  • 採用數字的方式,設定檔案所有者、所屬組、其他使用者都具有可讀可寫可執行許可權。

    • [root@hadoop101 ~]# chmod 777 houge.txt
      
  • 修改整個資料夾裡面的所有檔案的所有者、所屬組、其他使用者都具有可讀可寫可執行許可權。

    • [root@hadoop101 ~]# chmod -R 777 xiyou/
      

chown 改變所有者

搜尋查詢類

7.7.1 find 查詢檔案或者目錄

find [搜尋範圍] [選項]

選項 功能
-name<查詢方式> 按照指定的檔名查詢模式查詢檔案
-user<使用者名稱> 查詢屬於指定使用者名稱所有檔案
-size<檔案大小> 按照指定的檔案大小查詢檔案,單位為: b —— 塊(512 位元組) c —— 位元組 w —— 字(2 位元組) k —— 千位元組 M —— 兆位元組 G —— 吉位元組
  • 按檔名:根據名稱查詢/目錄下的filename.txt檔案。
[root@hadoop101 ~]# find xiyou/ -name "*.txt"
  • 按擁有者:查詢/opt目錄下,使用者名稱稱為atguigu的檔案
[root@hadoop101 ~]# find xiyou/ -user atguigu
  • 按檔案大小:在/home目錄下查詢大於200m的檔案(+n 大於 -n小於 n等於)
[root@hadoop101 ~]find /home -size +204800

locate 快速定位檔案路徑

ocate 指令利用事先建立的系統中所有檔名稱及路徑的 locate 資料庫實現快速定位給定的檔案。Locate 指令無需遍歷整個檔案系統,查詢速度較快。為了保證查詢結果的準確度,管理員必須定期更新 locate 時刻。

1)基本語法

locate 搜尋檔案

由於 locate 指令基於資料庫進行查詢,所以第一次執行前,必須使用 updatedb 指令建立 locate 資料庫。

  • 查詢資料夾

  • [root@hadoop101 ~]# updatedb 
    [root@hadoop101 ~]#locate tmp
    

grep 過濾查詢及“|”管道符

管道符,“|”,表示將前一個命令的處理結果輸出傳遞給後面的命令處理

grep 選項 查詢內容 原始檔

選項 功能
-n 顯示匹配行及行號。
  • 查詢某檔案在第幾行

  • [root@hadoop101 ~]# ls | grep -n test
    

壓縮與解壓

tar -zxvf 用於解壓 .tar.gz 字尾結尾的
tar -xvf 用於解壓 .tar字尾結尾的

7.8.1 gzip/gunzip 壓縮

基本語法

gzip 檔案 (功能描述:壓縮檔案,只能將檔案壓縮為*.gz 檔案)

gunzip 檔案.gz (功能描述:解壓縮檔案命令)

  • 只能壓縮檔案不能壓縮目錄
  • 不保留原來的檔案
  • 同時多個檔案會產生多個壓縮包

gzip壓縮

root@hadoop101 ~]# ls test.java
[root@hadoop101 ~]# gzip houge.txt 
[root@hadoop101 ~]# ls houge.txt.gz

gunzip解壓縮檔案

[root@hadoop101 ~]# gunzip houge.txt.gz 
[root@hadoop101 ~]# ls houge.txt

zip/unzip 壓縮

基本語法

zip [選項] XXX.zip 將要壓縮的內容 (功能描述:壓縮檔案和目錄的命令)

unzip [選項] XXX.zip (功能描述:解壓縮檔案)

zip 選項 功能
-r 壓縮目錄
unzip 選項 功能
-d<目錄> 指定解壓後文件的存放目錄

zip 壓縮命令在windows/linux都通用,可以壓縮目錄且保留原始檔

  • 壓縮 houge.txt 和bailongma.txt,壓縮後的名稱為mypackage.zip

  • [root@hadoop101 opt]# touch bailongma.txt
    [root@hadoop101 ~]# zip mypackage.zip houge.txt bailongma.txt adding: houge.txt (stored 0%)
    adding: bailongma.txt (stored 0%) [root@hadoop101 opt]# ls
    houge.txt	bailongma.txt	mypackage.zip
    
  • 解壓 mypackage.zip

  • [root@hadoop101 ~]# unzip mypackage.zip Archive:	houma.zip
    extracting: houge.txt extracting: bailongma.txt
    [root@hadoop101 ~]# ls
    houge.txt	bailongma.txt	mypackage.zip
    
  • 解壓mypackage.zip到指定目錄-d

  • [root@hadoop101 ~]# unzip mypackage.zip -d /opt 
    [root@hadoop101 ~]# ls /opt/
    

tar 打包

tar [選項] XXX.tar.gz 將要打包進去的內容 (功能描述:打包目錄,壓縮後的檔案格式.tar.gz)

選項 功能
-c 產生.tar 打包檔案
-v 顯示詳細資訊
-f 指定壓縮後的檔名
-z 打包同時壓縮
-x 解包.tar 檔案
-C 解壓到指定目錄

tar -zxvf 用於解壓 .tar.gz 字尾結尾的
tar -xvf 用於解壓 .tar字尾結尾的

  • 壓縮多個檔案

  • [root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt houge.txt
    bailongma.txt [root@hadoop101 opt]# ls
    houma.tar.gz houge.txt bailongma.txt
    
  • 壓縮目錄

  • [root@hadoop101 ~]# tar -zcvf xiyou.tar.gz 
    xiyou/ 
    xiyou/
    xiyou/mingjie/ 
    xiyou/dssz/ xiyou/dssz/houge.txt
    
  • 解壓到當前目錄

  • [root@hadoop101 ~]# tar -zxvf houma.tar.gz
    
  • 解壓到指定目錄

  • [root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt 
    [root@hadoop101 ~]# ll /opt/
    

磁碟檢視和分割槽類

du 檢視檔案和目錄佔用的磁碟空間

du: disk usage 磁碟佔用情況

du 目錄/檔案 (功能描述:顯示目錄下每個子目錄的磁碟使用情況)

選項 功能
-h 以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
-a 不僅檢視子目錄大小,還要包括檔案
-c 顯示所有的檔案和子目錄大小後,顯示總和
-s 只顯示總和
--max-depth=n 指定統計子目錄的深度為第 n 層
  • 檢視當前使用者主目錄佔用的磁碟空間大小

  • [root@hadoop101 ~]# du -sh 
    166M
    

df 檢視磁碟空間使用情況

df 選項 (功能描述:列出檔案系統的整體磁碟使用量,檢查檔案系統的磁碟空間佔用情況)

選項 功能
-h 以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;

檢視磁碟使用情況

[root@hadoop101 ~]# df -h 
Filesystem Size	Used Avail Use%	Mounted on
/dev/sda2	15G	3.5G	11G	26%	/
tmpfs	939M	224K	939M	1%	/dev/shm
/dev/sda1	190M	39M	142M	22%	/boot

lsblk 檢視裝置掛載情況

lsblk (功能描述:檢視裝置掛載情況)

選項 功能
-f 檢視詳細的裝置掛載情況,顯示檔案系統資訊

mount/umount 掛載/解除安裝

基本語法

mount [-t vfstype] [-o options] device dir (功能描述:掛載裝置)

umount 裝置檔名或掛載點 (功能描述:解除安裝裝置)

-t vfstype 指定檔案系統的型別,通常不必指定。mount 會自動選擇正確的型別。常用型別有: 光碟或光碟映象:iso9660 DOS fat16 檔案系統:msdos Windows 9x fat32 文 件 系 統 :vfat Windows NT ntfs 文 件 系 統 :ntfs Mount Windows 檔案網路共享:smbfs UNIX(LINUX) 檔案網路共享:nfs
-o options 主要用來描述裝置或檔案的掛接方式。常用的引數有: loop:用來把一個檔案當成硬碟分割槽掛接上系統 ro:採用只讀方式掛接裝置 rw:採用讀寫方式掛接裝置 iocharset:指定訪問檔案系統所用字符集
device 要掛接(mount)的裝置
dir 裝置在系統上的掛接點(mount point)

fdisk 分割槽

fdisk -l (功能描述:檢視磁碟分割槽詳情)

fdisk 硬碟裝置名 (功能描述:對新增硬碟進行分割槽操作)

選項 功能
-l 顯示所有硬碟的分割槽列表

該命令必須在 root 使用者下才能使用

功能說明

(1)Linux 分割槽

Device:分割槽序列Boot:引導

Start:從X磁柱開始

End:到Y磁柱結束

Blocs:容量Id:分割槽型別ID

System:分割槽型別

(2)分割槽操作按鍵說明

m:顯示命令列表

p:顯示當前磁碟分割槽

n:新增分割槽 w:寫入分割槽資訊並退出 q:不儲存分割槽資訊直接退出

  • 檢視系統分割槽情況

  • [root@hadoop101 /]# fdisk -l
    

程序管理類

ps 檢視當前系統程序狀態

ps aux | grep xxx (功能描述:檢視系統中所有程序)

ps -ef | grep xxx (功能描述:可以檢視子父程序之間的關係)

選項 功能
a 列出帶有終端的所有使用者的程序
x 列出當前使用者的所有程序,包括沒有終端的程序
u 面向使用者友好的顯示風格
-e 列出所有程序
-u 列出某個使用者關聯的所有程序
-f 顯示完整格式的程序列表
  • ps aux 顯示資訊說明
  1. USER:該程序是由哪個使用者產生的
  2. PID:程序的 ID 號
  3. %CPU:該程序佔用 CPU 資源的百分比,佔用越高,程序越耗費資源;
  4. %MEM:該程序佔用實體記憶體的百分比,佔用越高,程序越耗費資源; VSZ:該程序佔用虛擬記憶體的大小,單位 KB;
  5. RSS:該程序佔用實際實體記憶體的大小,單位 KB; TTY:該程序是在哪個終端中執行的。對於 CentOS 來說,tty1 是圖形化終端, tty2-tty6 是本地的字元介面終端。pts/0-255 代表虛擬終端。 STAT: 程序狀態。常見的狀態有:R:執行狀態、S:睡眠狀態、T:暫停狀態、
  6. Z:殭屍狀態、s:包含子程序、l:多執行緒、+:前臺顯示
  7. START:該程序的啟動時間
  8. TIME:該程序佔用 CPU 的運算時間,注意不是系統時間
  9. COMMAND:產生此程序的命令名

ps -ef 顯示資訊說明

  1. UID:使用者 ID
  2. PID:程序 ID
  3. PPID:父程序 ID
  4. C:CPU 用於計算執行優先順序的因子。數值越大,表明程序是 CPU 密集型運算, 執行優先順序會降低;數值越小,表明程序是 I/O 密集型運算,執行優先順序會提高
  5. STIME:程序啟動的時間
  6. TTY:完整的終端名稱
  7. TIME:CPU 時間
  8. CMD:啟動程序所用的命令和引數

如果想檢視程序的 CPU 佔用率和記憶體佔用率,可以使用 aux;

如果想檢視程序的父程序 ID 可以使用 ef;

kill 終止程序

kill [選項] 程序號 (功能描述:通過程序號殺死程序)

killall 程序名稱 (功能描述:通過程序名稱殺死程序,也支援萬用字元,這在系統因負載過大而變得很慢時很有用)

選項 功能
-9 表示強迫程序立即停止
  • 殺死瀏覽器程序

  • [root@hadoop101 桌面]# kill -9 5102
    
  • 通過程序名稱殺死程序

  • [root@hadoop101 桌面]# killall firefox
    

pstree 檢視程序樹

pstree [選項]

選項 功能
-p 顯示程序的 PID
-u 顯示程序的所屬使用者

top 實時監控系統程序狀態

top [選項]

選項 功能
-d 秒數 指定 top 命令每隔幾秒更新。預設是 3 秒在 top 命令的互動模式當 中可以執行的命令:
-i 使 top 不顯示任何閒置或者僵死程序。
-p 通過指定監控程序 ID 來僅僅監控某個程序的狀態。

2) 操作說明

操作 功能
P 以 CPU 使用率排序,預設就是此項
M 以記憶體的使用率排序
N 以 PID 排序
q 退出 top

查詢結果欄位解釋

第一行資訊為任務佇列資訊

內容 說明
12:26:46 系統當前時間
up 1 day, 13:32 系統的執行時間,本機已經執行 1 天 13 小時 32 分鐘
2 users 當前登入了兩個使用者
load average: 0.00, 0.00, 0.00 系統在之前 1 分鐘,5 分鐘,15 分鐘的平均負載。一般認為小於 1 時,負載較小。如果大於 1,系統已經超出負荷。

第二行為程序資訊

Tasks: 95 total 系統中的程序總數
1 running 正在執行的程序數
94 sleeping 睡眠的程序
0 stopped 正在停止的程序
0 zombie 殭屍程序。如果不是 0,需要手工檢查殭屍程序

第三行為 CPU 資訊

Cpu(s): 0.1%us 使用者模式佔用的 CPU 百分比
0.1%sy 系統模式佔用的 CPU 百分比
0.0%ni 改變過優先順序的使用者程序佔用的 CPU 百分比
99.7%id 空閒 CPU 的 CPU 百分比
0.1%wa 等待輸入/輸出的程序的佔用 CPU 百分比
0.0%hi 硬中斷請求服務佔用的 CPU 百分比
0.1%si 軟中斷請求服務佔用的 CPU 百分比
0.0%st st(Steal time)虛擬時間百分比。就是當有虛擬 機時,虛擬 CPU 等待實際 CPU 的時間百分比。

第四行為實體記憶體資訊

Mem: 625344k total 實體記憶體的總量,單位 KB
571504k used 已經使用的實體記憶體數量
53840k free 空閒的實體記憶體數量,我們使用的是虛擬機器,總共只分配了 628MB 記憶體,所以只有 53MB 的空 閒記憶體了
65800k buffers 作為緩衝的記憶體數量

第五行為交換分割槽(swap)資訊

Swap: 524280k total 交換分割槽(虛擬記憶體)的總大小
0k used 已經使用的互動分割槽的大小
524280k free 空閒交換分割槽的大小
409280k cached 作為快取的互動分割槽的大小

案例實操

[root@hadoop101 atguigu]# top -d 1 
[root@hadoop101 atguigu]# top -i 
[root@hadoop101 atguigu]# top -p 2575

執行上述命令後,可以按 P、M、N 對查詢出的程序結果進行排序。

netstat 顯示網路狀態和端口占用資訊

netstat -anp | grep 程序號 (功能描述:檢視該程序網路資訊)

netstat –nlp | grep 埠號 (功能描述:檢視網路埠號佔用情況)

選項 功能
-a 顯示所有正在監聽(listen)和未監聽的套接字(socket)
-n 拒絕顯示別名,能顯示數字的全部轉化成數字
-l 僅列出在監聽的服務狀態
-p 表示顯示哪個程序在呼叫
  • 通過程序號檢視sshd程序的網路資訊

  • [root@hadoop101 hadoop-2.7.2]# netstat -anp | grep sshd
    
  • 檢視某埠號是否被佔用

  • [root@hadoop101 桌面]# netstat -nltp | grep 2
    

修改Ip地址

修改 vim /etc/sysconfig/network-scripts/ifcfg-ens33 ,
修改 IP 地址,
vim /etc/sysconfig/network-scripts/ifcfg-eth0

vim /etc/hostname

Linux 常用命令

find、df、tar、ps、top、netstat 等。(儘量說一些高階命令)

Linux 檢視記憶體、磁碟儲存、io 讀寫、端口占用、程序等命令

答案:
1、檢視記憶體:top
2、檢視磁碟儲存情況:df -h
3、查 看磁碟 IO 讀寫情況:iotop(需要安裝一下:yum install iotop)、 iotop -o(直接檢視輸出比較高的磁碟讀寫程式)
4、檢視端口占用情況:netstat -tunlp | grep 埠號
5、檢視程序:ps -aux