linux启动、进程、文本处理

linux的开机启动
介绍RHEL开机的启动过程:
    BIOS—>MBR->Kernel->init
1、电脑打开电源,进入BIOS(检测一些硬件设备)
2、检测完后进入MBR也就是Boot loader(MBR位于硬盘的第一个扇区,大小512字节)
3、载入系统kernel,在kernel里面主要是载入电脑设备的驱动程序。
4、最后启动的是init程序,init进程号为1,是所有进程的祖先。
----------------------------------------------
init会根据运行级别来进行运行以下的程序
/etc/rc.d/rc.sysinit
/etc/rc.d/rc和/etc/rc?.d/  ?表示运行级别
/etc/rc.d/rc.local
----------------------------------------------
从载入Boot loader开始,载入kernel,载入init这些程序都是由GRUB这个多重开机程序负责。
/boot/grub/grub.conf

default=0    
     默认操作系统选项,指预设第一组title的系统开机,如果由多个title,表示是多重启动,如果预设要使用第二组系统开机,就将此值设为1
timeout=5
    指的是进入grub界面后,会有5秒钟的时间让使用者选择要启动的系统
splashimage=(hd0,0)/grub/splash.xpm.gz
    开机时使用的背景图片,(hd0,0)意思(硬盘的编号,分区编号)
hiddenmenu
    隐藏开机菜单
title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
    在grub开机菜单中所显示的开机的系统名称
       root (hd0,0)
    指定下面的档案位于那个目录,通常指/boot目录
        kernel/vmlinuz-2.6.32-220.el6.x86_64 roroot=UUID=2c061161-3e10-4208-863c-b615a563c2b2 rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD quietrhgb crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM
    设定kernel镜像文件的存放位置
    rhgbfind / -namevmlinuz-2.6.32-220.el6.x86_64
    ro 表示只读。
    root 是设定/在根目录的位置
    rhgb:图形界面开机
    quiet:在开机的过程中不显示错误的信息
        initrd/initramfs-2.6.32-220.el6.x86_64.img
    将指定的文件载入到内存中,这些文件里都存放一些驱动程序。
-------------------------------------------------------------------

init  程序读取/etc/inittab这个配置文件来决定系统要做那些操作
系统运行级别 从0到6共7个级别
# Default runlevel. The runlevels used by RHS are:
    0 - halt (Do NOT set initdefault tothis)
    1 - Single user mode
    2 - Multiuser, without NFS (The sameas 3, if you do not have networking)
    3 - Full multiuser mode
    4 - unused
    5 - X11
    6 - reboot (Do NOT set initdefault tothis)

    0、关机,注意:不要把系统的默认级别设置为0,否则系统不能正常启动。
    1、单用户模式。用于root用户对系统进行维护。
    2、多用户模式。再该模式下不能使用NFS(网络功能)
    3、完全多用户模式。主机作为服务器时候使用该模式(文本模式)
    4、保留
    5、图形登录的多用户模式,
    6、重启.不能将系统设定为6号级别,否则不能正常启动
id:5:initdefault:

2、init 会执行的初始作业系统程序
i::sysinit:/etc/rc.d/rc.sysinit  设定执行这个程序来初始化系统
3、init会根据运行级别 来执行对应目录里面的程序,如果运行级别选择5,则会把5的参数传给/etc/rc.d/rc这个程序执行,在/etc/rc.d可以看到rc0.d到rc6.d7个目录所对应的目录,来决定要启动那些服务。
4、设定组合键,按着三个组合键3秒后重启系统
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
5、定义UPS不断电系统,当电源发生故障时,要执行的那些程序
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System ShuttingDown"
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; ShutdownCancelled"
6、产生6个虚拟终端
 # Run gettys in standard runlevels
 45 1:2345:respawn:/sbin/mingettytty1
 46 2:2345:respawn:/sbin/mingettytty2
 47 3:2345:respawn:/sbin/mingettytty3
 48 4:2345:respawn:/sbin/mingettytty4
 49 5:2345:respawn:/sbin/mingettytty5
 50 6:2345:respawn:/sbin/mingettytty6
7、如果启动运行级别5,初始化工作就会启动X11(图形界面)
    如何字符界面切换到图形界面startx
----------------------------------------
利用当用户模式进行密码破解
    前提是:grub不加密
当系统系统的时候出现grub引导界面,按字母e,进入grub的编辑状态,按键盘的方向键选择相应的引导项,按e进入命令行编辑,在出现的命令行后添加“空格single或者1”按回车返回编辑状态,再按字母b就可以单用户模式启动,进入系统后,可通过passwd修改用户密码,达到破解密码的目的。

简单e->e-> 1->b->passwd
---------------------------------------------------
grub加密
    vim /boot/grub/grub.conf
    加一行:passwd=123456

 10 default=0
 11 timeout=0
 12splashimage=(hd0,0)/grub/splash.xpm.gz
 13 hiddenmenu
password=123456                 添加的位置


也可以对密码进行加密
password --md5 $1$HR9Yl0$0.SEO/UXRAOR26ZQE2nRp.

密文的产生:
 grub-md5-crypt
Password:
Retype password:
$1$HR9Yl0$0.SEO/UXRAOR26ZQE2nRp.

grub-md5-crypt >> grob.conf

------------------------------------------------------
进程管理
定义:
程序放在硬盘上是静态的,如果复制到内存并CPU上运行就是一个进程
一个运行的系统上有许多进程,每一个进程分配一个进程号PID
init 是所有进程的祖先,任何一个进程都是由它或者它的的子进程衍生出来的。它的进程号为1.

进程状态:
    R:表示运行/可运行状态
    S:可中断的睡眠状态
    D:不可中断的睡眠状态
    T:暂停或者跟踪状态
    Z:尚未完全退出状态(僵尸进程)
    X:退出状态,进程即将销毁

    N:低优先级
    <:高优先级
    +:位于后台进程
    s:包含子进程
    L:有些页被锁在内存中
    l:多线程
    w:没有足够的内存可以分配
----------------------------------------
查看进程:
pstree:表示以树形的结构显示进程
    -p: 显示进程号
例:pstree | less
  q:表示退出
top:
 进程号|进程用户|优先级|占用内存大小(虚拟内存)|实际内存大小|共享内存|状态占用的CPU | 占用内存|CPU时间|执行命令

    h:帮助信息
    P:按CPU排序
    M:按内存排序
    shift + >  或者shift + <  进行翻页查看
    q:退出
ps: 查看进程
    -a:显示控制台进程
    -u:显示带用户名的控制台进程
    -l:显示详细信息
    -x:显示所有进程
ps -ef  | ps -aux        显示所有进程

vmstat:查看系统进程、CPU、内存、IO信息
iostat:查看磁盘IO信息(需要安装sysstat*包)
sar:查看系统信息
  sar -u 3 5   表示查看cpu信息,3秒采集一次,共采集5次
  sar -r 3 5   表示查看内存信息,3秒采集一次,共采集5次
  sar -d 3 5   表示查看磁盘信息,3秒采集一次,共采集5次
 
------------------------------------------
/proc:
  内存虚拟目录,主要显示系统内核运行一些状态。

    cat /proc/cpuiinfo  
    cat /proc/meminfo
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
ping的开关,设为1表示关闭 
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
                0表示开启

vim /etc/sysctl.conf
-----------------------------------------
优先级:
    top可以看到进程优先级,范围:-20~+19:从高到底

修改优先级
    renice -10 1   必须跟它的进程号
-----------------------------------------
前台后台
  vim & 放在后台执行
  jobs 查看后台进程
  fg %1 把第一个任务拿到前台
  Ctrl+z 暂停并丢入后台运行
  bg %1 让在后台运行起来
  kill %1 杀掉后台进程

----------------------------------------
kill
杀死进程
    kill -l    查看发送进程的所有信号
    kill -9:   直接杀死
        kill -9  9638
    kill -19:  暂停进程
    kill -18:  继续进行
    killall sshd: 杀掉所有sshd进程
    skill -9 pts/2  表示杀掉所有2号控制台的进程

-----------------------------------------------
文本处理:
cut:显示文件中的某一列
    -d:指定分割符
    -c:取字符
    -f:取字段
例:cut -d: -f1 /etc/passwd          :只显示用户名
    cut -d: -f1  /etc/passwd > a.txt  :取出用户名保存
    cut -d: -f1,7  /etc/passwd        :只取用户名和shell
    cut -c 1-12 /etc/passwd           :取字符
---------------------------------------------------
grep:显示文件中匹配关键字的行

例:
  grep root /etc/passwd     含有root行显示出来
  grep -v root a            不含有root行显示出来
  grep -i root a           不区分大小写
  grep -w root a           搜索完全匹配的行
  grep -n root a           行号显示出来
  grep -n -A3 root /etc/passwd   显示匹配行下3行
  grep -n -B3 root /etc/passwd   显示匹配行上3行
  grep -n -A3 -B3 root /etc/passwd  显示匹配行的上下3行
  grep -c root /etc/passwd  统计符合的列数
  grep -r root /etc/        在/etc/目录里所有文件中查找还root的行
-------------------------------------------------------
wc:统计文件中有多少行,单词,字符

    -l 统计行
    -w 统计单词
    -c 统计字符

例:
    # wc /etc/passwd     全部显示出来
    #wc -l /etc/passwd   显示多少行
    #wc -w /etc/passwd   显示多少单词
    #wc -c /etc/passwd   显示多少字符
   
-----------------------------------------------------------
sort 排序
    -n:数字排序
    -t:指定字段的分割符
    -k:按第几个字段排序
    -r:降序排列

例:
    sort /etc/passwd   :表示从第一个字符开始的ascii码由小到大排序
    sort -n -t: -k3 /etc/passwd      从小到大排序
    sort -nr -t: -k3 /etc/passwd     从大到小排序
    sort -f /etc/passwd              忽略大小写(系统设定不区分)
    sort -u /etc/passwd              去除重复行显示
--------------------------------------------------------
uniq:去除文件中相邻的重复行
    -c:若有连续重复的行,统计出现的次数(之前最好拍好序)
    -u:去掉有连续重复的行(连续重复的行不显示)
    -d:只显示有连续重复的行
    -i:忽略大小写并去除文件中相邻的重复行,但显示不重复的行
例:
    uniq -c a           
    uniq -u a
    uniq -d a
    uniq -i a
------------------------------------------------------------
tr  字符替换 
  格式:tr 原子符  新字符

例:head  -n 5/etc/passwd | tr 'a-z' 'A-Z'   把前五行以大写的方式显示出来。
例:对uplooking加密
    通过tr进行简单的字符加密
    # echo uplooking | tr'abcdefghijklmnopqrstuvwxyz' 'defghijklmnopqrstuvwxyzabc'
    xsorrnlqj
    # echo xsorrnlqj | tr'defghijklmnopqrstuvwxyzabc' 'abcdefghijklmnopqrstuvwxyz'
    uplooking
--------------------------------------------------------
练习:统计/etc/passwd 有几种shell?
    cut -d: -f7 /etc/passwd        取出所有的shell字段
    cut -d: -f7 /etc/passwd |uniq  去除重复的行
    cut -d: -f7 /etc/passwd |sort|uniq  排序后去除重复的行
    cut -d: -f7 /etc/passwd | sort | uniq| wc -l  统计出有多少行。

--------------------------------------------------------------------











 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值