Shell(一)

一. 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] 不匹配

Linux Shell 通配符

文本內(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
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)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末衡查,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子必盖,更是在濱河造成了極大的恐慌拌牲,老刑警劉巖俱饿,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異塌忽,居然都是意外死亡拍埠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門土居,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枣购,“玉大人,你說我怎么就攤上這事装盯】缆牵” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵埂奈,是天一觀的道長(zhǎng)迄损。 經(jīng)常有香客問我,道長(zhǎng)账磺,這世上最難降的妖魔是什么芹敌? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮垮抗,結(jié)果婚禮上氏捞,老公的妹妹穿的比我還像新娘。我一直安慰自己冒版,他們只是感情好液茎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著辞嗡,像睡著了一般捆等。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上续室,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天栋烤,我揣著相機(jī)與錄音,去河邊找鬼挺狰。 笑死明郭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丰泊。 我是一名探鬼主播薯定,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瞳购!你這毒婦竟也來了话侄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤苛败,失蹤者是張志新(化名)和其女友劉穎满葛,沒想到半個(gè)月后径簿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嘀韧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年篇亭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锄贷。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡译蒂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谊却,到底是詐尸還是另有隱情柔昼,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布炎辨,位于F島的核電站捕透,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏碴萧。R本人自食惡果不足惜乙嘀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望破喻。 院中可真熱鬧虎谢,春花似錦、人聲如沸曹质。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽羽德。三九已至几莽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間玩般,已是汗流浹背银觅。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工礼饱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坏为,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓镊绪,卻偏偏與公主長(zhǎng)得像匀伏,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蝴韭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容