囤貨期好物:淘寶心選密封食品袋 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 顯示資訊說明
- USER:該程序是由哪個使用者產生的
- PID:程序的 ID 號
- %CPU:該程序佔用 CPU 資源的百分比,佔用越高,程序越耗費資源;
- %MEM:該程序佔用實體記憶體的百分比,佔用越高,程序越耗費資源; VSZ:該程序佔用虛擬記憶體的大小,單位 KB;
- RSS:該程序佔用實際實體記憶體的大小,單位 KB; TTY:該程序是在哪個終端中執行的。對於 CentOS 來說,tty1 是圖形化終端, tty2-tty6 是本地的字元介面終端。pts/0-255 代表虛擬終端。 STAT: 程序狀態。常見的狀態有:R:執行狀態、S:睡眠狀態、T:暫停狀態、
- Z:殭屍狀態、s:包含子程序、l:多執行緒、+:前臺顯示
- START:該程序的啟動時間
- TIME:該程序佔用 CPU 的運算時間,注意不是系統時間
- COMMAND:產生此程序的命令名
ps -ef 顯示資訊說明
- UID:使用者 ID
- PID:程序 ID
- PPID:父程序 ID
- C:CPU 用於計算執行優先順序的因子。數值越大,表明程序是 CPU 密集型運算, 執行優先順序會降低;數值越小,表明程序是 I/O 密集型運算,執行優先順序會提高
- STIME:程序啟動的時間
- TTY:完整的終端名稱
- TIME:CPU 時間
- 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