久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

Linux學(xué)習(xí)筆記二

壓縮解壓縮

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的嵐皋網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

壓縮格式:gz bz2 xz zip z 

壓縮算法,算法不同,壓縮比也不同

compress: filename.Z

uncompress: 

不能壓縮文件夾,會(huì)將文件夾內(nèi)的文件單個(gè)壓縮

gzip: .gz

gzip filename 壓縮完成后刪除源文件

gzip -d 等于 gunzip 

-#: 1-9 指定壓縮比 默認(rèn)為6

gunzip:

gunzip filename

zcat 臨時(shí)查看壓縮的文本文件不解壓

bzip2: .bz2 

比gzip 有更大的壓縮比

使用格式相同

bzip2 filename

-d -# 都有

-k 可以保留源文件

bunzip2 :同理解壓

bzcat :

xz: .xz  同上

unxz 解壓

xzcat

xzdec 解壓

zip: zip 壓縮后的文件名 壓縮的路徑 

可以壓縮文件夾,壓縮后不刪除源文件

archive:歸檔 歸檔本身不意味著壓縮 

unzip :解壓

tar:歸檔工具 

-c:創(chuàng)建歸檔

-f file.tar :操作的歸檔文件

-x :展開歸檔

--xattrs 歸檔同時(shí)保留其擴(kuò)展屬性信息

-t: 不展開歸檔查看內(nèi)部文件

-zxf:解壓歸檔 調(diào)用gzip

-zcf:壓縮歸檔 調(diào)用gzip

-jcf 調(diào)用bzip2

-jxf

-Jcf 調(diào)用xz

-Jxf

-z -j -J 在解壓時(shí)可以省略,壓縮時(shí)不可以

cpio:歸檔工具

read: 

-p 給出提示

-t 超時(shí)時(shí)間

while 循環(huán):

適用于循環(huán)的次數(shù)未知的場(chǎng)景,要有退出條件

語(yǔ)法:

while 條件 ;do

運(yùn)行命令

done

使用顏色控制字體

echo -e \033[x;y;zm顯示文字\033[

x 字體

y 前景色

z 背景色

64,32

/lib

/lib32

IDE 133Mbps 并行

SATA 300M 600M 6G 串行

USB 3 480M串行

SCSI SMALL COMPUTER SYSTEM INTERFACE  320M 并行總結(jié)

SAS 2.5英寸 串行

RAID:

級(jí)別,僅代表磁盤組織方式不同,沒(méi)有上下之分

條帶:0 

性能提升,讀寫

冗余能力沒(méi)有

空間利用 n

至少2塊

鏡像:1

寫性能下降,讀性能上升

有冗余能力

空間利用 n/2

至少2塊

效驗(yàn)碼:4   盤1,盤2,盤3   盤6,壞一塊(1-3)都可以用盤6來(lái)-去好的

輪流校驗(yàn)碼 :5 輪流校驗(yàn)碼存儲(chǔ)位置

讀寫都提升

有冗余能力

空間利用 (n-1)/n

至少3塊

1+0:先條帶再鏡像

    至少4塊

0+1:先鏡像再條帶

至少4塊

JOBD:簡(jiǎn)單增加多塊硬盤

無(wú)性能提升

無(wú)冗余能力

空間利用n

至少2塊

MD multi dsiks 模擬一個(gè)RAID

邏輯RAID

/dev/md# 

mdadm:任何塊設(shè)備做成RAID

模式化命令

創(chuàng)建模式 

-C

專用選項(xiàng):

-l:級(jí)別

-n:設(shè)備個(gè)數(shù)

-a:yes/no 自動(dòng)創(chuàng)建設(shè)備文件

-c:指定數(shù)據(jù)塊chunk大小 默認(rèn)64KB

-x:指定空間盤個(gè)數(shù)

管理模式

--add,--remove,--fail

監(jiān)控模式

-F

增長(zhǎng)模式

-G

裝配模式

-A

-D --detail 查看RAID 的詳細(xì)信息

停止整列

-S --stop

將當(dāng)前RAID 信息保存至配置文件

mdadm -D --scan > /etc/mdadm.conf

以后裝配就用 mdadm -A /dev/md#

watch 周期性地執(zhí)行指定命令,并以全屏方式顯示結(jié)果

-n 指定周期長(zhǎng)度,默認(rèn)單位為秒,默認(rèn)2秒

watch -n '命令'

lsmod 列出內(nèi)核模塊

mdadm 用戶空間工具

MD:MULTI DEVICE 多設(shè)備

DM:device mapper 設(shè)備映射

邏輯設(shè)備

lvm2

快照

多路徑

vgcreate vgname 設(shè)備

-s : pe 的大小,默認(rèn)為4mb

lvcreate -n lv name -L 空間大小 vg name 

擴(kuò)展邏輯卷

lvextend

-L 大小 邏輯卷

resize2fs

resize2fs2fs 邏輯卷 擴(kuò)展到大小

-p 與物理邊界一樣大小

縮減邏輯卷

resize2fs 邏輯卷 縮減到大小

不能在線縮減,先要卸載

確保縮減后的空間大小依然能存儲(chǔ)原有數(shù)據(jù)

在縮減之前應(yīng)先強(qiáng)直檢查文件,以確保文件系統(tǒng)一致性狀態(tài)

lvreduce -L 大小 邏輯卷

再掛載

快照卷

生命周期為整個(gè)數(shù)據(jù)時(shí)長(zhǎng),這段時(shí)間內(nèi),數(shù)據(jù)的增長(zhǎng)不能超出快照卷大小

快照卷只讀

跟原卷在同一卷組內(nèi)

lvcreate 

-s 快照卷

-p r|w  權(quán)限

lvcreate -s -L 大小 -n 邏輯卷名 -p r /路徑

until = !while

until who | grep "hadoop" >> /dev/null ;do

sleep 5

done

echo "hadoop is logged in"

for ((變量賦值;變量范圍;變量變化)); do

循環(huán)操作

done

ping

-c 次數(shù)

-w 超時(shí)時(shí)間

awk 條件 {動(dòng)作}

df -h | awk '{print $1}'  awk -F 分隔符 '{print $字段序號(hào)}'

$NF是最后一個(gè)字段  ,NF是字段個(gè)數(shù)

-F 后跟分隔符匹配

CSMA/CD  carrier sense multi access colision detection

載波偵聽(tīng)多路訪問(wèn)沖突檢測(cè)

socket 套接字 ip與port 綁定

三次握手 四次斷開 tcp 有限狀態(tài)集

    A      三次握手建立TCP連接              B

1.發(fā)送 SYN=1,SN=100 

2.接受 SYN=1,ACK=1,AN=101,SN=300

3.發(fā)送 ACK=1,SN=101,AN=301

    A      四次斷開TCP連接              B

1.發(fā)送 FIN=1,

2.

3.

4.CLOSED

主機(jī)接入網(wǎng)絡(luò)

ip

mask

gateway

hostname

DNS

route

dhcp:dynamie host configuration protocol

169.254.x.x 自動(dòng)地址

linux 網(wǎng)絡(luò)屬于內(nèi)核功能

lo:本地回環(huán)

eth{0-9}:以太網(wǎng)卡

ppp{0-9}:點(diǎn)對(duì)點(diǎn)

5.8  /etc/modprobe.conf

alias

6.0 /etc/udev/rules.d/70-persistent-net.rules

ifconfig 

-a 顯示所有接口的配置信息

ifconfig eth{0-9} ip/mask up|down

配置立即生效,但重啟后失效

網(wǎng)絡(luò)服務(wù):

5.8/etc/init.d/network start|stop|restart|status

6 /etc/init.d/networkmanager 同上

網(wǎng)關(guān)

route 

add 添加

-host 主機(jī)

-net 網(wǎng)絡(luò)

-net 0.0.0.0 默認(rèn)路由

route add -net 網(wǎng)絡(luò) gw 下一跳地址

route add -net default gw 下一條地址

del 刪除

同上

route del -net 0.0.0.0 

route -n 以數(shù)字方式顯示主機(jī)信息

網(wǎng)絡(luò)配置文件

/etc/sysconfig/network

網(wǎng)卡配置文件

/etc/sysconfig/network-scripts/icfg-eth{0-9}

DEVICE=關(guān)聯(lián)的設(shè)備名稱,要與文件名的后半部保持一致

BOOTPROTO={static|none|dchp|bootp}:引導(dǎo)協(xié)議,

靜態(tài)   動(dòng)態(tài)

IPADDR IP地址

NETMASK 子網(wǎng)掩碼

GATEWAY 網(wǎng)關(guān)

ONBOOT 自動(dòng)啟用

HWADDR mac地址與硬件一致

USERCTL {YES|NO} 是否允許普通用戶控制接口

PEERDNS {YES|NO} 是否接受DHCP中DNS的配置信息

不會(huì)立即生效,保證永久有效

路由配置文件

/etc/sysconfig/network-scripts/route-eth{0-9}

添加格式

格式,1 

DEST     via       NEXTHOP

格式,2

ADDRESS0=

NETMASK0=

GATEWAY0=

ADDRESS1=

NETMASK1=

GATEWAY1=

DNS服務(wù)器指定 最多3個(gè)

/etc/resolv.conf

nameserver ip

本地地址解析

/etc/hosts

主機(jī)IP 主機(jī)名稱 主機(jī)別名

配置主機(jī)名

hostname 名字

立即生效,重啟失效

/etc/sysconfig/network

HOSTNAME=

永久有效

使用setup 設(shè)置效果一樣,需要重啟

ifconfig 老舊命令 

iproute2 

ip 

link:配置網(wǎng)卡屬性

ip -s link show 限時(shí)統(tǒng)計(jì)信息

ip link set 設(shè)備 狀態(tài)

addr:協(xié)議地址

ip addr add 地址 dev 設(shè)備

ip addr del 地址 dev 設(shè)備

ip addr show

route:路由

tc 流量控制

一個(gè)網(wǎng)卡多個(gè)地址

網(wǎng)絡(luò)設(shè)備可以別名

別名不能使用DHCP

ifconfig eth0:0

/etc/sysconfig/network-scripts/icfg-eth{0-9}:{0-9}

DEVICE=eth{0-9}{0-9}

程序組成

二進(jìn)制文件  /bin,/sbin

庫(kù) /lib

配置文件/etc

幫助文件/usr/share/man

/etc,/bin,/sbin,/lib

都是系統(tǒng)啟動(dòng)需要用到的目錄程序,不能單獨(dú)掛載額外分區(qū)

必須在根分區(qū)上 

/usr/

/bin

/sbin

/lib

操作系統(tǒng)的核心功能

可以單獨(dú)分區(qū)

/usr/local

/bin

/sbin

/lib

/etc

/man

用戶使用的第三方軟件

/opt

早期第三方軟件安裝位置

/proc

/sys  

不能單獨(dú)分區(qū),內(nèi)核自我管理

/dev 

設(shè)備,也不能單獨(dú)分區(qū)

udev 

  

/home 用戶數(shù)據(jù)目錄

 推薦單獨(dú)分區(qū)

/root 管理員家目錄,么必要單獨(dú)分區(qū)

/var 有了他系統(tǒng)管理更加規(guī)范

日志信息,和運(yùn)行信息,推薦單獨(dú)分區(qū),日積月累越來(lái)越大

/boot :內(nèi)核 initrd {initramfs} 只要能被找到就行,推薦單獨(dú)分區(qū)

POST ---BIOS ----MBR (BOOTLOADER)--- 找到磁盤上的內(nèi)核 ---- 找根的位置 

軟件包安裝器

打包成一個(gè)文件:二進(jìn)制文件,庫(kù)文件,配置文件,幫助文件

生成數(shù)據(jù)庫(kù):追蹤所安裝的每一個(gè)軟件

1,制作軟件包

2,安裝卸載升級(jí)查詢校驗(yàn)

redhat suse :rpm

redhat package manager

rpm is package manager

redhat和suse 不能混用

debian :dpt

依賴關(guān)系:

前端工具:yum,apt-get

后端工具:rpm,dpt

yum:yellowdog  update modifier

rpm 命令:

rpm:

/var/lib/rpm

rpmbulid:

安裝,卸載,升級(jí),查詢,校驗(yàn),數(shù)據(jù)庫(kù)重建,驗(yàn)證數(shù)據(jù)包,

rpm命名:

包組成:

主包:

bind-版本 

子包:

bind-libs

bind-utils

包名

包名格式:

名稱-版本-發(fā)行號(hào).架構(gòu).平臺(tái).rpm

bind-major.minor.release-release.arch.rpm 

第一個(gè)release是發(fā)行號(hào),第二個(gè)release是rpm包制作者修訂用

主版本號(hào):重大改進(jìn)

次版本號(hào):某個(gè)子功能發(fā)生重大變化

發(fā)行號(hào):修改了部分bug,調(diào)整了一些功能

noarch 沒(méi)有針對(duì)版本

umame -a 查看內(nèi)核版本

rpm包:

二進(jìn)制格式:直接使用,多數(shù)使用

源碼格式:需要編譯

rpm :

1,安裝:

rpm -i 路徑/文件名

-h 已#顯示安裝進(jìn)讀,50個(gè)#,每個(gè)2%

-v 詳細(xì)過(guò)程

-vv 更詳細(xì)

rpm -ivh 常用

--nodeps:忽略依賴關(guān)系,可以安裝但是無(wú)法正常使用

--replacepkgs:重新安裝,替換原有安裝

--force:重裝,覆蓋,降級(jí) 強(qiáng)行安裝

--test 測(cè)試安裝

2,查詢:

rpm -q 包名 : 查詢指定包

  -qa: 查詢所有已經(jīng)安裝的包

-qi: 查詢指定包的說(shuō)明信息

-ql:查詢指定包安裝后生成的文件列表

-qc:查詢指定包的配置文件

-qd:查詢指定包的安裝幫助文件

-qf 查詢指定文件是由那個(gè)rpm包安裝生成的

-q --scripts 查詢指定包中的腳本

如果某RPM未安裝,希望查詢

-qpi

-qpa

同上

3,升級(jí):

rpm -Uvh 如果有老版本的則升級(jí),否則安裝

-Fvh 如果有老版本的則升級(jí),否則退出

rpm -Uvh --oldpackage 包名  降級(jí)安裝包

4,卸載

rpm -e 包名

--nodeps

5,校驗(yàn)

rpm -V 包名

6,重建數(shù)據(jù)庫(kù)

rpm 

--rebuliddb 重建數(shù)據(jù)庫(kù),一定會(huì)重建

--initdb 初始化數(shù)據(jù)庫(kù),沒(méi)有才建立,有就不建建立

7,校驗(yàn)來(lái)源合法性,及軟件完整性

ls /etc/pki/rpm-gpg/

RPM-GPG-KEY-redhat-release

rpm -K 包名

dsa,gpg 驗(yàn)證來(lái)源合法性

sha1,md5 驗(yàn)證軟件包的完整性

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

導(dǎo)入redhat的秘鑰

HTMLHYPERTEXT MARK LANGUAGGE

XML EXTENDED MARK LANGUAGGE

XML,JSON 半結(jié)構(gòu)化數(shù)據(jù)

yum倉(cāng)庫(kù)中的元數(shù)據(jù)文件

primary.xml.gz

所有rpm包的列表:

依賴關(guān)系

每個(gè)rpm生成的文件列表

filelist.xml.gz

當(dāng)前倉(cāng)庫(kù)RPM包的所有文件列表

other.xml.gz

額外信息,rpm修改日志

repomd.xml

記錄以上上個(gè)文件的時(shí)間戳和校驗(yàn)和

comps 開頭的.xml

rpm包的分組信息

為yum定義repo /etc/yum.repos.d/ 以.repo結(jié)尾的文件

[標(biāo)示ID]

name=       名稱

baseurl= 倉(cāng)庫(kù)路徑 

ftp://

http://

file:/// 

enable= 是否可用

gpgcheck= 檢查簽名完整性

gpgkey= 檢查的秘鑰位置

yum 

list:列表

all 全部

available 可用

installed 已裝

updates 可用更新

clean:清理緩存

repolist:顯示repoe列表

install:

-y 自動(dòng)回復(fù)yes

--nogpgcheck 無(wú)檢查完整性

update:

升級(jí)到最新版本

update to:

升級(jí)到指定版本

remove|erase:

卸載

info :信息

provides:

查看指定文件或特性是那個(gè)yum安裝的

groupinstall:

grouplist

groupinfo

createrepo 手動(dòng)建立yum倉(cāng)庫(kù)時(shí)需要使用

在指定目錄中建立repodata

   還需要復(fù)制 XML文件

rpm 安裝

二進(jìn)制格式

源程序---編譯----二進(jìn)制格式

有些特性是編譯選定的,如果編譯未選定此特性,將無(wú)法使用

rpm包的版本落后于源碼包,甚至落后很多

定制:手動(dòng)編譯安裝

編譯環(huán)境,開發(fā)環(huán)境

開發(fā)庫(kù),開發(fā)工具

linux :c

gun :c

C環(huán)境,c++, 

gcc:編譯器

g++:

make:項(xiàng)目管理工具

makefile:定義了make (gcc,g++) 按何種次序去編譯源文件的程序

automake,創(chuàng)建---makefile.in

autoconf,創(chuàng)建---configure

以上兩者結(jié)合成makefile

make install 

perl+java,python

編譯安裝三步驟

前提:準(zhǔn)備開發(fā)環(huán)境{編譯環(huán)境}

安裝 Development Tools 和 development libraries

先用tar 解壓二進(jìn)制程序包

cd

./configure (讓用戶選擇編譯特性,檢查編譯環(huán)境)

使用 configure --help 查看選項(xiàng)

使用 configure --prefix 指定安裝目錄 

--sysconfdir 指定安裝的配置目錄

在安裝目錄中用 make 確認(rèn)安裝

再輸入 make install

1,修改PATH環(huán)境變量,以能夠識(shí)別次程序的二進(jìn)制文件路徑

1.修改/etc/profile

2.或者在/etc/profile.d 目錄中 建立以.SH為名稱后綴的文件

在里面定義export PATH=$PATH:/路徑

2,默認(rèn)情況下,系統(tǒng)搜索庫(kù)文件的路徑/lib,/usr/lib,要額外添加搜索路徑

在/etc/ld.so.conf.d/中創(chuàng)建以.conf為后綴命名的文件,而后把要增添的路徑直接寫入次文件

ldconfig:重新搜索庫(kù)文件

-v:顯示重新搜索的過(guò)程

3,頭文件(庫(kù)調(diào)用的參數(shù)標(biāo)準(zhǔn)相關(guān)信息):輸出給系統(tǒng),

默認(rèn):/usr/include

添加頭文件搜索路徑,使用鏈接進(jìn)行

/usr/local/tengine/include/  /usr/include/

第一種ln -s  /usr/local/tengine/include/*  /usr/include/

第二種ln -s /usr/local/tengine/include/  /usr/include/tengine

4,man文件:安裝在--prefix 指定目錄下額man目錄,/usr/share/man

1,man -M man文件的路徑

2,在/etc/man.config 中添加一條manpath

netstat :網(wǎng)絡(luò)狀態(tài)命令

-r 顯示路由表 -rn 數(shù)字顯示

-t 顯示tcp連接

-u 顯示udp連接

-l 監(jiān)聽(tīng)狀態(tài)的連接

-p 監(jiān)聽(tīng)指定套接字的進(jìn)程號(hào)與進(jìn)程名

source /etc/profile 重新載入配置文件

kill 進(jìn)程號(hào) 殺死進(jìn)程

while ,until,for

break :提前退出循環(huán)結(jié)束任務(wù)

continue: 提前退出當(dāng)前循環(huán),繼續(xù)循環(huán)

while 特殊用法

while: ;do

done 

無(wú)限循環(huán)

while read line; do    循環(huán)讀取 文件每一行 存入line中

done < 輸入重定向文件

函數(shù),功能, function

代碼重用:

定義函數(shù) 2種方法

1.  function 函數(shù)名 {

函數(shù)體 

}

2.  函數(shù)名() {

函數(shù)體

|

 `` 反引號(hào),應(yīng)用程序執(zhí)行結(jié)果

執(zhí)行結(jié)果狀態(tài),看命令的最后一條運(yùn)行結(jié)果

return # 0-255  定義函數(shù)狀態(tài)返回

接受參數(shù)的函數(shù)

函數(shù)名 參數(shù)1 參數(shù)2

$1 調(diào)用參數(shù)1

$2 調(diào)用參數(shù)2

進(jìn)程管理

CPU中 MMU 內(nèi)存管理單元 MEMORY MANAGEMENT UNIT

進(jìn)程切換,上下文環(huán)境切換 

rss 常駐內(nèi)存,位于物理內(nèi)存不被交換出去的

vsz 虛擬內(nèi)存大小 ,棧,堆,庫(kù),初始和為初始化數(shù)據(jù),命令

thrend 線程 由進(jìn)程拆分的多個(gè)小的組成部分, 可以節(jié)省內(nèi)存的使用空間

進(jìn)程狀態(tài)

uninterruptible 不可中斷的睡眠

interruptible  可中斷的睡眠

init: 內(nèi)核之后的第一個(gè)進(jìn)程,其他均為其子進(jìn)程

優(yōu)先級(jí) 0-139 共140個(gè)

進(jìn)程越小越高級(jí)

100-139 :用戶控制

0-99: 內(nèi)核調(diào)整

高優(yōu)先級(jí)的優(yōu)勢(shì), 1,獲得更多的CPU運(yùn)行時(shí)間

2,獲得優(yōu)先的運(yùn)行時(shí)間

每個(gè)進(jìn)程都有個(gè)

nice值:友好的,優(yōu)雅的

范圍-20到19

對(duì)應(yīng) 100到139

nice值越小優(yōu)先級(jí)越高

默認(rèn)都是0

普通用戶僅能夠調(diào)大自己進(jìn)程的nice值

管理員可以隨意調(diào)整

PID:process id

init:所有進(jìn)程的父進(jìn)程 PID 為 1

進(jìn)程的相關(guān)屬性在目錄 /proc/中對(duì)應(yīng)的進(jìn)程號(hào)

ps:process status

BSD 風(fēng)格

sysv 風(fēng)格 - 

a:所有和終端有關(guān)的進(jìn)程

u:

x:所有和終端無(wú)關(guān)的進(jìn)程

-e:所有進(jìn)程

-l:

-f:

ps -o 字段   顯示指定字段

進(jìn)程的分類:

跟終端相關(guān)的進(jìn)程

跟終端無(wú)關(guān)的進(jìn)程

進(jìn)程狀態(tài):

D:不可中斷的睡眠

R:運(yùn)行或就緒

S:可中斷的睡眠

T:停止的

Z:僵尸

<:高優(yōu)先級(jí)進(jìn)程

N:低優(yōu)先級(jí)

+:前臺(tái)進(jìn)程組中的進(jìn)程

l:多線程進(jìn)程

s:會(huì)話領(lǐng)導(dǎo)者進(jìn)程

pstree:顯示進(jìn)程樹

pgrep: grep風(fēng)格

 -u 用戶

 

pidof:根據(jù)程序名查找ID號(hào)

top:

M:根據(jù)駐留內(nèi)存大小排序

P:根據(jù)CPU使用時(shí)間排序

T:根據(jù)累計(jì)時(shí)間排序

l:顯示

t:顯示

m:顯示內(nèi)存

c:顯示完整命令

k:殺死進(jìn)程

q:退出

top -d # 顯示延遲時(shí)長(zhǎng)

-b 翻屏顯示

-n # 指定屏幕數(shù)量顯示

進(jìn)程間通信 IPC (inter process commu)

共享內(nèi)存

信號(hào):

semaphore:旗語(yǔ)

kill -l 查看信號(hào)

1:SIGHUP :讓進(jìn)程不用重啟就可以重讀配置文件,并讓新的配置信息生效

2:SIGINT :ctrl + c ,中斷進(jìn)程

9:SIGKILL :殺死一個(gè)進(jìn)程 強(qiáng)行殺死

15:SIGTERM : 終止一個(gè)進(jìn)程 完成后事后殺死  kill 默認(rèn)信號(hào)

指定一個(gè)信號(hào):

信號(hào)號(hào)碼:kill -1

信號(hào)名稱:kill -SIGKILL

信號(hào)名稱簡(jiǎn)寫 : kill -KILL  去掉SIG就行

kill pid

killall commmand 殺死有多個(gè)進(jìn)程的命令

調(diào)整已經(jīng)啟動(dòng)進(jìn)程的nice值

renice nice值 PID         renice  3  16522

調(diào)整準(zhǔn)備啟動(dòng)的nice值

nice -n nice值 command     nice -n 8 top

前臺(tái)作業(yè):占據(jù)了命令提示符

后臺(tái)作業(yè):啟動(dòng)之后釋放命令提示符,剩余工資在后臺(tái)完成

前臺(tái)--后臺(tái):ctrl+z ,或者在命令啟動(dòng)后在后臺(tái)執(zhí)行,最后加&

jobs:查看所有的作業(yè),作業(yè)號(hào)不同于進(jìn)程號(hào)

bg :讓后臺(tái)停止的作業(yè)繼續(xù)運(yùn)行

bg %作業(yè)號(hào) 默認(rèn)為+

+:命令將操作的作業(yè)

-:命令將第二個(gè)操作的作業(yè)

fg:將后臺(tái)調(diào)往前臺(tái)

fg %作業(yè)號(hào)

終止作業(yè)用 kill %作業(yè)號(hào)

vmstat 系統(tǒng)狀態(tài)查看命令

vmstat 間隔 次數(shù)  vmstat 1 5

uptime

/proc/meninfo 文件 內(nèi)存信息

post----bios(boot disk select )----mbr(bootloader 446k)-----kernel---initrd-----rootfs/sbin/init(/etc/inittab)

啟動(dòng)的服務(wù)不同:

運(yùn)行級(jí)別:0-6

0:halt

1:單用戶 single user mode 直接登錄管理員模式 1,S,s,single都可以

2:多用戶 multi usermode ,no NFS 不掛在

3:多用戶 multi usermode ,test 模式命令行

4:reserved 未定義,保留級(jí)別

5:多用戶 multi usermode ,圖形模式

6:reboot

redhat,suse

核心:動(dòng)態(tài)加載,內(nèi)核模塊

內(nèi)核:/lib/modules/內(nèi)核版本號(hào)命名的目錄

vmlinux-2.6.32

/lib/modules/2.6.32

內(nèi)核設(shè)計(jì)風(fēng)格:

單內(nèi)核:linux LWP 輕量級(jí)進(jìn)程

核心:ko kernel object

微內(nèi)核:windows,solaris  線程 

chroot 虛根的目錄

ldd /bin/bash 查看二進(jìn)制文件的共享庫(kù)

tree 

ramdisk---initrd

ramfs---initramfs

詳解啟動(dòng)過(guò)程:

bootloader 

LILO: linux bootloader

grub:grand unified bootloader

stage1:MBR

stage1_5: 引導(dǎo)文件系統(tǒng)

stage2:/boot/grub

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE:  You have a /boot partition.  This means that

#          all kernel and initrd paths are relative to /boot/, eg.

#          root (hd0,0)

#          kernel /vmlinuz-version ro root=/dev/sda2

#          initrd /initrd-version.img

#boot=/dev/sda

default=0 設(shè)置默認(rèn)啟動(dòng)的title編號(hào),從0開始

timeout=5 等待的超時(shí)時(shí)長(zhǎng)

splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz 指定背景圖片

hiddenmenu 隱藏菜單

password 明文密碼

password --md5 加密密碼 (使用grub-md5-crypt 生成)

title Red Hat Enterprise Linux Server (2.6.18-308.el5)  內(nèi)核標(biāo)題,可以自由修改

root (hd0,0) 內(nèi)核文件所在的設(shè)備,,gurb中所有設(shè)備都是(hd#,@) #表示第幾個(gè)磁盤,@表示第幾個(gè)分區(qū) 

kernel /vmlinuz-2.6.18-308.el5 ro root=LABEL=/ rhgb quiet  內(nèi)核路徑和傳遞給內(nèi)核的參數(shù)

initrd /initrd-2.6.18-308.el5.imgramdisk 文件路徑

gimp 圖像編輯軟件

查看運(yùn)行級(jí)別

runlevel

who -r 

查看內(nèi)核:

uname -r

uname -a

安裝修復(fù) grub

安裝 grub stage 1

方式1,

grub

root (hd0,0) 設(shè)置

setup (hd0,0)

quit

方法2,

grub-install --root-directory=/(boot所在的父母目錄) /device指定設(shè)備

grub 下啟動(dòng)系統(tǒng)

find 查找 內(nèi)核和initrd文件位置

root (hd0,0)

kernel 

initrd

kernel 初始化過(guò)程

1.設(shè)備探測(cè)

2.驅(qū)動(dòng)初始化(可能從initrd中狀態(tài)驅(qū)動(dòng)模塊)

3.以只讀文件掛載文件系統(tǒng)

4.狀態(tài)第一個(gè)進(jìn)程init (pid:1)

/sbin/init (/etc/inittab)

 upstart :ubuntu開發(fā) d bus events dirver

 systemd :

id標(biāo)示符:那個(gè)運(yùn)行級(jí)別:動(dòng)作:運(yùn)行的進(jìn)程

si::sysinit:/etc/rc.d/rc.sysinit

動(dòng)作:

initdefault:設(shè)定默認(rèn)級(jí)別

sysinit:系統(tǒng)初始化

wait:等待切換至此級(jí)別

respawn:一旦程序終止,會(huì)重新重啟

/etc/rc.d/rc.sysinit 完成的任務(wù)

1.激活udev和selinux

2.根據(jù)/etc/syscti.conf 設(shè)定內(nèi)核參數(shù)

3.設(shè)定系統(tǒng)時(shí)鐘

4.裝載鍵盤映射

5.啟用交換分區(qū)

6.設(shè)置主機(jī)名

7.根文件系統(tǒng)檢測(cè),并以讀寫方式掛載

8.激活raid 和 lvm 設(shè)備

9.啟用磁盤配額

10.檢查并掛載其他文件系統(tǒng),/etc/fstab

11.清理過(guò)期的鎖和pid文件

l0:0:wait:/etc/rc.d/rc.sysinit

rc0.d

k*

stop

s*

start

/etc/rc.d/init.d etc/init.d

服務(wù)類腳本:

start 

sysv : /etc/rc.d/init.d

start|stop|restart|status

reload|configtest

chkconfig

checkconfig: 第一組數(shù)字,啟動(dòng)級(jí)別. 第二組SS啟動(dòng)順序. 第三組KK關(guān)閉順序

當(dāng)chkconfig命令為腳本在rc#.d目錄中創(chuàng)建鏈接時(shí)

runlevel s表示創(chuàng)建S*開頭的文件

k表示創(chuàng)建K*開頭的文件

S后面的數(shù)字表示優(yōu)先級(jí)為SS

K后面的數(shù)字表示優(yōu)先級(jí)為KK

runlevel 是- 表示所有都是K開頭的鏈接

renlevel 可以省略,默認(rèn)為2345級(jí)別

description:用戶說(shuō)明此腳本的簡(jiǎn)單功能, \換行 

chkconfig --list 查看所有獨(dú)立守護(hù)服務(wù)的設(shè)定,獨(dú)立守護(hù)進(jìn)程

 --list 服務(wù)名 查看指定服務(wù)名

 

 --add 服務(wù)名 添加到服務(wù)列表中

 --del 服務(wù)名 刪除

 --level 級(jí)別 服務(wù)名 on|off

    chkconfig --list httpd

chkconfig --level 2345 httpd on

/etc/rc.d/rc.local 系統(tǒng)最后啟動(dòng)的腳本

可以把需要的命令寫入讓其運(yùn)行

/etc/inittab 任務(wù):

1.設(shè)定默認(rèn)運(yùn)行級(jí)別

2.運(yùn)行系統(tǒng)初始化腳本

3.運(yùn)行對(duì)應(yīng)的指定對(duì)應(yīng)級(jí)別下額目錄腳本

4.設(shè)定 ctrl+alt+del 的操作

5.定義ups電源

6.啟動(dòng)虛擬終端(2345)

7.啟動(dòng)圖形終端(5)

守護(hù)進(jìn)程額類型

獨(dú)立守護(hù)進(jìn)程

xinetd:超級(jí)守護(hù)進(jìn)程,代理人

瞬時(shí)守護(hù)進(jìn)程:不需要關(guān)聯(lián)至運(yùn)行級(jí)別

大商場(chǎng)和專賣店

核心 :/boot/vm開頭

內(nèi)核模塊:ko  /lib/modules/version/

內(nèi)核設(shè)計(jì):

單內(nèi)核

模塊化設(shè)計(jì)

微內(nèi)核

裝載模塊:

insmod

modprobe

用戶監(jiān)控和訪問(wèn)內(nèi)核的方式

/proc /sys

偽文件系統(tǒng)

/proc/sys:此目錄中文件很多是可讀寫的

/sys :某些也可以寫

設(shè)定內(nèi)核參數(shù)的方法

echo 數(shù)值 > 重定向 /proc/sys/文件

sysctl -w kernel.hostname=

能立即生效,不能永久有效

永久有效,但不能立即生效,/etc/sysctl.conf

使用 sysctl -p 使內(nèi)核在修改后生效

sysctl -a 顯示所有內(nèi)核參數(shù)選項(xiàng)

內(nèi)核模塊管理

lsmod 列出內(nèi)核模塊

modprobe 模塊名 裝載模塊

modprobe -r 模塊名 卸載模塊名

modinfo 模塊名 查看模塊具體信息

insmod 模塊路徑 裝載模塊

rmmod 模塊名 卸載模塊

depmod 模塊路徑 設(shè)置模塊的目錄

內(nèi)核中的功能除了核心功能之外,在編譯時(shí),大多數(shù)功能都有三種選擇

1,不使用功能

2,編譯成內(nèi)核模塊

3,編譯進(jìn)內(nèi)核

如何手動(dòng)編譯內(nèi)核

make gconfig:ghome 桌面環(huán)境使用,需要安裝圖形開發(fā)庫(kù) yum grouplist 安裝

make kconfig:kde 桌面使用

make menuconfig 文本方式

make

make modules_install

make install

screen命令

screen -ls 列出已經(jīng)建立的會(huì)話

screen 新建屏幕

screen -r ID 可以還原屏幕

ctrl+a,d 拆除屏幕

exit 退出

二次編譯時(shí)清理,清理前,如果需要,請(qǐng)備份配置文件.config

make clean

make mrproper

mkinitrd initrd文件路徑 內(nèi)核版本號(hào)

mkinitrd /boot/initrd-`uname -r`.img `umane -r`

 

file=/etc/init.d/acpid

echo ${file##*/}  從左向右最后一次匹配 / 刪除

acpid

echo ${file#*.}  從左向右第一次匹配 . 刪除

d/acpid

echo ${file##*/*/}

acpid

echo ${file%.*}  從右向左 第一次匹配 . 刪除

/etc/init

echo ${file%%/*} 從右向左 最后一次匹配 / 刪除

系統(tǒng)啟動(dòng)流程

post---bios(boot device)---bootloader(mbr)---

kernel(initrd|initramfs)---init(/etc/inittab|)-----rootfs/sbin/init

/etc/inittab

設(shè)置默認(rèn)運(yùn)行級(jí)別

系統(tǒng)初始化 /etc/rc.d/rc.sysinit

運(yùn)行指定級(jí)別的腳本

/etc/rc.d/init.d

/etc/rc.d/rc#.d

k

s

00-99:運(yùn)行次數(shù)

啟動(dòng)虛擬終端

啟動(dòng)圖形終端

/etc/rc.d/rc.sysinit

檢測(cè)并以讀寫方式掛載根文件系統(tǒng)

設(shè)定主機(jī)名

檢測(cè)并掛載fstab中的文件系統(tǒng)

啟動(dòng)SWAP分區(qū)

初始化外圍硬件的設(shè)備驅(qū)動(dòng)

根據(jù)/etc/sysctl.conf 設(shè)定內(nèi)核參數(shù)

激活udv和selinux

激活udev和selinux

清理過(guò)期的鎖和pid文件

狀態(tài)鍵映射

RELE 6

UPSTART --init

/etc/inittab

/etc/init/*.conf

內(nèi)核初始化

硬件探測(cè)

裝載驅(qū)動(dòng)

掛載根文件系統(tǒng)

啟動(dòng)用戶空間的第一進(jìn)程init

1,關(guān)機(jī)和重啟

shuntdown

halt

reboot

poweroff

2,主機(jī)名

3,運(yùn)行對(duì)應(yīng)的服務(wù)腳本

4,啟動(dòng)終端

5,運(yùn)行用戶

6,定義單用戶級(jí)別

7,狀態(tài)網(wǎng)卡驅(qū)動(dòng)

8,提供一個(gè)WEB服務(wù)器

busybox

kernel

制定安裝

自動(dòng)化安裝

定制引導(dǎo)盤

mount -n 掛載時(shí)不更新/etc/mtab文件

cat /proc/mounts 可以查看當(dāng)前系統(tǒng)掛載的fs

mingetty 創(chuàng)建終端登錄  運(yùn)行后會(huì)調(diào)用 /bin/longin 登錄提示符

腳本編程

變量中字符的長(zhǎng)度,$(#變量名)

終端提示信息

/etc/issue 文件的內(nèi)容

設(shè)定內(nèi)核參數(shù)

/etc/sysctl.conf

sysctl -p

用戶

PAM 

/etc/pan.d/*

繞過(guò)PAM:

/bin/login:

login:驗(yàn)證

nsswitch NETWORK SERVICE SWITCH

名稱解析開關(guān)

框架:

庫(kù):libnss_file.so,

配置文件:/etc/nsswitch.conf

確定了去×××用戶密碼

/etc/passwd /etc/shandow

/root/.bash_profile 中的環(huán)境變量

PS1= '[ \u @ \h \W]\$'

單用戶模式

exec init S

內(nèi)核編譯

busybox

kernel+rootfs

kernel+initrd(busybox)+rootfs(busybox)

查看本機(jī)硬件信息

1. cat /proc/cpuinfo

2. lsusb

3. lspci

4. hal-device

內(nèi)核配置

make menuconfig

make gconfig

make kconfig

make config

報(bào)錯(cuò)為.config 文件

make

make modules install

make install

模塊安裝位置,/lib/modules/內(nèi)核版本號(hào)/

部分編譯

1,只編譯某子目錄下的相關(guān)代碼:

make dir/

make arch/

make drivers/net/

2,只編譯部分模塊

make M=drivers/net/

3,只編譯某一模塊

make /drivers/net/pcnet32.ko

4,將編譯完成的結(jié)果放置別的目錄

make O=/tmp/kernel

如何編譯busybox:

交叉編譯

make arch=平臺(tái)格式

$ {變量:-對(duì)應(yīng)值} 如果變量為空或者未定義,則變量展開為"對(duì)應(yīng)值",否則,展開為變量的值

$ {變量:+對(duì)應(yīng)值} 如果

文章題目:Linux學(xué)習(xí)筆記二
標(biāo)題來(lái)源:http://sd-ha.com/article12/jgipdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、App開發(fā)、定制開發(fā)、網(wǎng)站營(yíng)銷、網(wǎng)站策劃、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)