Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
源:banana 童
www.cnblogs.com/bananaaa/p/7774467.html
linux 命令是對(duì) Linux 系統(tǒng)進(jìn)行管理的命令。對(duì)于 Linux 系統(tǒng)來(lái)說(shuō),無(wú)論是中央處理器、內(nèi)存、磁盤驅(qū)動(dòng)器、鍵盤、鼠標(biāo),還是用戶等都是文件, Linux 系統(tǒng)管理的命令是它正常運(yùn)行的核心,與之前的 DOS 命令類似。linux 命令在系統(tǒng)中有兩種類型:內(nèi)置 Shell 命令和 Linux 命令。
man | 查看命令幫助,命令的詞典,更復(fù)雜的還有 info,但不常用。 |
help | 查看 Linux 內(nèi)置命令的幫助,比如 cd 命令 |
ls | 全拼 list,功能是列出目錄的內(nèi)容及其內(nèi)容屬性信息。 |
cd | 全拼 change directory,功能是從當(dāng)前工作目錄切換到指定的工作目錄。 |
cp | 全拼 copy,其功能為復(fù)制文件或目錄。 |
find | 查找的意思,用于查找目錄及目錄下的文件。 |
mkdir | 全拼 make directories,其功能是創(chuàng)建目錄。 |
mv | 全拼 move,其功能是移動(dòng)或重命名文件。 |
pwd | 全拼 print working directory,其功能是顯示當(dāng)前工作目錄的絕對(duì)路徑。 |
rename | 用于重命名文件。 |
rm | 全拼 remove,其功能是刪除一個(gè)或多個(gè)文件或目錄。 |
rmdir | 全拼 remove empty directories,功能是刪除空目錄。 |
touch | 創(chuàng)建新的空文件,改變已有文件的時(shí)間戳屬性。 |
tree | 功能是以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容。 |
dirname | 顯示文件或目錄路徑。 |
chattr | 改變文件的擴(kuò)展屬性。 |
lsattr | 查看文件擴(kuò)展屬性。 |
file | 顯示文件的類型。 |
md5sum | 計(jì)算和校驗(yàn)文件的 MD5 值。 |
cat | 全拼 concatenate,功能是用于連接多個(gè)文件并且打印到屏幕輸出或重定向到指定文件中。 |
tac | tac 是 cat 的反向拼寫,因此命令的功能為反向顯示文件內(nèi)容。 |
more | 分頁(yè)顯示文件內(nèi)容。 |
less | 分頁(yè)顯示文件內(nèi)容,more 命令的相反用法。 |
head | 顯示文件內(nèi)容的頭部。 |
tail | 顯示文件內(nèi)容的尾部。 |
cut | 將文件的每一行按指定分隔符分割并輸出。 |
split | 分割文件為不同的小片段。 |
paste | 按行合并文件內(nèi)容。 |
sort | 對(duì)文件的文本內(nèi)容排序。 |
uniq | 去除重復(fù)行。oldboy |
wc | 統(tǒng)計(jì)文件的行數(shù)、單詞數(shù)或字節(jié)數(shù)。 |
iconv | 轉(zhuǎn)換文件的編碼格式。 |
dos2unix | 將 DOS 格式文件轉(zhuǎn)換成 UNIX 格式。 |
diff | 全拼 difference,比較文件的差異,常用于文本文件。 |
vimdiff | 命令行可視化文件比較工具,常用于文本文件。 |
rev | 反向輸出文件內(nèi)容。 |
grep/egrep | 過(guò)濾字符串,三劍客老三。 |
join | 按兩個(gè)文件的相同字段合并。 |
tr | 替換或刪除字符。 |
vi/vim | 命令行文本編輯器。 |
tar | 打包壓縮。oldboy |
unzip | 解壓文件。 |
gzip | gzip 壓縮工具。 |
zip | 壓縮工具。 |
uname | 顯示操作系統(tǒng)相關(guān)信息的命令。 |
hostname | 顯示或者設(shè)置當(dāng)前系統(tǒng)的主機(jī)名。 |
dmesg | 顯示開機(jī)信息,用于診斷系統(tǒng)故障。 |
uptime | 顯示系統(tǒng)運(yùn)行時(shí)間及負(fù)載。 |
stat | 顯示文件或文件系統(tǒng)的狀態(tài)。 |
du | 計(jì)算磁盤空間使用情況。 |
df | 報(bào)告文件系統(tǒng)磁盤空間的使用情況。 |
top | 實(shí)時(shí)顯示系統(tǒng)資源使用情況。 |
free | 查看系統(tǒng)內(nèi)存。 |
date | 顯示與設(shè)置系統(tǒng)時(shí)間。 |
cal | 查看日歷等時(shí)間信息。 |
which | 查找二進(jìn)制命令,按環(huán)境變量 PATH 路徑查找。 |
find | 從磁盤遍歷查找文件或目錄。 |
whereis | 查找二進(jìn)制命令,按環(huán)境變量 PATH 路徑查找。 |
locate | 從數(shù)據(jù)庫(kù) (/var/lib/mlocate/mlocate.db) 查找命令,使用 updatedb 更新庫(kù)。 |
useradd | 添加用戶。 |
usermod | 修改系統(tǒng)已經(jīng)存在的用戶屬性。 |
userdel | 刪除用戶。 |
groupadd | 添加用戶組。 |
passwd | 修改用戶密碼。 |
chage | 修改用戶密碼有效期限。 |
id | 查看用戶的 uid,gid 及歸屬的用戶組。 |
su | 切換用戶身份。 |
visudo | 編輯 / etc/sudoers 文件的專屬命令。 |
sudo | 以另外一個(gè)用戶身份(默認(rèn) root 用戶)執(zhí)行事先在 sudoers 文件允許的命令。 |
telnet | 使用 TELNET 協(xié)議遠(yuǎn)程登錄。 |
ssh | 使用 SSH 加密協(xié)議遠(yuǎn)程登錄。 |
scp | 全拼 secure copy,用于不同主機(jī)之間復(fù)制文件。 |
wget | 命令行下載文件。 |
ping | 測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性。 |
route | 顯示和設(shè)置 linux 系統(tǒng)的路由表。 |
ifconfig | 查看、配置、啟用或禁用網(wǎng)絡(luò)接口的命令。 |
ifup | 啟動(dòng)網(wǎng)卡。 |
ifdown | 關(guān)閉網(wǎng)卡。 |
netstat | 查看網(wǎng)絡(luò)狀態(tài)。 |
ss | 查看網(wǎng)絡(luò)狀態(tài)。 |
nmap | 網(wǎng)絡(luò)掃描命令。 |
lsof | 全名 list open files,也就是列舉系統(tǒng)中已經(jīng)被打開的文件。 |
發(fā)送和接收郵件。 | |
mutt | 郵件管理命令。 |
nslookup | 交互式查詢互聯(lián)網(wǎng) DNS 服務(wù)器的命令。 |
dig | 查找 DNS 解析過(guò)程。 |
host | 查詢 DNS 的命令。 |
traceroute | 追蹤數(shù)據(jù)傳輸路由狀況。 |
tcpdump | 命令行的抓包工具。 |
mount | 掛載文件系統(tǒng)。 |
umount | 卸載文件系統(tǒng)。 |
fsck | 檢查并修復(fù) Linux 文件系統(tǒng)。 |
dd | 轉(zhuǎn)換或復(fù)制文件。 |
dumpe2fs | 導(dǎo)出 ext2/ext3/ext4 文件系統(tǒng)信息。 |
dump | ext2/3/4 文件系統(tǒng)備份工具。 |
fdisk | 磁盤分區(qū)命令,適用于 2TB 以下磁盤分區(qū)。 |
parted | 磁盤分區(qū)命令,沒(méi)有磁盤大小限制,常用于 2TB 以下磁盤分區(qū)。 |
mkfs | 格式化創(chuàng)建 Linux 文件系統(tǒng)。 |
partprobe | 更新內(nèi)核的硬盤分區(qū)表信息。 |
e2fsck | 檢查 ext2/ext3/ext4 類型文件系統(tǒng)。 |
mkswap | 創(chuàng)建 Linux 交換分區(qū)。 |
swapon | 啟用交換分區(qū)。 |
swapoff | 關(guān)閉交換分區(qū)。 |
sync | 將內(nèi)存緩沖區(qū)內(nèi)的數(shù)據(jù)寫入磁盤。 |
resize2fs | 調(diào)整 ext2/ext3/ext4 文件系統(tǒng)大小。 |
chmod | 改變文件或目錄權(quán)限。 |
chown | 改變文件或目錄的屬主和屬組。 |
chgrp | 更改文件用戶組。 |
umask | 顯示或設(shè)置權(quán)限掩碼。 |
whoami | 顯示當(dāng)前有效的用戶名稱,相當(dāng)于執(zhí)行 id -un 命令。 |
who | 顯示目前登錄系統(tǒng)的用戶信息。 |
w | 顯示已經(jīng)登陸系統(tǒng)的用戶列表,并顯示用戶正在執(zhí)行的指令。 |
last | 顯示登入系統(tǒng)的用戶。 |
lastlog | 顯示系統(tǒng)中所有用戶最近一次登錄信息。 |
users | 顯示當(dāng)前登錄系統(tǒng)的所有用戶的用戶列表。 |
finger | 查找并顯示用戶信息。 |
echo | 打印變量,或直接輸出指定的字符串 |
printf | 將結(jié)果格式化輸出到標(biāo)準(zhǔn)輸出。 |
rpm | 管理 rpm 包的命令。 |
yum | 自動(dòng)化簡(jiǎn)單化地管理 rpm 包的命令。 |
watch | 周期性的執(zhí)行給定的命令,并將命令的輸出以全屏方式顯示。 |
alias | 設(shè)置系統(tǒng)別名。 |
unalias | 取消系統(tǒng)別名。 |
date | 查看或設(shè)置系統(tǒng)時(shí)間。 |
clear | 清除屏幕,簡(jiǎn)稱清屏。 |
history | 查看命令執(zhí)行的歷史紀(jì)錄。 |
eject | 彈出光驅(qū)。 |
time | 計(jì)算命令執(zhí)行時(shí)間。 |
nc | 功能強(qiáng)大的網(wǎng)絡(luò)工具。 |
xargs | 將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù)。 |
exec | 調(diào)用并執(zhí)行指令的命令。 |
export | 設(shè)置或者顯示環(huán)境變量。 |
unset | 刪除變量或函數(shù)。 |
type | 用于判斷另外一個(gè)命令是否是內(nèi)置命令。 |
bc | 命令行科學(xué)計(jì)算器 |
chkconfig | 管理 Linux 系統(tǒng)開機(jī)啟動(dòng)項(xiàng)。 |
vmstat | 虛擬內(nèi)存統(tǒng)計(jì)。 |
mpstat | 顯示各個(gè)可用 CPU 的狀態(tài)統(tǒng)計(jì)。 |
iostat | 統(tǒng)計(jì)系統(tǒng) IO。 |
sar | 全面地獲取系統(tǒng)的 CPU、運(yùn)行隊(duì)列、磁盤 I/O、分頁(yè)(交換區(qū))、內(nèi)存、 CPU 中斷和網(wǎng)絡(luò)等性能數(shù)據(jù)。 |
ipcs | 用于報(bào)告 Linux 中進(jìn)程間通信設(shè)施的狀態(tài),顯示的信息包括消息列表、共享內(nèi)存和信號(hào)量的信息。 |
ipcrm | 用來(lái)刪除一個(gè)或更多的消息隊(duì)列、信號(hào)量集或者共享內(nèi)存標(biāo)識(shí)。 |
strace | 用于診斷、調(diào)試 Linux 用戶空間跟蹤器。我們用它來(lái)監(jiān)控用戶空間進(jìn)程和內(nèi)核的交互,比如系統(tǒng)調(diào)用、信號(hào)傳遞、進(jìn)程狀態(tài)變更等。 |
ltrace | 命令會(huì)跟蹤進(jìn)程的庫(kù)函數(shù)調(diào)用, 它會(huì)顯現(xiàn)出哪個(gè)庫(kù)函數(shù)被調(diào)用。 |
shutdown | 關(guān)機(jī)。 |
halt | 關(guān)機(jī)。 |
poweroff | 關(guān)閉電源。 |
logout | 退出當(dāng)前登錄的 Shell。 |
exit | 退出當(dāng)前登錄的 Shell。 |
Ctrl+d | 退出當(dāng)前登錄的 Shell 的快捷鍵。 |
bg | 將一個(gè)在后臺(tái)暫停的命令,變成繼續(xù)執(zhí)行 (在后臺(tái)執(zhí)行)。 |
fg | 將后臺(tái)中的命令調(diào)至前臺(tái)繼續(xù)運(yùn)行。 |
jobs | 查看當(dāng)前有多少在后臺(tái)運(yùn)行的命令。 |
kill | 終止進(jìn)程。 |
killall | 通過(guò)進(jìn)程名終止進(jìn)程。 |
pkill | 通過(guò)進(jìn)程名終止進(jìn)程。 |
crontab | 定時(shí)任務(wù)命令。 |
ps | 顯示進(jìn)程的快照。 |
pstree | 樹形顯示進(jìn)程。 |
nice/renice | 調(diào)整程序運(yùn)行的優(yōu)先級(jí)。 |
nohup | 忽略掛起信號(hào)運(yùn)行指定的命令。 |
pgrep | 查找匹配條件的進(jìn)程。 |
runlevel | 查看系統(tǒng)當(dāng)前運(yùn)行級(jí)別。 |
init | 切換運(yùn)行級(jí)別。 |
service | 啟動(dòng)、停止、重新啟動(dòng)和關(guān)閉系統(tǒng)服務(wù),還可以顯示所有系統(tǒng)服務(wù)的當(dāng)前狀態(tài)。 |
Linux常用命令速查手冊(cè)】關(guān)注【入門小站】,后臺(tái)回復(fù) 「1001」 自取。
route命令用來(lái)顯示并設(shè)置Linux內(nèi)核中的網(wǎng)絡(luò)路由表,route命令設(shè)置的路由主要是靜態(tài)路由。要實(shí)現(xiàn)兩個(gè)不同的子網(wǎng)之間的通信,需要一臺(tái)連接兩個(gè)網(wǎng)絡(luò)的路由器,或者同時(shí)位于兩個(gè)網(wǎng)絡(luò)的網(wǎng)關(guān)來(lái)實(shí)現(xiàn)。
在Linux系統(tǒng)中設(shè)置路由通常是為了解決以下問(wèn)題:該Linux系統(tǒng)在一個(gè)局域網(wǎng)中,局域網(wǎng)中有一個(gè)網(wǎng)關(guān),能夠讓機(jī)器訪問(wèn)Internet,那么就需要將這臺(tái)機(jī)器的ip地址設(shè)置為L(zhǎng)inux機(jī)器的默認(rèn)路由。要注意的是,直接在命令行下執(zhí)行route命令來(lái)添加路由,不會(huì)永久保存,當(dāng)網(wǎng)卡重啟或者機(jī)器重啟之后,該路由就失效了;可以在/etc/rc.local中添加route命令來(lái)保證該路由設(shè)置永久有效。
route(選項(xiàng))(參數(shù))
> route
> route -n
route -n不執(zhí)行DNS反向查找,直接顯示數(shù)字形式的IP地址,列出速度會(huì)比route快
字段說(shuō)明
列 | 含義 |
Destination | 目標(biāo)網(wǎng)絡(luò)或目標(biāo)主機(jī)。Destination 為 default(0.0.0.0)時(shí),表示這個(gè)是默認(rèn)網(wǎng)關(guān),所有數(shù)據(jù)都發(fā)到這個(gè)網(wǎng)關(guān)(這里是 10.139.128.1) |
Gateway | 網(wǎng)關(guān)地址,0.0.0.0 表示當(dāng)前記錄對(duì)應(yīng)的 Destination 跟本機(jī)在同一個(gè)網(wǎng)段,通信時(shí)不需要經(jīng)過(guò)網(wǎng)關(guān) |
Genmask | Destination 字段的網(wǎng)絡(luò)掩碼,Destination 是主機(jī)時(shí)需要設(shè)置為 255.255.255.255,是默認(rèn)路由時(shí)會(huì)設(shè)置為 0.0.0.0 |
Flags | 標(biāo)記,含義參考表格后面的解釋 |
Metric | 路由距離,到達(dá)指定網(wǎng)絡(luò)所需的中轉(zhuǎn)數(shù),是大型局域網(wǎng)和廣域網(wǎng)設(shè)置所必需的 (不在Linux內(nèi)核中使用。) |
Ref | 路由項(xiàng)引用次數(shù) (不在Linux內(nèi)核中使用。) |
Use | 此路由項(xiàng)被路由軟件查找的次數(shù) |
Iface | 網(wǎng)卡名字,例如 eth0 |
Flags 含義
路由表中指向單個(gè) IP 地址或主機(jī)名的路由記錄,其 Flags 字段為 H。下面示例中,對(duì)于 10.0.0.8 這個(gè)主機(jī),通過(guò)網(wǎng)關(guān) 192.168.0.1 網(wǎng)關(guān)路由:
> route add -net 10.0.0.8 gateway 192.168.0.1 netmask 255.255.255.255 dev eth0
> route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.8 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0
主機(jī)可以到達(dá)的網(wǎng)絡(luò)。下面示例中,對(duì)于10.0.0.0/24這個(gè)網(wǎng)絡(luò),通過(guò)網(wǎng)關(guān)192.168.0.1網(wǎng)關(guān)路由:
> route add -net 10.0.0.0/24 gateway 192.168.0.1 dev eth0
> route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 192.168.0.1 255.255.255.0 UG 0 0 0 eth0
//或者
> route add -net 10.0.0.0 gateway 192.168.0.1 dev eth0
當(dāng)目標(biāo)主機(jī)的 IP 地址或網(wǎng)絡(luò)不在路由表中時(shí),數(shù)據(jù)包就被發(fā)送到默認(rèn)路由(默認(rèn)網(wǎng)關(guān))上。默認(rèn)路由的 Destination 是 default 或 0.0.0.0。
> route
default gateway 0.0.0.0 UG 100 0 0 eth0
不指定 gw 選項(xiàng)時(shí),添加的路由記錄不使用網(wǎng)關(guān):
> route add -net 10.10.1.0 netmask 255.255.255.0 dev eth0
> route
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
> route add -net 10.10.1.0 netmask 255.255.255.0 reject
> route
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.1.0 - 255.255.255.0 ! 0 - 0 -
> route del -net 10.0.0.0 netmask 255.255.255.0
同時(shí)匹配多個(gè)路由表時(shí),執(zhí)行一次刪除一條
添加或刪除默認(rèn)網(wǎng)關(guān)時(shí),Linux 會(huì)自動(dòng)檢查網(wǎng)關(guān)的可用性:
> route add default gw 192.168.1.1
SIOCADDRT: Network is unreachable
> route del default gw 192.168.1.1
SIOCDELRT: No such process
原文鏈接:https://rumenz.com/rumenbiji/linux-route.html
微信公眾號(hào):入門小站
【Linux常用命令速查手冊(cè)】關(guān)注【入門小站】,后臺(tái)回復(fù) 「1001」 自取。
信大家對(duì) Linux 肯定是不陌生的,很多同學(xué)在學(xué)習(xí) Linux 的時(shí)候比較頭疼,覺(jué)得比較難學(xué),命令多記不住,其實(shí)我們?cè)趯W(xué)習(xí) Linux 的時(shí)候,要把我們的大腦當(dāng)成內(nèi)存來(lái)用,而不是硬盤。
本文用的是 Ubuntu 操作系統(tǒng),版本為 ubuntu-21.04-desktop-amd64.iso。下載地址:
http://mirrors.aliyun.com/ubuntu-releases/
用的遠(yuǎn)程連接工具為 FinalShell,下載地址:
http://www.hostbuf.com/t/988.html
Linux 中有很多命令,命令也有很多參數(shù),那我們要怎么去學(xué)習(xí)呢?我們可以借助幫助文檔,這里給大家介紹 3 個(gè)幫助命令:
man 是 manual 的縮寫,有問(wèn)題找男人,當(dāng)時(shí)這是一句開玩笑的話。
man 命令的使用也非常簡(jiǎn)單,示例如下:
man ls
man 也是一條命令,分為 9 章,可以使用 man 命令獲得 man 的幫助:
man man
有的同學(xué)一定會(huì)好奇,為什么 man 命令給我們 9 章,這是因?yàn)槊詈拖到y(tǒng)文件有的時(shí)候會(huì)出現(xiàn)重名的情況,比如:
passwd # 這是命令
/etc/passwd # 這是配置文件
如果不知道是命令還是配置文件,加上 -a 參數(shù):
man -a passwd
這個(gè)時(shí)候會(huì)先查看 passwd 命令,退出后會(huì)顯示:
可以根據(jù)提示繼續(xù)查看,還是跳過(guò)當(dāng)前的命令查看下一個(gè)命令:
這里我先要說(shuō)一個(gè)內(nèi)部命令和外部命令的概念,shell 自帶的命令稱為內(nèi)部命令,其他的是外部命令。
那要怎么區(qū)分到底是內(nèi)部還是外部呢?通過(guò) type,后面跟上命令。
juran@juran-virtual-machine:~$ type cd
cd 是 shell 內(nèi)建
如果是內(nèi)部命令使用 help:
help cd
如果是外部命令使用 --help:
ls --help
info 幫助比 help 更詳細(xì),作為 help 的補(bǔ)充,大多數(shù)的情況下,我們使用 man 和 help 就足夠了。
終端的命令組成:
command [-options] [parameter]
在 Linux 中一切皆文件,而且 Linux 中是沒(méi)有盤符的概念的,所有的文件都在根目錄下,接下來(lái)我們就來(lái)看下查看目錄的命令有哪些。
ls 命令:列出文件夾中的內(nèi)容,ls 只能查看一層目錄信息:
ls # 查看當(dāng)前文件夾的內(nèi)容
ls /bin # 查看 bin 目錄下的文件
ls 命令還有一些比較常用的選項(xiàng):
命令選項(xiàng) | 說(shuō)明 |
-l | 以列表方式顯示 |
-h | 件大小單位顯示,默認(rèn)是字節(jié) |
-a | 顯示隱藏文件和隱藏目錄 |
tree 命令:以樹狀方式顯示目錄信息,tree 可以查看多層目錄信息。
tree # 以樹狀方式顯示當(dāng)前目錄信息
tree /bin # 如果提示沒(méi)有 tree 命令,可以通過(guò) apt install tree 進(jìn)行安裝
查看當(dāng)前目錄路徑
pwd 命令:查看當(dāng)前目錄路徑,是 print work directory 的縮寫。
cd 命令:切換目錄,是 change directory 的縮寫。
cd 命令有幾個(gè)常用的寫法:
命令 | 說(shuō)明 |
cd 目錄 | 切換到指定目錄 |
cd ~ | 切換到當(dāng)前用戶的主目錄 |
cd .. | 切換到上一級(jí)目錄 |
cd . | 切換到當(dāng)前目錄 |
cd - | 切換到上一次目錄 |
注意:cd 命令切換目錄時(shí),這個(gè)目錄必須存在。cd 后面不寫目錄等價(jià)于 cd ~。
touch 命令:創(chuàng)建指定文件
touch abc.txt # Linux 里面文件可以沒(méi)有后綴的
touch a b c # 可以一次創(chuàng)建多個(gè)文件
mkdir 命令:創(chuàng)建目錄(文件夾)
mkdir movie # 創(chuàng)建 movie 目錄
mkdir a b c # 創(chuàng)建 a b c 目錄
如果我想創(chuàng)建雙層的目錄,來(lái)試試:
mkdir movie/active # 想要?jiǎng)?chuàng)建 movie 下面的 active 目錄,而且 movie 目錄是沒(méi)有被創(chuàng)建過(guò)的
mkdir: 無(wú)法創(chuàng)建目錄 “movie/active”: 沒(méi)有那個(gè)文件或目錄
這是我們可以通過(guò)選項(xiàng) -p:
mkdir movie/active -p # 選項(xiàng)和參數(shù)之間是沒(méi)有順序的,先寫那個(gè)都可以
我們也可以通過(guò)查看幫助文檔,man mkdir:
rm 命令:刪除指定文件或者目錄
rm 命令刪除文件:
rm abc.txt
rm 命令刪除目錄:
mkdir juran
rm juran
rm: 無(wú)法刪除 'juran': 是一個(gè)目錄
rm 命令是無(wú)法直接刪除目錄的,需要加上選項(xiàng) -r:
rm -r juran
可以通過(guò) man rm 查看選項(xiàng),下面來(lái)自幫助文檔:
-r, -R, --recursive
remove directories and their contents recursively
rmdir 命令:刪除空目錄
rmdir juran # juran 目錄是空目錄
如果刪除非空目錄:
mkdir -p a/b
rmdir a
rmdir: 刪除 'a' 失敗: 目錄非空
小結(jié)
cp 命令:拷貝文件、拷貝目錄
cp 命令復(fù)制文件:
cp abc.txt juran # 復(fù)制 abc.txt 到 juran 目錄下
cp命令復(fù)制目錄
mkdir a b # 創(chuàng)建 a 和 b 目錄
cp a b # 復(fù)制 a 目錄到 b 目錄
cp: 未指定 -r;略過(guò)目錄'a'
如果想要復(fù)制目錄的話,需要加上選項(xiàng) -r:
cp -r a b
mv 命令:移動(dòng)文件、移動(dòng)目錄、重命名
mv 命令移動(dòng)文件:
mkdir abc # 創(chuàng)建 abc 目錄
touch abc.txt # 創(chuàng)建 abc.txt 文件
mv abc.txt abc
mv 命令移動(dòng)目錄:
mkdir a b
mv a b
cat 命令:文本內(nèi)容顯示到終端
查看文件內(nèi)容:
touch a.txt
ls /bin > a.txt
cat a.txt
查看文件內(nèi)容,并顯示行號(hào):
cat -n a.txt
查看多個(gè)文件:
cat a.txt b.txt
多個(gè)文件合并:
cat a.txt b.txt > c.txt
還有一個(gè)跟 cat 非常像的命令,tac 命令倒敘輸出文本內(nèi)容。
head 命令:查看文件開頭
查看文件:
head a.txt # 默認(rèn)顯示文件前 10 行內(nèi)容
指定查看文件行數(shù):
head -5 a.txt # 顯示文件前 5 行內(nèi)容
tail 命令:查看文件結(jié)尾
tail a.txt # 默認(rèn)顯示文件后 10 行內(nèi)容
指定查看文件行數(shù):
tail -5 a.txt # 顯示文件后 5 行內(nèi)容
查看文件更新:
tail -f a.txt
在另外一個(gè)終端,對(duì)文件進(jìn)行更新:
echo "juran" > a.txt
wc 命令:統(tǒng)計(jì)文件內(nèi)容信息
wc -l a.txt # 統(tǒng)計(jì)文件行數(shù)
tar 命令:壓縮和解壓縮命令
tar 命令可以打包,也可以打包壓縮:
touch 1.txt 2.txt 3.txt
ls /bin > 1.txt
ls /etc > 2.txt
ls /lib > 3.txt
tar -cvf 3.tar ./*.txt
壓縮成 .gz 文件:
tar -zcvf backup.tar.gz *.txt
解壓 .gz 文件:
tar -zxvf backup.tar.gz
解壓到指定的目錄:
tar -zxvf backup.tar.gz -C bb/
壓縮成 .bz2 文件:
tar -jcvf backup.bz2 *.txt
解壓 .bz2 文件:
tar -jxvf backup.bz2
解壓到指定目錄:
tar -jxvf backup.bz2 -C bb/
壓縮 zip 文件:
zip backup *.txt # 默認(rèn)后綴是.zip
解壓縮 zip 文件:
zip backup.zip -d /bb # -d 指定文件夾
我們?cè)?Windows 中有記事本,也有像 pycharm 這樣的代碼編輯器。
那在 Linux 中我們用什么來(lái)寫代碼呢(如何優(yōu)雅的裝 X)?
用的就是 vim,大家可以把 vim 想象成 Windows 中的 pycharm,或者你熟悉的編輯器。
vim 安裝
sudo apt-get install vim # 這是 Ubuntu 的安裝
sudo yum install vim # 這是 centos 的安裝
vim 的工作模式
工作模式效果圖:
編輯模式和末行模式之間不能直接進(jìn)行切換,都需要通過(guò)命令模式來(lái)完成。
vim 的末行模式命令
vim 的常用命令
命令 | 說(shuō)明 |
yy | 復(fù)制光標(biāo)所在行 |
p | 粘貼 |
dd | 刪除/剪切當(dāng)前行 |
V | 按行選中 |
u | 撤銷 |
ctr+r | 反撤銷 |
>> | 往右縮進(jìn) |
<< | 往左縮進(jìn) |
:/搜索的內(nèi)容 | 搜索指定內(nèi)容 |
:%s/要替換的內(nèi)容/替換后的內(nèi)容/g | 全局替換 |
:開始行數(shù),結(jié)束行數(shù) s/要替換的內(nèi)容/替換后的內(nèi)容 | 局部替換 |
. | 重復(fù)上一次命令操作 |
G | 回到最后一行 |
gg | 回到第一行 |
數(shù)字+G | 回到指定行 |
shift+6 | 回到當(dāng)前行的行首 |
shift+4 | 回到當(dāng)前行的行末 |
ctr+f | 下一屏 |
ctr+b | 上一屏 |
vim 交換文件解決辦法
當(dāng)我們用 vim 編輯一個(gè)文件,并寫入一些數(shù)據(jù),發(fā)生意外 vim 沒(méi)有正常退出,這時(shí)再去編輯這個(gè)文件就會(huì)有如下提示:
這時(shí)我們可以直接選擇編輯,但是下次打開的時(shí)候仍然會(huì)有這個(gè)提示。如果我們執(zhí)行命令 ls -a 會(huì)看到一個(gè)隱藏文件 .a.txt.swp。
這個(gè)隱藏文件大家可以理解為 Linux 中的緩存文件,為了幫助我們恢復(fù)數(shù)據(jù)的。如果我們不需要的話,可以直接刪除,刪除掉這個(gè)文件后,再次編輯就不會(huì)有這個(gè)提示了。
Linux 支持多任務(wù)多用戶,用戶登錄 Linux 之后可以做很多事件,這點(diǎn)和 Windows 很像,但是 Windows 不支持多用戶。
useradd 命令:創(chuàng)建(添加)用戶
useradd -m juran # 如果是普通用戶執(zhí)行這個(gè)命令會(huì)報(bào)錯(cuò)
創(chuàng)建用戶是需要管理員的權(quán)限才可以的。我們想要執(zhí)行這個(gè)命令有兩種方法
sudo useradd -m juran
創(chuàng)建好的用戶,還需要設(shè)置密碼:
sudo passwd juran
設(shè)置好密碼后,我們可以切換到 juran 用戶下:
su juran
在 Ubuntu 中,默認(rèn)切換到用戶的 bash 是 /bash/sh,這樣我們?cè)谇妹畹臅r(shí)候特別不方便,我們可以在創(chuàng)建用戶的指定解釋器:
sudo useradd -m juran -s /bin/bash
查看用戶是否創(chuàng)建成功,可以查看 /etc/passwd 這個(gè)文件:
tail /etc/passwd
passwd 文件中的每項(xiàng)信息說(shuō)明,以 root:x:0:0:root:/root:/bin/bash 為例:
第一個(gè):用戶名
第二個(gè):密碼占位符
第三個(gè):uid, 用戶 id
第四個(gè):gid, 用戶所在組 id
第五個(gè):用戶描述, 可選,
第六個(gè):用戶的主目錄所在位置
第七個(gè):用戶所用 shell 的類型,一般由 bash 或者 sh,默認(rèn)不設(shè)置是 sh 類型
創(chuàng)建用戶,默認(rèn)會(huì)自動(dòng)創(chuàng)建一個(gè)同名的用戶組,查看用戶組是否創(chuàng)建成功,可以查看 /etc/group 這個(gè)文件。
group 文件中的每項(xiàng)信息說(shuō)明,以 laowang:x:1001: 為例:
第一個(gè):用戶組名
第二個(gè):用戶組密碼占位符,一般 Linux 系統(tǒng)的用戶組都沒(méi)有密碼的
第三個(gè):組 id
我們也可以通過(guò) id 命令查看用戶信息:
id laowang
uid=1001(laowang) gid=1001(laowang) 組=1001(laowang)
第一個(gè): uid 表示用戶 id
第二個(gè): gid 表示用戶組 id
第三個(gè): 組 表示用戶所在的用戶組
創(chuàng)建用戶流程
在 Linux 系統(tǒng)中,UID 為 0,就是超級(jí)用戶,如果設(shè)置管理員用戶,可以改為 UID 為 0,系統(tǒng)用戶 UID 為 1~999,Linux 安裝的服務(wù)程序都會(huì)創(chuàng)建獨(dú)有的用戶負(fù)責(zé)運(yùn)行,普通用戶 UID 從 1000 開始,最大值 1000~60000 范圍。
修改用戶信息
創(chuàng)建的用戶沒(méi)有執(zhí)行 sudo 命令的權(quán)限,那我們想要?jiǎng)?chuàng)建的用戶也可以執(zhí)行這個(gè)命令,怎么辦呢?
我們可以修改用戶的附加組,每個(gè)用戶都有自己的主組,相當(dāng)于親爹,那附加組就相當(dāng)于干爹,可以有很多個(gè):
sudo usermod -g sudo jr
這時(shí)我們創(chuàng)建的用戶,就可以執(zhí)行 sudo 命令了。
為了方便管理屬于同一組的用戶,Linux 系統(tǒng)中還引入了用戶組的概念。
一個(gè)公司中有多個(gè)部門,每個(gè)部門中又有很多員工,如果只想讓員工訪問(wèn)本部的資源,則可以針對(duì)部門而非具體的員工來(lái)設(shè)置。開發(fā)部的小哥哥想要前臺(tái)小姐姐的信息,肯定不能讓他直接訪問(wèn)的。
groupadd 命令:創(chuàng)建(添加)用戶組
創(chuàng)建用戶前,我們可以先創(chuàng)建好用戶組:
sudo groupadd dev # 創(chuàng)建開發(fā)組
創(chuàng)建用戶指定組:
sudo useradd -m laowang -g dev
修改用戶組:
sudo usermod -g dev laowang
刪除用戶組:
sudo groupdel dev # 這時(shí)會(huì)報(bào)錯(cuò)
如果用戶組下面有用戶先刪除用戶在刪除用戶組。
執(zhí)行命令 ls -al 查看文件:
這里以文件 abc 來(lái)解釋。
第一位:文件類型
后面 9 位表示權(quán)限:
命令 | 解釋 | 字母表示 |
rw- | 所有者擁有讀寫權(quán)限 | 用 u 表示,代表 user |
r-- | 所屬組擁有讀權(quán)限 | 用 g 表示,代表 group |
r-- | 其他人擁有讀權(quán)限 | 用 o 表示,代表 other |
減少權(quán)限:
chmod u-r abc.txt # 不能讀取數(shù)據(jù)
chmod u-w abc.txt # 不能寫入數(shù)據(jù)
添加只讀權(quán)限,減少寫權(quán)限:
chmod u+r,u-w pwd.txt
chmod 數(shù)字法的使用,數(shù)字法就是 rwx 這些權(quán)限也可以用數(shù)字來(lái)代替。
權(quán)限 | 說(shuō)明 |
r | 可讀,權(quán)限值是 4 |
w | 可寫,權(quán)限值是 2 |
x | 可執(zhí)行,權(quán)限值是 1 |
- | 無(wú)任何權(quán)限,權(quán)限值是 0 |
數(shù)字法授予權(quán)限,所有者可讀可寫可執(zhí)行,所屬組可讀可寫,其他人可讀:
chmod 764 abc.txt
網(wǎng)絡(luò)配置最重要的兩個(gè)工具就是 ifconfig 和 ip,這兩個(gè)工具分別來(lái)自兩個(gè)工具包 net-tools 和 iproute2。
ifconfig 命令:配置和顯示 Linux 系統(tǒng)網(wǎng)卡的網(wǎng)絡(luò)參數(shù)
ifconfig 通常是用來(lái)查看網(wǎng)卡的信息(比如 IP 地址、收發(fā)包及丟包情況等),以及配置網(wǎng)卡(如啟停網(wǎng)卡,修改網(wǎng)卡 MTU,修改 IP、MAC 地址等)。
這個(gè)命令需要安裝:
sudo apt-get install net-tools
若 ifconfig 提示找不到命令,安裝 net-tools 也未果,可能是因?yàn)?ifconfig 已不被推薦使用,可用 ip addr show 命令代替,一樣可以顯示出 IP 地址。
ip 命令:網(wǎng)絡(luò)配置工具
ip 是非常強(qiáng)大的工具,可以替換 net-tools 包的所有工具,如常見的 ifconfig、netstat、route、arp 等。
查看網(wǎng)卡信息:
ip addr show
顯示系統(tǒng)路由:
ip route show
開啟網(wǎng)卡或關(guān)閉網(wǎng)卡:
ip link set eth0 up # 開啟網(wǎng)卡
ip link set eth0 down # 關(guān)閉網(wǎng)卡
當(dāng)我們遇到服務(wù)器的網(wǎng)絡(luò)出現(xiàn)問(wèn)題的時(shí)候,我們改怎么去排查呢?大家可以通過(guò)下面的命令來(lái)逐一排查。
ping 命令:測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性
這個(gè)命令通常用來(lái)判斷網(wǎng)絡(luò)的連通性和網(wǎng)速情況,偶爾用來(lái)查看域名的 IP:
ping www.baidu.com
ping 命令并不會(huì)自動(dòng)結(jié)束,需要我們 ctrl+c 強(qiáng)制停止,大家可以通過(guò) -c 選項(xiàng)來(lái)指定 ping 的次數(shù):
ping www.baidu.com -c 3 # 設(shè)置完成要求回應(yīng)的次數(shù)
ping 只能使用 ipv4,要使用 ipv6,可以用 ping6 命令。
telnet 命令:登錄遠(yuǎn)程主機(jī)和管理(測(cè)試 IP 端口是否連通)
telnet 通常用作遠(yuǎn)程登錄,用來(lái)確定遠(yuǎn)程服務(wù)的狀態(tài),探測(cè)遠(yuǎn)程服務(wù)器的某個(gè)端口是否能訪問(wèn),也可以探測(cè)本地的:
telnet localhost 22
telnet localhost 3306
處理這種情況方法:
traceroute 命令:顯示數(shù)據(jù)包到主機(jī)間的路徑
traceroute 主要用來(lái)探測(cè)從源主機(jī)到目標(biāo)主機(jī)之間的每一跳路由節(jié)點(diǎn),通常和 ping 結(jié)合起來(lái)排查網(wǎng)絡(luò)故障, ping 測(cè)連通性和網(wǎng)速,如果網(wǎng)絡(luò)不通,可以借由 traceroute 進(jìn)一步排查是哪個(gè)路由節(jié)點(diǎn)出問(wèn)題了。
traceroute www.58.com
我們 traceroute 一臺(tái)主機(jī)時(shí),會(huì)看到有一些行是以星號(hào)表示的。出現(xiàn)這樣的情況,可能是防火墻封掉了 ICMP 的返回信息,所以我們得不到什么相關(guān)的數(shù)據(jù)包返回?cái)?shù)據(jù)。
有時(shí)我們?cè)谀骋痪W(wǎng)關(guān)處延時(shí)比較長(zhǎng),有可能是某臺(tái)網(wǎng)關(guān)比較阻塞,也可能是物理設(shè)備本身的原因。當(dāng)然如果某臺(tái) DNS 出現(xiàn)問(wèn)題時(shí),不能解析主機(jī)名、域名時(shí),也會(huì)有延時(shí)長(zhǎng)的現(xiàn)象;您可以加 -n 參數(shù)來(lái)避免 DNS 解析,以 IP 格式輸出數(shù)據(jù)。
如果在局域網(wǎng)中的不同網(wǎng)段之間,我們可以通過(guò) traceroute 來(lái)排查問(wèn)題所在,是主機(jī)的問(wèn)題還是網(wǎng)關(guān)的問(wèn)題。如果我們通過(guò)遠(yuǎn)程來(lái)訪問(wèn)某臺(tái)服務(wù)器遇到問(wèn)題時(shí),我們用到 traceroute 追蹤數(shù)據(jù)包所經(jīng)過(guò)的網(wǎng)關(guān),提交 IDC 服務(wù)商,也有助于解決問(wèn)題;但目前看來(lái)在國(guó)內(nèi)解決這樣的問(wèn)題是比較困難的,就是我們發(fā)現(xiàn)問(wèn)題所在,IDC 服務(wù)商也不可能幫助我們解決。
netstat 命令:查看 Linux 中網(wǎng)絡(luò)系統(tǒng)狀態(tài)信息
netstat 用于查看當(dāng)前網(wǎng)絡(luò)的連接情況,能夠查看所有的網(wǎng)絡(luò)連接,包括 Unix Socket 等,也是集多種工具于一身的組合工具。
列出所有端口:
netstat -a # 列出所有端口
netstat -at # 列出所有 tcp 端口
netstat -au # 列出所有 udp 端口
列出所有處于監(jiān)聽狀態(tài)的 Sockets:
netstat -l # 只顯示監(jiān)聽端口
netstat -lt # 只列出所有監(jiān)聽 tcp 端口
netstat -lu # 只列出所有監(jiān)聽 udp 端口
ss 命令:iproute2 包附帶的另一個(gè)工具,允許你查詢 socket 的有關(guān)統(tǒng)計(jì)信息。
ss 和 netstat 類似,也是用來(lái)查看網(wǎng)絡(luò)連接統(tǒng)計(jì)的工具,它的輸出也和 netstat 類似,甚至顯示更多連接狀態(tài)信息,它最大的優(yōu)勢(shì)在于比 netstat 快,在服務(wù)器維持上萬(wàn)個(gè)連接的情況下,這種優(yōu)勢(shì)就體現(xiàn)得比較明顯。
顯示 TCP 連接:
ss -t -a
列出所有打開的網(wǎng)絡(luò)連接端口:
ss -l
查看進(jìn)程使用的 socket:
ss -pl
nc 命令:用于設(shè)置路由器
nc 被稱為瑞士軍刀,非常輕巧但功能強(qiáng)大,能夠創(chuàng)建各種不同類型的網(wǎng)絡(luò)連接、能夠?qū)崿F(xiàn)簡(jiǎn)單的聊天工具、遠(yuǎn)程傳輸文件、debug 分析、掃描端口等。
TCP 端口掃描:
nc -v -z -w2 localhost 1-100
選項(xiàng)解釋:
UDP 端口掃描:
nc -u -z -w2 192.168.0.1 1-1000 # 掃描 192.168.0.1 的端口 范圍是 1-1000
選項(xiàng)解釋:
host 命令:常用的分析域名查詢工具
host 命令是域名分析查詢工具,用來(lái)測(cè)試域名系統(tǒng)工作是否正常。
查看百度域名信息:
host www.baidu.com
nslookup 命令:查詢域名 DNS 信息的工具
nslookup 有兩種工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用戶可以向域名服務(wù)器查詢各類主機(jī)、域名的信息,或者輸出域名中的主機(jī)列表。而在“非交互模式”下,用戶可以針對(duì)一個(gè)主機(jī)或域名僅僅獲取特定的名稱或所需信息。
進(jìn)入交互模式,直接輸入 nslookup 命令,不加任何參數(shù),則直接進(jìn)入交互模式,此時(shí) nslookup 會(huì)連接到默認(rèn)的域名服務(wù)器?;蛘咻斎?nslookup -nameserver/ip。進(jìn)入非交互模式,就直接輸入 nslookup 域名就可以了。
非交互模式:
nslookup www.baidu.com
交互模式:
nslookup
Ubuntu 軟件安裝有兩種方式:
我們絕大多數(shù)的時(shí)候,都是通過(guò)在線安裝的方式來(lái)進(jìn)行安裝軟件。
apt-get 方式安裝
在線安裝 deb 軟件包的命令,主要用于在線從互聯(lián)網(wǎng)的軟件倉(cāng)庫(kù)中搜索、安裝、升級(jí)、卸載軟件。
在線安裝軟件命令格式:
sudo apt–get install 安裝包 # 表示在線安裝 deb 安裝包
源碼安裝
開源軟件都會(huì)提供源碼下載的方式,對(duì)于源代碼安裝方式的好處即可以定制軟件功能,安裝需要的模塊,不需要的模塊可以屏蔽,方便管理,卸載等。
我們以 Redis 為例:
https://redis.io/download # 這是官網(wǎng) redis 的下載地址
官網(wǎng)中給出了源碼安裝的方式:
$ wget https://download.redis.io/releases/redis-6.2.5.tar.gz
$ tar xzf redis-6.2.5.tar.gz
$ cd redis-6.2.5
$ make
這里會(huì)使用 make 工具,make 工具就會(huì)通過(guò) makefile 文件來(lái)實(shí)現(xiàn)。makefile 文件是一種按照某種語(yǔ)法來(lái)編寫且定義了各個(gè)文件的依賴關(guān)系。
使用 make 命令,一般都需要 gcc 的環(huán)境:
sudo apt-get install gcc
更改鏡像源
因?yàn)槭褂?apt-get 命令默認(rèn)是從國(guó)外的服務(wù)器下載安裝軟件的,會(huì)導(dǎo)致下載安裝速度很慢,所以需要更改成國(guó)內(nèi)的鏡像源服務(wù)器。
鏡像源說(shuō)明:鏡像源就是下載軟件來(lái)源的服務(wù)器。
更改鏡像源的方式:
可視化的方式適合 Ubuntu 這種有圖形化界面的。
第一步:
第二步:
第三步:
第四步:
第五步:
最后執(zhí)行命令:
sudo apt-get update
手動(dòng)修改就容易很多:
vim /etc/apt/sources.list # 編輯這個(gè)文件,將找好的國(guó)內(nèi)鏡像源直接復(fù)制到這個(gè)文件里面就行
這里是清華大學(xué)的鏡像源,大家可以找其他的鏡像源:
ps 命令:用于報(bào)告當(dāng)前系統(tǒng)的進(jìn)程狀態(tài)的命令
ps 命令可以搭配 kill 指令隨時(shí)中斷、刪除不必要的程序。ps 命令是最基本同時(shí)也是非常強(qiáng)大的進(jìn)程查看命令,使用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行的狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程有沒(méi)有僵死、哪些進(jìn)程占用了過(guò)多的資源等等,總之大部分信息都是可以通過(guò)執(zhí)行該命令得到的。
當(dāng)我們?cè)诮K端敲下 ps 命令,會(huì)顯示如下界面:
字段解釋:
PID 代表這個(gè)進(jìn)程對(duì)應(yīng)的 ID 號(hào)碼
TTY 進(jìn)程所屬的控制臺(tái)號(hào)碼
TIME 進(jìn)程所使用 CPUC 的總時(shí)間
CMD 就是正在執(zhí)行的系統(tǒng)命令行是什么
ps 常用選項(xiàng),顯示 Linux 機(jī)器所有詳細(xì)的進(jìn)程信息:
ps -ef
字段解釋:
UID 這個(gè)進(jìn)程是那個(gè)用戶執(zhí)行的命令
PID 進(jìn)程的標(biāo)識(shí)號(hào)碼 用于啟停進(jìn)程
PPID 進(jìn)程的父進(jìn)程標(biāo)識(shí)號(hào)
C 表示 CPU 使用的資源百分比
STIME 表示進(jìn)程開始執(zhí)行的時(shí)間
TTY 進(jìn)程在那個(gè)終端執(zhí)行的
TIME 該進(jìn)程使用的 CPU 總時(shí)間
CMD 用戶執(zhí)行某條命令 產(chǎn)生的進(jìn)程信息
過(guò)濾出系統(tǒng)指定的信息:
ps -ef | grep vim
查看 named 進(jìn)程詳細(xì)信息:
ps -aux | grep named
顯示指定用戶信息:
ps -u root
把所有進(jìn)程顯示出來(lái),并輸出到 ps1.txt 文件:
ps -aux > ps1.txt
ps 命令的參數(shù),分為兩種系統(tǒng)形式:
大家一定要注意帶減號(hào)和不帶減號(hào),表示的含義是不同的。
大家可以看出來(lái)效果是不一樣的。
pstree 命令:以樹狀圖的方式展現(xiàn)進(jìn)程之間的派生關(guān)系
pstree 命令需要安裝:
sudo apt-get install psmisc
執(zhí)行 pstree 效果如下:
kill 命令:發(fā)送相關(guān)信號(hào),給進(jìn)程達(dá)到不同的停止效果
我們通常用的都是 kill -9 進(jìn)程號(hào),除了 -9 這一個(gè)信號(hào),kill 也有很多其他的信號(hào)。
kill -l
下面是常用的信號(hào):
HUP 1 終端掛斷
INT 2 中斷(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
KILL 9 強(qiáng)制終止
TERM 15 終止,這是 kill 命令默認(rèn)的
CONT 18 繼續(xù)(與 STOP 相反,fg/bg 命令)
STOP 19 暫停(同 Ctrl + Z)
示例:
ping www.baidu.com
找到 ping 命令的進(jìn)程號(hào):
ps -ef | grep ping
通過(guò)剛才找到的進(jìn)程號(hào)結(jié)束掉 ping 命令:
kill -9 進(jìn)程號(hào)
top 命令:顯示或管理執(zhí)行中的程序
可以實(shí)時(shí)動(dòng)態(tài)地查看系統(tǒng)的整體運(yùn)行情況,是一個(gè)綜合了多方信息監(jiān)測(cè)系統(tǒng)性能和運(yùn)行信息的實(shí)用工具。
當(dāng)我們敲下 top 命令,可以看到如下界面:
top 交互命令
在 top 命令執(zhí)行過(guò)程中可以使用的一些交互命令,這些命令都是單字母的。
h:顯示幫助畫面,給出一些簡(jiǎn)短的命令總結(jié)說(shuō)明;
k:終止一個(gè)進(jìn)程;
i:忽略閑置和僵死進(jìn)程,這是一個(gè)開關(guān)式命令;
q:退出程序;
r:重新安排一個(gè)進(jìn)程的優(yōu)先級(jí)別;
S:切換到累計(jì)模式;
s:改變兩次刷新之間的延遲時(shí)間(單位為 s),如果有小數(shù),就換算成 ms。輸入 0 值則系統(tǒng)將不斷刷新,默認(rèn)值是 5s;
f 或者 F:從當(dāng)前顯示中添加或者刪除項(xiàng)目;
o 或者 O:改變顯示項(xiàng)目的順序;
l:切換顯示平均負(fù)載和啟動(dòng)時(shí)間信息;
m:切換顯示內(nèi)存信息;
t:切換顯示進(jìn)程和 CPU 狀態(tài)信息;
c:切換顯示命令名稱和完整命令行;
M:根據(jù)駐留內(nèi)存大小進(jìn)行排序;
P:根據(jù) CPU 使用百分比大小進(jìn)行排序;
T:根據(jù)時(shí)間/累計(jì)時(shí)間進(jìn)行排序;
w:將當(dāng)前設(shè)置寫入~/.toprc 文件中。
top 命令上面字段:
top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92
Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie
Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers
Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached
解釋:
top - 09:44:56[當(dāng)前系統(tǒng)時(shí)間],
16 days[系統(tǒng)已經(jīng)運(yùn)行了 16 天],
1 user[個(gè)用戶當(dāng)前登錄](méi),
load average: 9.59, 4.75, 1.92[系統(tǒng)負(fù)載,即任務(wù)隊(duì)列的平均長(zhǎng)度]
Tasks: 145 total[總進(jìn)程數(shù)],
2 running[正在運(yùn)行的進(jìn)程數(shù)],
143 sleeping[睡眠的進(jìn)程數(shù)],
0 stopped[停止的進(jìn)程數(shù)],
0 zombie[凍結(jié)進(jìn)程數(shù)],
Cpu(s): 99.8%us[用戶空間占用 CPU 百分比],
0.1%sy[內(nèi)核空間占用 CPU 百分比],
0.0%ni[用戶進(jìn)程空間內(nèi)改變過(guò)優(yōu)先級(jí)的進(jìn)程占用 CPU 百分比],
0.2%id[空閑 CPU 百分比], 0.0%wa[等待輸入輸出的 CPU 時(shí)間百分比],
0.0%hi[],
0.0%st[],
Mem: 4147888k total[物理內(nèi)存總量],
2493092k used[使用的物理內(nèi)存總量],
1654796k free[空閑內(nèi)存總量],
158188k buffers[用作內(nèi)核緩存的內(nèi)存量]
Swap: 5144568k total[交換區(qū)總量],
56k used[使用的交換區(qū)總量],
5144512k free[空閑交換區(qū)總量],
2013180k cached[緩沖的交換區(qū)總量],
free 命令:顯示內(nèi)存的使用情況
可以顯示當(dāng)前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū)。
以總和的形式顯示內(nèi)存的使用信息:
free -t
周期性的查詢內(nèi)存使用信息,每 3s 執(zhí)行一次命令:
free -s 3
顯示內(nèi)存使用情況:
free -m
systemctl 命令:系統(tǒng)服務(wù)管理器指令
systemctl 命令是系統(tǒng)服務(wù)管理器指令,它實(shí)際上將 service 和 chkconfig 這兩個(gè)命令組合到一起。
啟動(dòng)服務(wù):
service httpd start
systemctl start httpd.service
停止服務(wù):
service httpd stop
systemctl stop httpd.service
重啟服務(wù):
service httpd restart
systemctl restart httpd.service
重載服務(wù):
service httpd reload
systemctl reload httpd.service
檢查服務(wù)狀態(tài):
service httpd status
systemctl status httpd.service
設(shè)置開機(jī)自啟動(dòng) MySQL 服務(wù):
systemctl enable mysqld.service
停止開機(jī)自啟動(dòng):
systemctl disable mysqld.service
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。