第一周的培训大部分都不像以前那么熟了过后想想应该记录一下再熟记一遍。 --- Q
-----------------------------------------------------------------------------------------------------
1、开机启动流程 2、磁盘管理 3、文件权限控制 4、进程控制 5、RPM包使用 6、网络与配置 7、常用命令
【开机启动流程】
http://beibing.blog.51cto.com/10693373/1695986
1、bios加电 --> 找启动项(硬盘·光盘·网络等)[hd 硬盘启动]
MBR主引导记录
硬盘最前面的512字节446(bootloader)+64(dpt分区表)+2(aa55魔法数字校验位)
备份MBRdd if=/dev/sda of=/tmp/mbrdump bs=512 count=1
查看MBRhexdump mbrdump
stage1 --> stage1_5(63个扇区放驱动和文件系统) -->stage2(真正引导程序去找grub.conf)
2、读取bootloader(引导grub等)
grub --> /etc/grub.conf 决定启动哪个内核
default=0 #默认启动第一个title timeout=5 #显示菜单的超时时间 默认单位为秒 hiddenmenu #启动的时候隐藏菜单 splashimage #指定开机启动时的背影图案 title #必须要写
root (hd0,0) 第一块硬盘的第一个分区即/boot
kernel(找内核即内核文件所在的位置) /(指/boot目录)vmlinuz-2.6.18-194.el5 ro(只读模式) root=LABEL=/(系统正真的根目录) rhgb(以图形的方式显示并显示进度条) quiet(只显示重要信息硬件等返回的信息不显示)
initrd(先加载init再加载各个模块) /initrd-2.6.18-194.el5.img
模拟损坏引导程序
损坏dd if /dev/zero of=/dev/hdb bs=446 count=1
修复grub-install /dev/hdb 当前系统所在硬盘生成stage文件
3、启动内核
通过grub.conf文件找到内核并把内核加载到内存中
4、内核找系统第一个进程 init
/sbin/init =>/etc/inittab
第一个启动脚本 /etc/rc.d/rc.sysinit
初始化系统 /etc/rc.d/rc--(0-6)
每个运行级别需要启动的东西在对应目录下S开头即startK开头即kill
5、rc.sysinit 初始化进程 --> rc.0-6初始化系统 --> rc.local 初始化最后脚本
rc.sysinit主要做各个运行模式中的相同的初始化工作包括PATH、网络配置、fstab、proc等等
6、加载文本资源
7、加载图形界面
光盘修复Linux rescue
chroot /mnt/sysimage //切换根目录到硬盘上
【磁盘管理】
http://beibing.blog.51cto.com/10693373/1696576
格式磁盘mkfs.ext4 /dev/sda5
挂载磁盘mount /dev/sda5 /data || mount -a
卸载磁盘umount /data //若在磁盘下或有进程占用则不可删除
查看挂载fdisk -l || mount
磁盘空间df -h
自动挂载修改配置文件 vim /etc/fstab
格式挂载设备 挂载目录 文件系统 默认挂载参数 开机备份文件系统0不备1备 开机检查0不1检
【权限控制】
http://beibing.blog.51cto.com/10693373/1695473
绝对路径==自根开始的访问相对路径==以当前位置开始的访问
基本权限rwx==421
chmod [augo(+-=)][777] 文件或目录 //加-R可以递归更改权限
chattr [+-=][选项] 文件或目录名 && lsattr 文件或目录
对文件设置 i 锁住文件不能删不能改
对目录设置 i 只能对目录下的文件修改数据不能删不能改文件
对文件设置 a 只能增加数据不能删不能改 即使是增加数据也只能用echo 内容 >>文件名
对目录设置 a : 只许建文件修改数据不允许删除
suid && guid && sbit //很严重一般shadow就是其他用户看不到但可以改密码
chmod [ugo+-=]s 文件或目录
setfacl -m u:zabbix:rw 文件或目录 //给zabbix用户设读写权限
setfacl -x u:zabbix 文件或目录 //删除zabbix用户对这目录的权限
setfacl -b 文件或目录 //清空这个文件或目录的权限
用户及组的概念
用户超级用户root、普通用户tengxun、虚拟用户nobody、系统用户500以内的
/etc/passwd 7列格式
用户名:口令:用户标识号:组标识号:注释性描述:主目录:默认shell
/etc/shadow 8列格式
登录名:口令:最后修改时间:修改口令最小时间:最大时间间隔:警告时间:不活动时间:失效时间
/etc/group 4段格式
用户组名:用户组密码:GID:用户列表
添加账号useradd 参数 用户名 //-g 主要组 -G 次要组 -d指定hone -p指定密码
删除账号userdel -r 用户名 //删除用户及家目录
创建组groupadd 组名
删除组groupdel 组名
更改权限usermod -a -G groupA user //把user用户加到groupA组
组中删用户gpasswd -d test root //在root组中删除test用户
软硬链接
硬ln -s 源文件 目的文件 //相当于快捷方式不占空间
软ln 源文件 目的文件 //相同innode指向同一个数据块不支持夸分区
【进程管理】
显示所有进程ps aux
显示用户进程ps -f -u www
指定名字进程ps -C mysql
cpu排序进程 ps aux --sort=-pcpu |head //-pcpu降序pcpu升序pmem内存排序
显示父子进程ps -f --forest -C mysql
只显示子进程ps -o pid,uname,comm -C mysql
由子查父进程ps --ppid 2359
看进程的线程ps -p 2359 -L
显示进程时间ps -p 2359 -o pid,ppid,comm,etime,time
实时捕捉进程watch -n 1 ‘ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head‘
放到后台sleep 10 &
暂停进程ctrl + z //将一个正在运行的进程暂停后放到后台bg将进程变为后台继续执行
查看后台jobs
调至前台fg id号
screen 命令 //yum install -y screen
-v 显示版本信息。
-x 恢复之前离线的screen作业
-h <行数> 指定视窗的缓冲区行数
-ls或--list 显示目前所有的screen作业
-r <作业名称> 恢复离线的screen作业
-S <作业名称> 指定screen作业的名称
-s 指定建立新视窗时所要执行的shell
-d <作业名称> 将指定的screen作业离线。
-m 即使目前已在作业中的screen作业仍强制建立新的screen作业
-wipe 检查目前所有的screen作业并删除已经无法使用的screen作业
-R 先试图恢复离线的作业。若找不到离线的作业即建立新的screen作业。
【RPM包使用】
http://beibing.blog.51cto.com/10693373/1695118
安装rpm -ivh 包名
查询rpm -qa |grep 包名
检查rpm -ivh --test 包名 //用来检查依赖并不是真的安装
升级包rpm -Uvh 包名
卸载包rpm -e 包名
查安装路径rpm -ql 包名
查具体信息rpm -qi 包名
查依赖关系rpm -qpR 包名
【网络配置】
1、ifconfig
2、ip
3、mtrmtr 8.8.8.8
4、routeroute add [-net|-host] [网络或主机] netmask [mask] [gw|dev]
-n 不要使用通讯协定或主机名称直接使用 IP 或 port number -ee 使用更详细的资讯来显示 增加 (add) 与删除 (del) 路由的相关参数 -net 表示后面接的路由为一个网域 -host 表示后面接的为连接到单部主机的路由 netmask 与网域有关可以设定 netmask 决定网域的大小 gw gateway 的简写后续接的是 IP 的数值与 dev 不同 dev 如果只是要指定由那一块网路卡连线出去后面接 网卡设备 等
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
route add default gw ip
【常用命令】
常用命令就不细说了去看我的command模块分类里看吧。
1、locate
2、find
3、grep
.......................................