一. Linux背景介紹
Linux版本介紹
內(nèi)核版本分為三個(gè)部分朗伶,主版本號(hào)好渠、次版本號(hào)昨稼、末版本號(hào),次版本號(hào)是奇數(shù)為開發(fā)板拳锚,偶數(shù)為穩(wěn)定版假栓。
發(fā)行版本
RedHat:經(jīng)過專業(yè)測(cè)試
Fedora:社區(qū)發(fā)行,版本較新霍掺,但是沒有經(jīng)過專業(yè)測(cè)試匾荆。(也是redhat發(fā)行)
CentOS:用RedHat的源代碼編譯拌蜘,但是把RedHat的商標(biāo)等去掉。但是沒有一些技術(shù)支持牙丽。
桌面安裝:Debian简卧,Ubuntu
常見目錄介紹
/ 根目錄
/root root用戶的家目錄
/home/username 普通用戶的家目錄
/etc 配置文件目錄
/bin 命令目錄
/sbin 管理命令目錄
/usr/bin/usr/sbin 系統(tǒng)預(yù)裝的其他命令
二. 系統(tǒng)命令
幫助命令
man 是 manual 的縮寫
man 幫助用法演示
#man ls
man 也是一條命令,分為9章烤芦,可以使用man命令獲得man的幫助
#man 7 man
help
shell(命令解釋器)自帶的命令成為內(nèi)部命令贞滨,其他的是外部命令
內(nèi)部命令使用 help 幫助
#help cd
外部命令使用help幫助
#ls --help
可以通過type來判斷一個(gè)命令是內(nèi)部還是外部命令
#type ls
#type cd
文件管理
顯示當(dāng)前的目錄
pwd 顯示當(dāng)前的目錄名稱
文件查看
ls 查看當(dāng)前目錄下的文件
ls / /root 這樣會(huì)同時(shí)查看根目錄和 /root目錄下的文件
常用參數(shù)
-l 長(zhǎng)格式顯示文件
-a 顯示隱藏文件
-r 逆序顯示(默認(rèn)按照文件名排序)
-t 按照時(shí)間順序顯示 ls -l -r -t (會(huì)按照時(shí)間逆向排序) ls -lrt
-R 遞歸顯示 -h 人性化顯示、 -d 只顯示目錄
更改當(dāng)前的操作目錄
cd 更改當(dāng)前的操作目錄
cd /path/to/... 絕對(duì)路徑
cd ./path/to/... 相對(duì)路徑
cd ../path/to/... 相對(duì)路徑
目錄文件的創(chuàng)建與刪除
mkdir 建立空目錄
mkdir a
常用參數(shù)
-p 遞歸創(chuàng)建多級(jí)文件夾
rmdir 刪除空文件夾
rmdir a
rm 可以刪除非空目錄及文件
常用參數(shù)
-r 刪除目錄
-f 強(qiáng)制刪除拍棕,不提示
需要注意舶胀,rm -rf 后面可以跟多個(gè)目錄
不要出現(xiàn) rm -rf / usr 這種栓票,會(huì)從根目錄開始刪除
復(fù)制和移動(dòng)目錄
cp 復(fù)制文件和目錄
cp /root/a /tmp
常用參數(shù)
-r/R 遞歸復(fù)制目錄
-v 顯示過程
-p 保留文件原有更新時(shí)間(屬性)
-a 時(shí)間戳+所有權(quán)+復(fù)制連接文件屬性而非檔案本身 -f 強(qiáng)行覆蓋 -i 覆蓋之前先行提示
mv 移動(dòng)文件或者重命名
mv /a /othera
mv /a /tmp
mv /a /tmp/b(移動(dòng)+重命名)
常用參數(shù)
-i 覆蓋文件前提示
通配符
常用通配符:
* 匹配任何字符串
≌月糕再? 匹配1個(gè)字符串
[xyz] 匹配xyz任意一個(gè)字符
[a-z] 匹配一個(gè)范圍
[!xyz]或者[^xyz] 不匹配
文本內(nèi)容查看??
cat 文本內(nèi)容顯示到終端
顯示全部
head 查看文件開頭
head test.txt 默認(rèn)查看前10行
head -5 test.txt
head -c 20 runoob_notes.log 顯示文件前 20 個(gè)字節(jié)
tail 查看文件結(jié)尾
tail -1000f catalina.out
常用參數(shù)
-f 文件內(nèi)容更新后丐重,顯示信息同步更新
wc 統(tǒng)計(jì)文件內(nèi)容信息
wc -l /tmp/test.txt 查看文件有多少行
-c或--bytes或——chars:只顯示Bytes數(shù)昧旨;
-l或——lines:只顯示列數(shù)挨决;
-w或——words:只顯示字?jǐn)?shù)敦锌。
more 分行顯示
less
打包和壓縮
最早的Linux備份介質(zhì)是磁帶事甜,使用的命令是tar
可以打包后的磁帶文件進(jìn)行壓縮儲(chǔ)存谬泌,壓縮的命令是 gzip 和 bzip2
經(jīng)常使用的擴(kuò)展名是 .tar.gz .tar.bz2 .tgz
tar 打包命令
常用參數(shù)
c 打包
x 解包
f 指定操作類型為文件 v 顯示進(jìn)度 P 使用絕對(duì)路徑
打包
tar cf /tmp/etc-backup.tar /etc 把 /etc 這個(gè)文件夾打包放在/tmp/etc-backup.tar會(huì)提示,但是也能成功:tar: Removing leading `/' from member names
tar cPf /tmp/etc-backup.tar /etc 使用絕對(duì)路徑 (沒有提示)
tar czf /tmp/etc-backup.tar.gz /etc (tar集成了gzip和bzip2)
tar cjf /tmp/etc-backup.tar.bz2 /etc (壓縮比例更高)
解包
tar xf /tmp/etc-backup.tar -C /root 把 tar包解壓到 /root 目錄下
tar zxf /tmp/etc-backup.tar.gz -C /etc
tar zjf /tmp/etc-backup.tar.gz -C /etc
Vi??
多模式產(chǎn)生的原因
四種模式:
正常模式(Normal-mode)
插入模式(Insert-mode)
命令模式(Command-mode)
可視模式(Visual-mode)
i 進(jìn)入插入模式
i是當(dāng)前光標(biāo)
I是光標(biāo)當(dāng)行開頭
a是光標(biāo)后一位
A是光標(biāo)當(dāng)行結(jié)尾
o下一行逻谦,會(huì)產(chǎn)生一個(gè)空行
O上一行掌实,會(huì)產(chǎn)生一個(gè)空行
v進(jìn)入可視模式
:進(jìn)入命令模式
esc返回正常模式
正常模式下:
hjkl可以控制上下左右
yy表示復(fù)制當(dāng)行,p可以粘貼
3yy表示復(fù)制三行
y$ 表示復(fù)制從光標(biāo)到當(dāng)行結(jié)尾
dd d$表示剪切
操作錯(cuò)誤邦马,u可以撤銷贱鼻,ctrl+r重做
x表示刪除當(dāng)前光標(biāo)的字符
r可以替換當(dāng)前字符
:set nu 可以查看目前是第幾行
數(shù)字 + G可以到數(shù)字對(duì)應(yīng)的行
g移動(dòng)到第一行
G移動(dòng)到最后一行
^來到光標(biāo)所在行的開頭,$來到光標(biāo)所在行的結(jié)尾
命令模式
:w /root/test.txt 文件新建的滋将,可以保存一個(gè)新文件
:w 文件已經(jīng)存在的情況下邻悬,保存
:wq 保存退出
:q! 強(qiáng)制退出
:! 執(zhí)行l(wèi)inux命令,看完后回車重新回到vim
/x 查找x字符随闽,n查找下一個(gè)父丰,shift+n上一個(gè)
:s/old/new 用新字符替換舊字符(只正對(duì)光標(biāo)所在的行)
:%s/old/new 用新字符替換舊字符(整個(gè)文本,但只替換一個(gè))
:%s/old/new/g 用新字符替換舊字符(整個(gè)文本掘宪,全部替換)
:3,5s/x/X/g 3-5行內(nèi)全部替換蛾扇,替換一個(gè)就去掉g
:set nu 顯示行號(hào)
:set nonu 不顯示行號(hào)
以上是單次修改的,如果要修改默認(rèn)配置
vim /etc/vimrc
可視模式
三種進(jìn)入可視模式的方式
v 字符可視模式
V 行可視模式
ctrl + v 塊可視模式
配合d和I(大寫i)命令可以進(jìn)行塊的便利操作
需要在塊的所有行之前加入一些字符魏滚,選中塊屁桑,I的時(shí)候會(huì)在選中的塊的第一行的第一個(gè)光標(biāo)處,輸入字符栏赴,連續(xù)兩次esc蘑斧。
選中塊,d,然后選中的塊就會(huì)被刪除
注意一下替換命令的使用
用戶與權(quán)限管理
useradd 新建用戶
useradd dongye(可以用 id dongye 來驗(yàn)證是否存在)
創(chuàng)建一個(gè)用戶后竖瘾,自動(dòng)在 /home建立家目錄沟突,并且創(chuàng)建一些隱藏文件。同時(shí)捕传,在 /etc/passwd 這個(gè)文件里會(huì)加入新用戶dongye的數(shù)據(jù)惠拭,/etc/shadow里面也有會(huì)相關(guān)數(shù)據(jù)(密碼相關(guān))。如果沒有組的話庸论,創(chuàng)建一個(gè)同名的組职辅。
userdel 刪除用戶
userdel dongye
userdel -r dongye 同時(shí)刪除家目錄
passwd 修改用戶密碼
passwd dongye
passwd更改當(dāng)前用戶密碼
/etc/passwd 和 /etc/shadow 里面的數(shù)據(jù)也被刪除
usermod 修改一個(gè)用戶賬戶
usermod -d /home/other dongye 家目錄從 /home/dongye 改成 /home/other
chage 修改用戶生命周期 設(shè)置用戶密碼的過期時(shí)間,甚至用戶本身的過期時(shí)間
組管理命令
groupadd 新建用戶組
groupadd group1
useradd user1
usermod -g group1 user1 把user1這個(gè)用戶的組改成group1
useradd -g group1 user2 新建用戶user2時(shí)就把它放到group1組下
groupdel 刪除用戶組 groupdel group1 刪除組group1
用戶切換
su 切換用戶
su - USERNAME 使用 login shell 方式切換用戶
su USERNAME 不完全切換聂示,比如還是在 /root下而不會(huì)自動(dòng)跳轉(zhuǎn)到用戶家目錄
sudo 以其他用戶身份執(zhí)行命令
visudo 設(shè)置需要使用sudo的用戶(組)
用戶和用戶組的配置文件介紹
/etc/passwd 用戶配置文件域携,7個(gè)字段
user3:x:1003:1003::/home/user3:bin/bash
user3:用戶名稱
x:是否需要密碼驗(yàn)證,x表示需要鱼喉,空表示不需要
1003:用戶的uid秀鞭,用戶的id信息,唯一識(shí)別用戶的標(biāo)識(shí)扛禽。root是0锋边。
1003:用戶的gid,表示組id信息
第五個(gè)字段:注釋
/home/user3:家目錄
/bin/bash:用戶登錄后的命令解釋器编曼。/sbin/nologin 表示不能登錄
/etc/shadow 保存用戶和用戶密碼相關(guān)信息的
第一個(gè)字段:用戶名稱
第二個(gè)字段:用戶加密過后的密碼(看到也沒用豆巨,經(jīng)過處理,即使相同的密碼也會(huì)顯示不同)
/etc/group 用戶組相關(guān)的配置文件掐场,4個(gè)字段
group:x:10:another
group:組的名稱
x:是否需要密碼驗(yàn)證
10:gid
another:其他組設(shè)置搀矫,說明another這個(gè)用戶的第二個(gè)組是group比如輸入 id user1uid=1001(user1) gid=1001(group1) 組=1001(group1)id anotheruid=1002(another) gid=1002(another) 組=1003(group) 查找another信息,發(fā)現(xiàn)他的第二個(gè)組是group
文件和目錄的權(quán)限表示方法??
文件類型
- 普通文件
d 目錄文件
b 塊特殊文件
c 字符特殊文件
l 符號(hào)鏈接
f 命名管道
s 套接字文件
文件權(quán)限的表示方法
字符權(quán)限表示方法
r 讀
w 寫
x 執(zhí)行
數(shù)字權(quán)限的表示方法
r=4
w=2
x=1
文件權(quán)限的表示方法
rwxrwxrwx
第一個(gè)表示文件屬主的權(quán)限刻肄,第二個(gè)表示文件屬組的權(quán)限瓤球,第三個(gè)表示其他用戶的權(quán)限
創(chuàng)建新文件有默認(rèn)權(quán)限,根據(jù)umask值計(jì)算敏弃,屬主和屬組根據(jù)當(dāng)前進(jìn)程的用戶來設(shè)定
目錄權(quán)限的標(biāo)識(shí)方法
x 進(jìn)入目錄
rx 顯示目錄內(nèi)的文件名
wx 修改目錄內(nèi)的文件名
文件權(quán)限的修改方法和數(shù)字表示方法
修改權(quán)限命令(測(cè)試的時(shí)候別用root卦羡,root不受限制)
chmod 修改文件、目錄權(quán)限
chmod u+x /tmp/testfile u表示屬主
chmod u=rwx /tmp/testfile
chmod g-r /tmp/testfile g表示屬組
chmod 0-r /tmp/testfile o表示其他用戶
chmod a+r /tmp/testfile a表示所有
chmod 755 /tmp/testfile如果屬主沒有權(quán)限麦到,所屬的組有權(quán)限绿饵,以屬主為準(zhǔn),還是沒有權(quán)限瓶颠。
chown 更改屬主拟赊、屬組
chown user1 /test 把test這個(gè)目錄的屬主改成user1
chown :group /test 把test這個(gè)目錄的屬組給成group chown user1:group /test 一起修改
chgrp 可以單獨(dú)更改屬組、不常用
linux一般創(chuàng)建一個(gè)文件默認(rèn)會(huì)賦予666權(quán)限粹淋,然后根據(jù)用的umask值來計(jì)算吸祟。
用戶默認(rèn)umask值為022瑟慈,所以一般是 666-022=644,對(duì)應(yīng)rw-r--r--
注意:目錄權(quán)限的標(biāo)識(shí)方法...
特殊權(quán)限
SUID 用于二進(jìn)制可執(zhí)行文件屋匕,執(zhí)行命令時(shí)取得文件屬主權(quán)限
如葛碧,/usr/bin/passwd
SGID 用于目錄,在該目錄下創(chuàng)建新的文件和目錄过吻,權(quán)限自動(dòng)更改為該目錄的屬組
文件共享時(shí)使用
SBIT 用于目錄进泼,該目錄下新建的文件和目錄,僅root和自己可以刪除
如 /tmp
三. 網(wǎng)絡(luò)管理
網(wǎng)絡(luò)狀態(tài)查看
net-tools VS iproute
1. net-tools
ifconfig
route
netstat
2. iproute2
ip
ss
網(wǎng)卡名稱
ifconfig查看網(wǎng)卡名稱
· eth0 第一塊網(wǎng)卡(網(wǎng)絡(luò)接口)
· 你的第一個(gè)網(wǎng)絡(luò)接口可能叫做下面的名字
· eno1 板載網(wǎng)卡
· ens33 PCI-E網(wǎng)卡
· enp0s3 無法獲取物理信息的 PCI-E 網(wǎng)卡
· CentOS7使用了一致性網(wǎng)絡(luò)設(shè)備命名纤虽,以上都不匹配則使用eth0
當(dāng)工作中大量管理網(wǎng)卡乳绕,所有設(shè)備的網(wǎng)卡最好都是以 eth0 命名,這樣可以批量操作逼纸。
網(wǎng)絡(luò)接口命名修改
網(wǎng)卡命名規(guī)則受 biosdevname 和 net.ifnames 兩個(gè)參數(shù)影響
編輯 /etc/default/grup 文件洋措,增加 biosdevname=0 net.ifnames=0
更新 grub
# grub2-mkconfig -o /boot/grub2/grub.cfg
重啟
# reboot
組合,biosdevname=0 net.ifnames=0樊展,則網(wǎng)卡名為 eth0
biosdevname=1 net.ifnames=0,則網(wǎng)卡名為 em1
biosdevname=0 net.ifnames=1堆生,則網(wǎng)卡名為 ens33
ifconfig
普通用戶要使用ifconfig专缠,要使用 /sbin/ifconfig
如果只想要看某一張網(wǎng)卡,可以 ifconfig 網(wǎng)卡名
mii-tool eth0 查看網(wǎng)卡物理連接情況
route -n 查看網(wǎng)關(guān)(路由)淑仆,使用 -n 參數(shù)不解析主機(jī)名(把ip解析成域名)
網(wǎng)絡(luò)配置命令
ifconfig <接口> <IP地址> [netmask 子網(wǎng)掩碼] 設(shè)置網(wǎng)卡的ip地址
ifup <接口> 啟用網(wǎng)卡
ifdown <接口> 禁用網(wǎng)卡
網(wǎng)關(guān)配置命令
添加網(wǎng)關(guān)
route add default gw <網(wǎng)關(guān)ip>
route add -host <指定ip> gw <網(wǎng)關(guān)ip>
route add -net <指定網(wǎng)段> netmask <子網(wǎng)掩碼> gw <網(wǎng)關(guān)ip>
網(wǎng)絡(luò)故障排除
ping 檢測(cè)是否連接到主機(jī)
ping www.baidu.com
traceroute 跟蹤當(dāng)前主機(jī)到目標(biāo)主機(jī)的網(wǎng)絡(luò)狀態(tài)涝婉,-w 1超時(shí)最多等1秒
traceroute -w 1 www.baidu.com
mtr 顯示自己主機(jī)的網(wǎng)絡(luò)狀態(tài)
nslookup 域名解析成ip
nslooup www.baidu.com
telnet 檢測(cè)端口
telnet www.baidu.com 80
tcdump 網(wǎng)絡(luò)抓包 -i any 抓取所有網(wǎng)卡里的數(shù)據(jù)包,-n 把域名解析成 ip 蔗怠,port 80 抓取指定端口 host 10.0.0.1 抓取當(dāng)前主機(jī)到某個(gè)主機(jī)的數(shù)據(jù)包
tcpdump -i any -n port 80
tcpdump -i any -n host 10.0.0.1
tcpdump -i any -n host 10.0.0.1 and port 80
tcpdump -i any -n host 10.0.0.1 and port 80 -w /tmp/filename 捕獲并且保存
netstat 監(jiān)聽地址 -n 域名轉(zhuǎn)換墩弯,-t 顯示tcp ,-p 進(jìn)程 寞射,-l tcp狀態(tài) listen
netstat -ntpl
ss 跟netstat一樣渔工,參數(shù)也一樣,顯示的格式不一樣
網(wǎng)絡(luò)服務(wù)管理程序分為兩種桥温,分別是 SysV 和 systemd(centos7)
service network status|start|stop|restart
網(wǎng)絡(luò)配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 (網(wǎng)卡配置項(xiàng))
/etc/hosts
四. 軟件包管理
rpm
rpm 命令常用參數(shù)
-q 查詢軟件包 rpm -qa 查詢所有軟件包 rpm -q vim-common 查詢某個(gè)軟件包
-i 安裝軟件包 rpm -i vim-enhanced-7.4.160-5.el7.x84_64.rpm (要全稱)
-e 卸載軟件包 rpm -e vim-enhanced (只要名字引矩,不需要版本號(hào)等)用 rpm 安裝的問題:如果一個(gè)軟件包依賴其他軟件包,那么就會(huì)安裝失敗侵浸。需要操作者自己解決依賴關(guān)系旺韭。
yum
CentOS yum源
http://mirror.centos.org/centos/7/
國內(nèi)鏡像
https://opsx.alibaba.com/mirror
yum 配置文件
/etc/yum.repos.d/CentOS-Base.repo
可以修改配置文件
[base]
name=CentOS-$releasever - Base -mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
或者直接用別人已經(jīng)寫好的配置文件
wget -O /etc/yum.repo.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo需要清除緩存yum makecache
常用選項(xiàng)
install 安裝軟件包
remove 卸載軟件包
list |grouplist 查看軟件包
update 升級(jí)軟件包
其他安裝方式
二進(jìn)制安裝
源代碼編譯安裝
wget https://openresty.org/download/openresty-1.15.8.1.tar.gz
tar zxf openresty-VERSION.tar.gz
cd openresty-VERSION/
./configure --prefix=/usr/local/openresty
make -j2 (用2核編譯)
make isntall
升級(jí)內(nèi)核
rpm 格式內(nèi)核
查看內(nèi)核版本
uname -r
升級(jí)內(nèi)核版本
yum install kernel-3.10.0 這種方式一般不能升級(jí)到最新
epel軟件倉庫會(huì)有較高的軟件版本。yum install epel-release -y
升級(jí)已安裝的其他軟件包和補(bǔ)丁
yum update 除了升級(jí)內(nèi)核掏觉,還會(huì)升級(jí)軟件包区端。正常不要使用。
源代碼編譯安裝內(nèi)核
yum install gcc gcc-c++ make ncurses-devel openssl-devel elfutils-libelf-devel
下載并解壓縮內(nèi)核
https://www.kernel.org
tar xvf linux-5.1.10.tar.xz -C /usr/src/kernels
配置內(nèi)核編譯參數(shù)
cd /usr/src/kernels/linux-5.1.10/
make menuconfig | allyesconfig | allnoconfig
make allyesconfig (無腦全選)
使用當(dāng)前系統(tǒng)內(nèi)核配置
cp /boot/config-kernelversion.platform /usr/src/kernels/linux-5.1.10/.config
查看cpu
lscpu
編譯
make j2 all
安裝內(nèi)核
make modules_install
make install
五. 進(jìn)程管理
進(jìn)程的概念和查看進(jìn)程
進(jìn)程-運(yùn)行中的程序澳腹,從程序開始運(yùn)行到終止的整個(gè)生命周期是可管理的
查看命令
ps
-e 表示所有的終端運(yùn)行的進(jìn)程
-f 顯示更多信息织盼,比如 UID杨何、PPID(父進(jìn)程)、CMD(命令的完整路徑)
-L 多顯示 LWP 悔政,線程信息
ps -eLf 常用命令
pstree 查看進(jìn)程樹
top 動(dòng)態(tài)查看進(jìn)程信息top -p 進(jìn)程號(hào)
結(jié)論:
進(jìn)程也是樹形結(jié)構(gòu)
進(jìn)程和權(quán)限有著密不可分的關(guān)系
top
第一行
34min 表示這臺(tái)機(jī)器已經(jīng)啟動(dòng)34分鐘沒有關(guān)機(jī)了
2users 表示有2個(gè)用戶登錄
平均負(fù)載:1分鐘晚吞,5分鐘,15分鐘
第二行
一共運(yùn)行的任務(wù)谋国,幾個(gè)在running 槽地,幾個(gè)在sleeping
第三行(平均值,按 1 會(huì)把所有 邏輯cpu 的使用情況列出來)
2.8 us 1.8 sy 97.7 id 0.0 wa
us 表示用戶計(jì)算芦瘾,sy表示進(jìn)程之間狀態(tài)交互捌蚊,id表示空閑,wa表示磁盤等待
第四行
內(nèi)存狀態(tài)
第五行
交換分區(qū)(虛擬內(nèi)存)
進(jìn)程的優(yōu)先級(jí)調(diào)整
調(diào)整優(yōu)先級(jí)
nice 范圍從 -20 到 19近弟,值越小優(yōu)先級(jí)越高缅糟,搶占資源就越多
nice -n 10 ./rest.sh 啟動(dòng)的時(shí)候調(diào)整為 10
renice 重新設(shè)置優(yōu)先級(jí)
renice -n 15 19312 已經(jīng)處于啟動(dòng)的情況下進(jìn)行調(diào)整。根據(jù)進(jìn)程號(hào)
進(jìn)程的作業(yè)控制
&符號(hào)祷愉,后臺(tái)運(yùn)行
./test.sh &
jobs 把處于后臺(tái)運(yùn)行的程序調(diào)到前臺(tái)顯示
jobs 能得到一個(gè)編號(hào)
fg 編號(hào)窗宦,可以調(diào)到前臺(tái)
ctrl +z,把已經(jīng)處于前臺(tái)的程序調(diào)到后臺(tái)二鳄,狀態(tài)會(huì)stop
信號(hào)
信號(hào)是進(jìn)程間通信方式之一赴涵,典型用法是:終端用戶輸入中斷命令,通過信號(hào)機(jī)制停止一個(gè)程序的運(yùn)行订讼。
使用信號(hào)的常用快捷鍵和命令
kill -l 查看所有的信號(hào)
SIGINT 通知前臺(tái)進(jìn)程組終止進(jìn)程 ctrl + c髓窜,2號(hào)信號(hào)
SIGKILL 立即結(jié)束程序,不能被阻塞和處理 kill -9 pid 欺殿,9號(hào)信號(hào)
守護(hù)進(jìn)程和系統(tǒng)日志
守護(hù)進(jìn)程(精靈進(jìn)程)
使用 nohup 與 & 符號(hào)配合運(yùn)行一個(gè)命令 (nohup進(jìn)程不是守護(hù)進(jìn)程)
nohup 命令使進(jìn)程忽略 hangup(掛起)信號(hào)寄纵。關(guān)掉終端這個(gè)進(jìn)程依然可以運(yùn)行,忽略輸入并且把輸出打印到 nohup.out
守護(hù)進(jìn)程(daemon)和一般進(jìn)程有什么差別呢脖苏?
開機(jī)自啟程拭,守護(hù)進(jìn)程不需要終端,輸出可以打印到特殊的文件中棍潘,進(jìn)程所占用的目錄是根目錄哺壶。cd /proc/ 這個(gè)目錄是內(nèi)存信息,相應(yīng)的進(jìn)程會(huì)有進(jìn)程號(hào)同名的目錄蜒谤。
使用 screen 命令山宾,進(jìn)入screen環(huán)境后,如果遠(yuǎn)程連接斷掉了鳍徽,可以通過screen恢復(fù)工作現(xiàn)場(chǎng)
screen 進(jìn)入 screen 環(huán)境
ctrl +a然后再單獨(dú)按d退出(detached)screen 環(huán)境
screen -ls 查看 screen 的會(huì)話
screen -r sessionid 恢復(fù)會(huì)話系統(tǒng)日志文件 /var/log系統(tǒng)常規(guī)日志:messages內(nèi)核運(yùn)行情況:dmesg安全日志 secure定時(shí)任務(wù)日志 cron
六. 內(nèi)存和磁盤管理
內(nèi)存和磁盤使用率查看
內(nèi)存使用率查看
free
-m 以兆的方式顯示
-g 以G的方式顯示资锰,但是會(huì)被四舍五入。一般不用
top
磁盤使用率的查看
fdisk
-l 查看
磁盤分區(qū)一塊硬盤最多分15個(gè)分區(qū)
df 既能夠看到分區(qū)阶祭,又能夠看到掛載到的目錄
-h 人性化可讀
du (實(shí)際占用的空間)
-h 人性化顯示
-s 只顯示總計(jì)
du與ls的區(qū)別
du 是實(shí)際占用的绷杜,ls算上空洞數(shù)據(jù)直秆。
常見文件系統(tǒng)
Linux 支持多種文件系統(tǒng),常見的有
ext4(centos6)
xfs(centos7)
NTFS(需安裝額外軟件鞭盟,window常用圾结,有版權(quán))
磁盤分區(qū)和掛載
常用命令
fdisk
mkfs
parted
mount
常見配置文件
/etc/fstab
用fdisk創(chuàng)建分區(qū)(一個(gè)硬盤設(shè)備可以創(chuàng)建多個(gè)分區(qū),也可以創(chuàng)建一個(gè))
1:fdisk -l 查看有幾個(gè)硬盤設(shè)備及分區(qū)
2:fdisk /dev/sdc (比如有設(shè)備sdc齿诉,則可以針對(duì)sdc進(jìn)行分區(qū))
3:之后 m 鍵是幫助
4:n 表示新建一個(gè)分區(qū)
5:新建分區(qū)時(shí)筝野,需要選擇主分區(qū)和擴(kuò)展分區(qū),其中 p表示主分區(qū)粤剧,最多有4個(gè)歇竟。e表示擴(kuò)展分區(qū)(里面可以建立邏輯分區(qū))。一般把一塊硬盤劃分為一個(gè)主分區(qū)抵恋。使用擴(kuò)展分區(qū)時(shí)焕议,只能建立3個(gè)主分區(qū)。
6:選擇區(qū)分編號(hào)1-4
7:指定分區(qū)扇區(qū)大小弧关,默認(rèn)2048
8:指定分區(qū)大小盅安。默認(rèn)全部∈滥遥可以 + 20G等可以選擇分區(qū)大小
9:q 表示退出别瞭,分區(qū)不生效。w 表示生效
建立完分區(qū)后茸习,需要對(duì)分區(qū)進(jìn)行格式化畜隶。
mkfs.ext4 mkfs.xfs等命令
mkfs.ext4 /dev/sdc1
然后要進(jìn)行操作壁肋,linux里都是文件級(jí)別的操作号胚,需要掛載到某個(gè)目錄下
mkdir /mnt/sdc1
mount /dev/sdc1 /mnt/sdc1 掛載上去
對(duì)/mnt/sdc1的讀寫就會(huì)落入sdc1設(shè)備上
1、一個(gè)硬盤
2浸遗、進(jìn)行分區(qū)
3猫胁、格式化
4、掛載
5跛锌、對(duì)指定目錄進(jìn)行操作
需要注意的事情:
如果一個(gè)硬盤大于 2T 弃秆,不能使用 fdisk 進(jìn)行分區(qū),需要使用 parted
parted /dev/sdd
help 獲取幫助
mount 進(jìn)行掛載是臨時(shí)的髓帽,不是固化的
vim /etc/fstab
在文件中新增下面一句話
/dev/sdc1 /mnt/sdc1 ext4 defaults(表示權(quán)限)0 0
系統(tǒng)綜合狀態(tài)查詢
使用 sar 命令查看系統(tǒng)綜合狀態(tài)
sar -u 1 10 CPU的查看菠赚,每隔1秒做采樣,采樣10次郑藏,
sar -r 1 10 看內(nèi)存
sar -b 1 10 IO的情況(磁盤讀寫)
sar -d 1 10 查看每塊磁盤的讀寫
sar -q 1 10 查看進(jìn)程
使用第三方命令查看網(wǎng)絡(luò)流量
yum install epel-release
yum install iftop (網(wǎng)絡(luò)情況)
iftop -p (默認(rèn)eth0)