第一章linux 安装操作系统
Linux内核是由一个特殊软件程序,用于实现CPU和内存的分配、进度调度、设备驱动等核心操作。
Linux由主版本号和次版本号、修订版本号组成。
例如:2.6.38
第二列为奇数代表不稳定版本,为偶数代表稳定版本。
GPL和LGPL协议:
允许用户任意复制,传递,修改使用及再次发布新的版本
LGPL:跟GPL相比更商业化了允许开发之后不公开源代码
红帽linux系列发行版有:
Red Hat企业版:用于企业中比较稳定
Fedora社区版:用于个人,倾向于桌面,适合桌面绚丽
CentOS社区版:不属于红帽,但是基于红帽源代码组建而成的。
磁盘分区和文件系统:
Linux的所有都是一切都是文件
硬盘:IDE在linux表示为“HD”,SCSI在linux表示为“sd”例如:hda5 a表示第几块硬盘(按abcd…….排列)5表示逻辑分区,linux可分4个主分区从5开始表示为第一个逻辑分区。
系统文件类型:
EXT3用于存放文件和目录数据的分区
SWAP交换文件系统,用于缓解内存一般大于内存容量的1.5~2倍
第二章设置及基本操作
Linux目前有两个图形桌面套件GNOME(GNU网络对象模型环境也是目前的主流)和KDE(桌面环境)
Linux系统目录结构:是一个树形目录结构所有的分区和目录都有一个根目录来构成的/
/boot:内核文件和启动菜单配置文件
/bin:存放基本用户口令
/dev:存放硬件设备文件
/etc: 系统及各种配置文件
/home: 存放普通用户的基本工作文件
/root: 存放超级管理员的文件
/sbin:存放超级管理员命令文件
/usr: 存放其他的应用程序
/var:存放一些容易变化的系统文件。如:日志文件,邮箱等
/tmp:存放系统运行过程中使用的一些文件
在命令行中“#”代表管理员。$代表普通用户权限
Uname �Cr 表示查看版本信息
1.查看CPU信息:cat /proc/cpuinfo 查看CPU使用率:top
2.查看内存信息:cat /proc/meminfo 还可以用Free -m以m为单位显示
3.查看更改主机名:hostname
4.查看更改IP地址:ifconfigeth0 后面跟IP 在加netmask(子网掩码)临时的重启之后就失效。
5.关机:shutdown -h now 或poweroff
6.重启:shutdown -r now 或reboot
第三章目录和文件管理(一)
Tab 键→补全不完整的命令字或文件
Ctrl―C→换为新的一行命令提示符
Ctrl―L→清屏
怎么查看内外部命令用“type”
内部命令用帮助的时候:help pwd
外部命令帮助时有三种方式:ls �Chelp
Man file
Info ls
管道(丨表示):左端的输出做右端的输入举例:man ls 丨 col �Cb>lshelp.txt
重定向输出(>表示):用大于号表示用于把输出的结果保存起来 man ls 丨 col �Cb>lshelp.txt
查看及切换目录
Pwd命令查看当前的工作目录
Cd命令切换工作目录
Ls命令显示目录内容参数有
Ls―L=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 /跟路径
Less和more命令――用来分页查看文件内容
使用:less /根路径
Head(头部)和tail(尾部)命令――查看文件开头或末尾的部分内容
使用:head -4 /路径表示:1到4行的内容 tail -f /路径表示:看动态随时更新。
wc命令――统计文件中的单词数量以及行的数量
使用:wc -参数 /路径
参数: -c 统计字节量
-l 统计多少行
-w统计多少个单词
grep命令――检索、过滤文件内容
(条件:^表示以什么开头、$表示以什么结尾、^$表示空行)
使用:grep (参数)需要查找的内容要查找的地方
参数:-i查找内容时忽略大小写
-v反向查找,意思是与输出条件不相符合即可
-[]表示代替“一个字符”例如: [ab]表示a或B [a-b]表示a到b都执行 [^]表示取“反向”的意思。
备份与恢复文档:
1.gzip和gunzip命令压缩或解压文件:
使用:gzip 文件表示:压缩
gzip -9 文件表示:提高压缩比率但降低解压速度。
使用:gunzip 文件表示:解压文件
gzip -d 文件表示:解压文件
2.bzip2和bunzip2命令压缩或解压文件:
使用:与gzip和gunzip方法一样只是后罪名不一样 bzip2后罪名为:.bz2 gzip后罪名为:gz
Tar命令归档和释放工具:功能与gzip和bzip2功能一样
使用: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 文档的5到10行进行查找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 Manager)linux系统中安装,用rpm命令安装
★DEB软件包:扩展名deb,只能使用DPKG,linux系统安装,用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.使用直接输入绝对路径回车即可执行
第六章账号和权限管理
组账号:基本组和附加组
基本组(默认一个用户第一个组为基本组),附加组(一个用有多个组从第二个组往后就属于附加组)。
UID和GID:UID(用户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
查询当前主机的用户登录情况:who(W简写)
管理目录文件的权限:r表示:读取权限(用数字4代表)
w表示:写入权限(用数字2代表)
x表示:执行权限(用数字1代表)
例如:rwx|rwx|rwx=777可以分为三组,第一组为“用户对文件目录权限”,第二组为“组对文件目录权限”,第三组为“命令执行对文件目录权限”(注意:目录要有执行权限才可以cd进入目录)
配置文件目录的权限命令为:chmod 用数字代表的权限文件或目录
配置文件目录的归属:chown 用户(属主):组(属组)文件或目录
第七章磁盘和文件系统管理(一)
检测查看磁盘:
命令:fdisk -l 检测新磁盘
新磁盘路径:/dev/sda
规划磁盘分区命令:fdisk /dev/sdb(磁盘的路径)
进入command(m 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 -hT(h表示人性化,T表示显示文件系统类型)
以上都是临时操作,重新启动便自动消失,要想永久更改必须要更改配置文件,配置文件为/etc/fstab。用vim进行更改
打开vim /etc/fstab 按照内容进行更改重启之后将会自动更改生效。
第八章磁盘和文件系统管理(二)
LVM逻辑卷管理:系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上的一个逻辑层,它使用于不要求访问速度的环境上。注意:/boot分区不能基于LVM创建,必须独立出来。
LVM的几个基本术语:
1.PV(physical volume,物理卷)是一个基本存储设备
2.VG(volume group,卷组)多个物理卷组成一个卷组
3.LV(logical 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 �CL +多少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 �Ca卸载之后再mount -a从新加载,最后mount看一下是否有这个两个文件
第三部 quotacheck -augcv 让文件生效
-a 扫描所有分区(没有指定-a必须指定路径)
-u -g 分别扫描用户和组的配额文件
-c 创建新的配额文件
-v 详细信息
第三部设置配额用户或组生效: edquota -u 用户(更改里面的配置文件blocks表示当前使用容量,inodes表示创建文件数量,soft表示软件,hard表示硬件一般只更改soft和hard)
-u用户
-g组
-t 时间(默认为七天)
第四部启动磁盘配额功能:quotaon 挂载路径
第五步验证磁盘配额功能:注意:要更改权限和归属之后再行验证
第九章引导过程和服务控制
系统初始化及文件:
init进程是第一个liunx加载的系统,PID为“1”。每个进程的身份标记号称为PID。
inittab配置文件:/etc/inittab的配置文件来启动脚本和程序。每条配置纪录都用“:”来分割。
例如:id:runlevels:action:process
标记:运行级别:动作类型:程序或脚本
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命令(按p是cpu使用量大小排序,按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:纪录失败的,错误的登录尝试及验证事件
内核及系统日志:
有两个系统软件包程序klogd,syslogd两个程序。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表示显示详细信息