第一章linux 安装操作系统


Linux内核是由一个特殊软件程序,用于实现CPU和内存的分配、进度调度、设备驱动等核心操作。

Linux由主版本号和次版本号、修订版本号组成。


例如:2.6.38

第二列为奇数代表不稳定版本,为偶数代表稳定版本

GPLLGPL协议

允许用户任意复制,传递,修改使用及再次发布新的版本

LGPL:跟GPL相比更商业化了允许开发之后不公开源代码

红帽linux系列发行版有

Red Hat企业版:用于企业中比较稳定

Fedora社区版:用于个人,倾向于桌面,适合桌面绚丽

CentOS社区版:不属于红帽,但是基于红帽源代码组建而成的。

磁盘分区和文件系统

Linux的所有都是一切都是文件

硬盘:IDElinux表示为“HD”,SCSIlinux表示为“sd”例如:hda5 a表示第几块硬盘(按abcd…….排列)5表示逻辑分区,linux可分4个主分区从5开始表示为第一个逻辑分区

系统文件类型:

EXT3用于存放文件和目录数据的分区

SWAP交换文件系统,用于缓解内存一般大于内存容量的1.5~2




第二章设置及基本操作


Linux目前有两个图形桌面套件GNOMEGNU网络对象模型环境也是目前的主流)KDE(桌面环境)

Linux系统目录结构:是一个树形目录结构所有的分区和目录都有一个根目录来构成的/

/boot:内核文件和启动菜单配置文件

/bin:存放基本用户口令

/dev:存放硬件设备文件

/etc: 系统及各种配置文件

/home: 存放普通用户的基本工作文件

/root: 存放超级管理员的文件

/sbin:存放超级管理员命令文件

/usr: 存放其他的应用程序

/var:存放一些容易变化的系统文件。如:日志文件,邮箱等

/tmp:存放系统运行过程中使用的一些文件

在命令行中“#”代表管理员。$代表普通用户权限

Uname –r 表示查看版本信息

1.查看CPU信息:cat /proc/cpuinfo 查看CPU使用率:top

2.查看内存信息:cat /proc/meminfo 还可以用Free -mm为单位显示

3.查看更改主机名:hostname

4.查看更改IP地址:ifconfigeth0 后面跟IP 在加netmask(子网掩码)临时的重启之后就失效。

5.关机:shutdown -h now poweroff

6.重启:shutdown -r now reboot




第三章目录和文件管理(一)


Tab 键→补全不完整的命令字或文件

CtrlC换为新的一行命令提示符

CtrlL清屏


怎么查看内外部命令用“type

内部命令用帮助的时候:help pwd

外部命令帮助时有三种方式:ls –help

Man file

Info ls

管道(丨表示):左端的输出做右端的输入举例:man ls col –b>lshelp.txt

重定向输出(>表示):用大于号表示用于把输出的结果保存起来 man ls col –b>lshelp.txt

查看及切换目录

Pwd命令查看当前的工作目录

Cd命令切换工作目录

Ls命令显示目录内容参数有

LsL=ll :显示所有详细信息

-a :显示隐藏目录

-t :按时间前后来排序

-d :显示目录本身属性而不显示内容

-h :以人性化的方式显示目录或文件大小

-R :以递归的方式显示指定目录及其所有目录内容=tree

——color表示以颜色区分不同文件,深蓝色表示目录,白色表示一般文件,绿色表示可执行文件,×××表示设备文件,红色表示压缩文件。

du命令统计目录及文件夹的空间占用情况:

-a统计磁盘空间占用时的所有文件大小

-h以人性化方式显示

-s只统计某个目录或文件的大小

创建目录和文件夹:

mkdir命令创建新目录如果需创建多个目录要加参数-p/aa/bb/cc 表示递归是的创建 -p aa bb cc 表示在同一个文件夹创建aabb cc


touch命令创建空文件

复制、删除、移动目录或文件:

cp命令cope)复制文件或目录:cp 要复制的文件夹目录复制到哪的文件或目录(用“./”表示当前目录下,“../”表示上一目录,“./”后面跟的目录,例如:aa如果有aa则默认复制到aa中,如果没有则新建一个aa复制进去。

-f表示强制复制

-i表示同名时给用户提示

-p复制时保持源文件的权限

-r表示递归复制目录下的所有文件

rm命令删除(remove)文件或目录:

-f强制删除

-i删除时提醒用户

-r递归删除所有目录或文件

mv命令移动(move)文件或目录:mv要移动件夹目录移动到哪的文件或目录(用“./”表示当前目录下,“../”表示上一目录,“./”后面跟的目录,例如:aa如果/后面不加参数则默认移动到的名还是aa,如果/后面起名叫aa则文件改名为aa

find命令——查找条件或目录:

用法:find(查找范围)(查找条件)

条件有:-name容许使用(*代表多个字符)?(代表一个字符)

-size用“+-”来控制

-user根据用户来查找

-type 根据类型来查找:f(普通文件夹)、d(目录)、b(块设备文件)





第四章目录和文件管理(二)


查看文件内容:


Cat命令—显示并连接文件内容

使用:cat /跟路径

Lessmore命令——用来分页查看文件内容

使用:less /根路径

Head(头部)和tail(尾部)命令——查看文件开头或末尾的部分内容

使用:head -4 /路径表示:14行的内容 tail -f /路径表示:看动态随时更新。


wc命令——统计文件中的单词数量以及行的数量

使用:wc -参数 /路径

参数: -c 统计字节量

-l 统计多少行

-w统计多少个单词

grep命令——检索、过滤文件内容

(条件:^表示以什么开头、$表示以什么结尾、^$表示空行)

使用:grep (参数)需要查找的内容要查找的地方

参数:-i查找内容时忽略大小写

-v反向查找,意思是与输出条件不相符合即可

-[]表示代替“一个字符”例如: [ab]表示aB [a-b]表示ab都执行 [^]表示取“反向”的意思。


备份与恢复文档:


1.gzipgunzip命令压缩或解压文件

使用:gzip 文件表示:压缩

gzip -9 文件表示:提高压缩比率但降低解压速度。

使用:gunzip 文件表示:解压文件

gzip -d 文件表示:解压文件

2.bzip2bunzip2命令压缩或解压文件:

使用:与gzipgunzip方法一样只是后罪名不一样 bzip2后罪名为:.bz2 gzip后罪名为:gz


Tar命令归档和释放工具:功能与gzipbzip2功能一样

使用:tar (参数)(需要归档压缩起的名字)(需要归档压缩的目录或文件)

参数:-c创建.tar格式的包文件

-C解包时需要放在哪个指定目录

-f使用归档文件

-j使用bzip2程序压缩或解压

-z使用gzip程序压缩或解压

-X解开.tar格式的文件

-v输出的详细信息

-t 查看包内的文件

-p打包时保留文件及目录的绝对目录

-p()打包时保留文件及目录的权限

例如:tar czf sukun.tar.gz /etc 表示:把etc目录压缩,起名为sukun.tar.gz

tar xzf sukun.tar.gz -C /etc 表示:把sukun.tar.gz解压到/etc





Linux vim常用参数



一,vi工作模式


命令模式

输入模式

末行模式

a,i,o

ESC

ESC

:键









vi常用指令

【进入输入模式】

i 在光标前

I 大写i,在当前行首

a 光标后

A 在当前行尾

o 在当前行之下新开一行

O 在当前行之上新开一行


【命令模式】

yy 复制当前行

dd 删除当前行

cc 剪切当前行

p 将复制或剪切的行进行粘贴

u 撤销刚刚的修改操作

gg 跳转到文件首行

G 跳转到文档末尾

/需要查找的东西向下查找文件的内容

?需要查找的东西向上查找文件的内容

n next将光标向下移动,移动到刚刚查找到的关键词上

N next将光标向上移动,移动到刚刚查找到的关键词上

:% sub/aaa/bbb/g 整个文件进行查找aaa替换成bbb

:5,10s/aaa/bbb/g 文档的510行进行查找aaa替换成bbb


【末行模式】

:w 保存文件但不退出vi

:w! 强制保存,不退出vi

:w file 将修改另外保存到file中,不退出vi

:wq 保存文件并退出vi

:wq! 强制保存文件,并退出vi

:q 不保存文件,退出vi

:q! 不保存文件,强制退出vi

:set nu 显示行号

:set nonu set nu显示过的行号消除



第五章安装及管理程序


Linux的组成部分:

1.普通可执行程序文件,一般保存在“/usr/bin”目录中,普通用户即可执行

2.服务器,管理程序文件,一般保存在“/usr/sbin”目录中,管理员可执行

3.配置文件,一般保存在“/etc”目录中

4.日志文件,一般保存在“/var/log”目录中

5.应用程序的参考文档数据保存在“/usr/share/doc/”目录中

6.执行文件配置文件的man手册“/usr/share/man”目录中

软件包的封装类型有

RPM软件包:扩展名为rpm,只能使用RPM RPM package Managerlinux系统中安装,用rpm命令安装

DEB软件包:扩展名deb,只能使用DPKGlinux系统安装,用dpkg命令安装

源代码安装:一般都是tar.gz tar.bz2,等格式的压缩包需要用到g++编辑器工具

附带安装程序的软件包:软件包会自带可执行安装文件直接执行文件即可

使用RPM包管理命令

RPM有三种功能

1.查询、验证软包的信息。

2.安装、升级、卸载RPM

3.维护RPM数据库信息等综合管理操作

查询RPM软件包命令:

-qa显示当前系统安装的所有rpm软件包的信息

-qi显示rpm包的详细信息(info

-ql显示软件包在当前系统中安装的所有目录文件夹列表(list

-qf显示指定的目录或文件夹是哪个rpm软件包安装的(file

-qc显示配置文件

-qd显示文档文件日志

网页下载命令:wget.路径

安装升级卸载rpm包命令

-i安装rpm软件包

-e卸载rpm软件包

-U升级rpm软件包,没安装的安装上

-F升级rpm软件包,没安装的不安装

-h在安装或升级过程中以#显示安装过程(人性化显示)

-v显示安装过程的详细信息

——force强制安装某个rpm软件包

——nodeps不检查软件包的依赖关系

源代码编译安装程序分为4部分

1.解包tar zxf (用解压的包) -c 解压到哪的绝对路径

2.配置用安装的目录、或文件夹路径:./configure ——prefix=/usr/local/(安装的路径)如不指定路径默认按系统路径来安装

3.编译将源代码生成可执行的二进制代码用:make命令

4.安装复制到当前设置的路径:make install

5.使用直接输入绝对路径回车即可执行




第六章账号和权限管理


组账号:基本组和附加组

基本组(默认一个用户第一个组为基本组),附加组(一个用有多个组从第二个组往后就属于附加组)。

UIDGIDUID(用户ID标示符root默认为“0”)GID(组账号标示符root默认为“0”)

添加、删除、修改用户账号:

添加用户账号命令useradd 选项参数用户名字

用户存配置文件路径/etc/passwd 存放的是用户的名称、宿组目录、登陆shell等信息。/etc/shadow保存的加密密码,账号有效期时间。

选项参数:-u指定用户UID

-d指定用户的宿组位置

-e指定用户的失效时间YYYY-MM-DD

-g指定用户的基本组名

-G指定用户的附加组名

-s指定用户的登录信息

设置密码passwd 加用户名

选项参数:-d清空指定用户密码

-l锁定用户账号

-S查看用户状态(是否被锁定)

-u解锁用户账号

修改用户账号属性usermod命令

-u修改用户的UID

-d修改用户的宿主目录位置(注意:要先移动原宿主目录路径,到指定位置)

-e修改用户的账号失效时间

-g修改用户的基本组名

-G修改用户的附加组名

-s指定用户的登录shell

-l更改用户账号的登录名字

-L锁定用户账户

-U解锁用户账户

删除用户账号userdel命令删除的名字

-r 表示连宿主目录一起删除

用户账户的初始配置文件:

Bash_profile:命令将在该用户登录时执行

Bash_logout:命令将在该用户退出时执行

组账号管理:

组账号配置文件放在/etc/group(保存组账号名称,GID,组成员),/etc/gshadow(加密秘钥)

添加组账号groupadd 组的名字

将用户添加到某个组命令gpasswd -a 加入用户的名要加入组的名

如需要一个组一起加多个账号gpasswd -M 加入用户的名要加入组的名

查询用户账号所属组:groups 用户的名字

查询用户账号身份标识:id 用户名字

查询用户账号的登陆属性:finger

查询当前主机的用户登录情况:whoW简写)

管理目录文件的权限:r表示:读取权限(用数字4代表)

w表示:写入权限用数字2代表)

x表示:执行权限(用数字1代表)

例如:rwx|rwx|rwx=777可以分为三组,第一组为“用户对文件目录权限”,第二组为“组对文件目录权限”,第三组为“命令执行对文件目录权限”(注意:目录要有执行权限才可以cd进入目录)

配置文件目录的权限命令为chmod 用数字代表的权限文件或目录

配置文件目录的归属chown 用户(属主):组(属组)文件或目录





第七章磁盘和文件系统管理(一)


检测查看磁盘:

命令:fdisk -l 检测新磁盘

新磁盘路径:/dev/sda

规划磁盘分区命令fdisk /dev/sdb(磁盘的路径)

进入commandm for help)提示后输入:

P指令——列出硬盘中的分区情况

n指令——新建分区(e表示扩展分区,p代表主分区,l表示逻辑分区)

d指令——删除分区

t指令——变更分区类型

w指令——保存设置

q指令——退出

m指令——为帮助

partprobe /dev/sdb表示为重新检测磁盘分区的变化

创建文件系统:

创建EXT3(文件号为83)文件系统命令:mkfs -t ext3 /dev/sdb1(分区路径)=mkfs.ext3 /dev/sdb1

创建swap文件系统的命令:mkswap /dev/sdb5(分区路径)swapon /dev/sdb5命令(相当于swap挂载)swapoff /dev/sdb5(相当于swap卸载)

注意:挂载之后才能查看文件系统。

挂载、卸载文件系统:只有挂载了才能使用磁盘。

挂载命令:mount /dev/sdb1(分区位置)/disk1(表示为挂载到哪的路径)

命令:mount -a重新读取配置文件重新挂载全部

卸载命令umount挂载点对应的路径

查看磁盘的使用情况以及文件系统类型命令df -hTh表示人性化,T表示显示文件系统类型)

以上都是临时操作,重新启动便自动消失,要想永久更改必须要更改配置文件,配置文件为/etc/fstab。用vim进行更改

打开vim /etc/fstab 按照内容进行更改重启之后将会自动更改生效。





第八章磁盘和文件系统管理(二)


LVM逻辑卷管理:系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上的一个逻辑层,它使用于不要求访问速度的环境上。注意:/boot分区不能基于LVM创建,必须独立出来。

LVM的几个基本术语:

1.PVphysical volume,物理卷)是一个基本存储设备

2.VGvolume group,卷组)多个物理卷组成一个卷组

3.LVlogical volume,逻辑卷)是从卷组分出一小部分做文件系统如:ext3

LVM的管理命令:

功能

PV管理命令

VG管理命令

LV管理命令

Scan扫描

Pvscan

Vgscan

Lvscan

Create建立

Pvcreate

Vgcreate

Lvcreate

Display显示

Pvdisplay

Vgdisplay

Lvdisplay

Remove移除

Pvremove

Vgremove

Lvremove

Extend扩展


Vgextend

Lvextend

Reduce减少


Vgreduce

Lvreduce

下面介绍一下建立LVM逻辑卷步骤:

1.fdisk /dev/sdb设备名)

2.n建立分区,t选择lvm文件系统,w保存退出

3.PV建立物理卷:pvcreate /dev/sdb(设备名)

4.VG建立卷组:vgcreate 卷组名字要组成卷组的物理卷名字

5.LV建立逻辑卷:lvcreate -L分给逻辑卷大小 -n 新创建的逻辑卷名字卷组的名字

6.如果分给逻辑卷使用完了不够了,则用:lvextend –L +多少G /dev/卷组名称/逻辑卷名字

7.需要用命令从新扫描一下空间:resize2fs /dev/卷组名称/逻辑卷名字

8.如果你分的组卷容量用完了则:gvextend 要加的卷组名字设备名字

9.格式化成ext3的:mkfs -t ext3 要格式化的路径

10.装载上:mount 路径

11.df -fT查看一下格式化装载是否成功

磁盘配额的限制类型磁盘容量文件数量

磁盘配额的限制方法软限制硬限制

软限制(soft):达到软限制额度则给与警告

硬限制(hard):达到硬限制额度则不可在用

第一步Vim /etc/fstab修改配置文件在default后面加上usrquota(用户配额文件)grpquota(组配额文件)

第二部需要umount –a卸载之后再mount -a从新加载,最后mount看一下是否有这个两个文件

第三部 quotacheck -augcv 让文件生效

-a 扫描所有分区(没有指定-a必须指定路径)

-u -g 分别扫描用户和组的配额文件

-c 创建新的配额文件

-v 详细信息

第三部设置配额用户或组生效: edquota -u 用户(更改里面的配置文件blocks表示当前使用容量,inodes表示创建文件数量,soft表示软件,hard表示硬件一般只更改softhard

-u用户

-g

-t 时间(默认为七天)

第四部启动磁盘配额功能:quotaon 挂载路径

第五步验证磁盘配额功能:注意:要更改权限和归属之后再行验证




第九章引导过程和服务控制


系统初始化及文件

init进程是第一个liunx加载的系统,PID1。每个进程的身份标记号称为PID

inittab配置文件:/etc/inittab的配置文件来启动脚本和程序。每条配置纪录都用“:”来分割。

例如:idrunlevelsactionprocess

标记:运行级别:动作类型:程序或脚本

Runlevels—运行级别

0”表示关机

1”表示不带密码的单用户模式

2”不支持网络的字符界面

3”字符界面

4”未分配使用

5”图形化界面

6”重启

Action——动作类型字段有

initdefault”:设置初始化默认进入的级别

sysinit“:设置系统初始化的操作脚本

wait”:init进程将等待该行配置所对应的的操作脚本完成后在执行其他操作

ctrl alt del”:设置这个键3秒重启的设置

powerfail”:设置系统断电时采取什么操作

powerokwait”:设置电源恢复该如何操作

respawn”:一旦该行的程序被终止,则重新启动该程序

如用更改则vim /etc/inittab的文件更改之后执行init q从新读取配置文件

rc.local脚本文件:

配置文件:vim /etc/rc.d/rc.local 作用是用于管理员自行设置开机启动项

系统服务控制:server 服务名称控制类型=/etc/rc.d/init.d/ 服务名称控制类型

Start:启动

Stop:停止

Restart:重启

Reload:重载

Status:查看状态

切换运行级别

Runlevel:用来查看当前级别

Init 数值:用来切换级别

优化开机自动加载服务有两个命令可结合使用其功能作用则一样

ntsysv ——level 需要开启或关闭的级别项

chkconfig ——level 运行级别的列表服务名称 on|off

chkconfig ——list:可以查看开启或关闭



第十章进程和计划任务管理


怎么查看现有服务器上的所有程序及详细:Ps -aux ps代表process程序)


怎么样杀掉不需要的进程kill -9 要杀掉的进程号9表示强制)

Killall -9 要杀掉的进程的名字

pkill -9 要杀掉程序的用户名字


查看进程动态信息:top命令(按pcpu使用量大小排序,按m按内存大小排序)


查看进程信息pgrep命令=ps -aux |grep 进程名字


查看进程树结构pstree命令如果加-p则连带PID一起显示

若要一个程序在后台运行则要在命令后加&”,或者执行命令后按ctrl+z(表示挂起)在执行bg(表示background背景)”


查看后台程序用jobs-l(“l”可以显示PID号)


计划任务管理系统配置文件/etc/ctontab

Crontab周期性任务设置:

Crontab命令管理任务计划任务

-e编辑计划任务(可以删除单一计划任务)

-u指定管理计划任务的用户,默认时针对自己

-l列表显示计划任务

-r删除计划任务

注意每个计划任务要用“;”隔开

计划任务的执行格式

表示方法有*”代表任意时间

”代表一个连续时间范围(1-4表示1.2.3.4

”代表不间断不连续的范围(3.4.6.8

/”代表间隔的频率(*/3表示每隔三天一次)




第十一章分析和排查系统故障


主要的日志文件:

/var/log/messages:纪录linux内核消息及各种应用程序的公共日志信息,包括启动,IO错误,网络错误,程序故障等。

/var/log/cron:纪录cron计划任务产生的事件信息

/var/log/dmesg:纪录linux系统在引导过程中的各种事件信息

/var/log/maillog:纪录进入或发出的系统电子邮件系统

/var/log/lastlog:纪录每个用户最近的登录事件

/var/log/rpmpkgs:纪录系统中安装的各种rpm包列表信息

/var/log/secure: 纪录用户的安全认证信息

/var/log/wtmp:纪录每个登录,注销及系统启动和停机事件

/var/run/btmp:纪录失败的,错误的登录尝试及验证事件

内核及系统日志:

有两个系统软件包程序klogdsyslogd两个程序。Syslogd系统配置文件为/etc/syslog.conf,纪录内核消息和各种应用程序最基本的系统消息。

按级别分:

0表示emerg(紧急)导致主机系统不可用情况

1表示alert(警告)必须马上采取措施

2表示crit(严重)比较严重的情况

3表示err(错误)运行出现错误

4表示warnng(提醒)可能影响系统功能

5表示notice(注意)不会影响正常功能

6表示info(信息)一般信息

7表示debug(调试)程序或系统调试信息等

MBR扇区故障:

1.备份MBR扇区数据:首先要有两块硬盘,要想恢复必须先进行备份。

Mkdir /backup

Mount /dev/sdb1 /backup

Dd if=/dev/sda of=/backup/sukun(随意起名) bs=512 count=1

2.模拟MBR扇区数据:

dd if=/dev/zero of=/dev/sda bs=512 count=1

3.从备份文件中恢复MBR扇区数据:

Mkdir /su(随意在起个名)

Mount /dev/sdb1 /su

dd if=/su/sukun of=/dev/sda

文件系统软件检查故障命令fsck -y -t ext3 /dev/sdb1

-y表示对发现的问题自动回答yes

检测硬件硬盘坏道badblocks -sv /dev/sdb

-s表示显示进度表

-v表示显示详细信息