初识Linux 基础操作(2)

时间:2023-12-30 23:02:32

1.Linux启动流程
    1).linux启动过程
        ①.进入grub界面选择相应的启动内核
        ②.读取kernel内核文件-/boot/vmlinuz-*
        ③.读取init的镜像文件-/boot/initrd-*
        ④.init去读取/etc/inittab
        ⑤.读取启动级别(id:3:initdefault)
        ⑥.读取/etc/rc.d/rc.sysinit,完成时钟设置,主机名的设置,分区表的挂载(/etc/fatab)
        ⑦.读取/etc/rc.d/rc脚本,通过该脚本吸收3级别,然后启动/etc/rc.d/rc3.d下所有以S开头的服务,不启动该目录下以K开头的服务
        ⑧.进入登录界面(进入登录界面前会去访问/var/lock/subsys/local文件执行文件)
    2).linux系统级别
        0.关机
        1.单用户模式(可以破解密码,重启时按a,再按a, 输入1)
        2.不支持nfs(网络文件系统)(不用)
        3.字符界面(进入3级别)
        4.未被使用
        5.图形界面(进入5级别)
        6.重启
2.rpm软件包(redhat package management)
    1).光盘挂载
        ①.将光盘放入光驱
        ②.检查光驱是否家电
        ③.挂载光盘到/media下(mount /dev/cdrom /media)
        ④.如何查看是否挂载成功 df-Th
        ⑤.让光盘开机自动挂载到/media下(vi etc/fstab
            /dev/cdrom /media iso9660 defauits 0 0)(可以在开机启动local文件中加入挂载)
    2).yum工具管理rpm包
        ①.关盘挂载(开机启动)
        ②.cd/etc/yum.repos.d/ (ls后 ContOS-Base.repo为网络源 CentOS-Media.repo为光盘源)
          mv CentOS-Base.repo CentOS-Base.repo.bak
        ③.修改光盘源vi CentOS-Media.repo
            [c5-media]
            name=CentOS-$releasever - Media
            baseurl=file:///media
            #光盘挂载的目的地
            gpgcheck=0
            #去官方更新签名关闭
            enabled=1    
        ④.yum -y install mysql-server*    (yum安装rpm包)
        ⑤.yum -y remove mysql*(yum卸载rpm包)
        ⑥.yum list(查看yum包)

3.用户权限
    1).查看文件属性 ls -l file(ll别名)
        drwxr-x--- 2 root root 4096 Jan 20 19:39 mnt
        #rwx root对mnt目录具有读,写和执行的权限
        #r-x root组内其他用户对mnt目录具有读和执行权限
        #--- other其他所有用户对mnt目录没有任何权限
    2).权限
        r:读(4)
        w:写(2)
        x:执行(1)
        目录的rwx
            r:查看目录里面的文件
            w:在目录里面创建和删除文件
            x:切换目录
        文件的rwx
            r:查看文件内容
            w:在文件里写内容
            x:执行该文件(不是普通文件,是程序或者脚本)
    3).用户
        所有者:user u
        所属组:grep g
        其他用户:other o
        所有用户:u+g+o=all a
    4).增加权限
        chmod o+w file 对其他用户赋予写file的权限(基本不用,已经淘汰)
    5).删除权限
        chmod o-w file 对其他用户删除写file的权限(基本不用,已经淘汰)
    6).设置权限
        setfacl -m u:user:r mnt (将mnt的读权限赋给user用户)
    7).查看权限
        getfacl -m mnt
    8).删除mnt的user1拥有的权限
        setfacl -x u:user mnt(删除user对mnt的权限)
    9).删除mnt上所设置的所有权限
        setfacl -b mnt
    10).sudo权限
        1.设置visudo
            %user1 localhost=/sbin/useradd,/usr/sbin/userdel
            (给user1用户添加增加用户与删除用户的权限),使用sudo权限时,普通用户在命令前要加入sudo

4.软件安装与调试
    1).安装软件(apache为例)
        rpm包安装或者yum依赖下载  yum -y install httpd*
    2).修改配置文件
        vim /etc/hpptd/conf/httpd.conf
    3).启动服务
        service httpd restart
    4).查看进程
        pstree | grep httpd
    5).查看端口
        netstat -tunpl | httpd
    6).关闭端口
        service httpd stop
    7).关闭进程
        pkill httpd

4.服务进程
    1).实时观察进程,内存,cpu情况(top)
        ①.load average:0.00, 0.00, 0.00(1分钟,5分钟,15分钟内cpu平均负载)
        ②.Cpu(s):0.0%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st(除去99.7%id其他之和为cpu的使用率,99.7%id为cup空闲率)
        ③.Mem 255412k total(总共内存), 162852k used(使用内存), 92560K free(剩余内存), 41192k buffers
    2).查看计算机一分钟平均负载,5分钟平均负载,十五分钟平均负载(uptime)
        11:05:07 up 46 min(服务器工作时间),  1 user(在线用户),  load average: 0.00, 0.01, 0.05(平均负载)
    3).查看在线用户(who)
    4).查看最近一段时间,谁操作过系统的重要指令,而且有时间ip(last)
        (可以查看是否有其他人入侵过自己电脑)
    5).查看内存(free (m|g))(m|g代表内存单位)
        Mem:           1824(总共)         114(已用)        1469(剩余)
    6).查看硬盘(fdisk -l)
           设备    Boot   Start      End      Blocks   Id  System
        /dev/sda1   *     2048       1026047   512000   83  Linux
        /dev/sda2         1026048   41943039  20458496 8e  Linux LVM
        sda1是分给boot分了1G左右保证系统正常启动(将文件放到sda1目录下将相当于放到第一分区)
        sda2是除boot以外的目录的分区,放在其他目录下就相当于放在第二分区.
    7).查看系统挂载表(df)
        电脑会将硬盘中一部分空间作为虚拟内存,大概是实际内存的1.5-2倍,当计算机使用某些软件时内存突然升高时保证电脑不会蓝屏,这时会使用虚拟内存。但这不是长久之计,最好是尽快给内存扩容。
5.任务计划
    1).一次性任务计划(at)
        ①.添加
            at 18:20(设置计划时间)
            at>init 6(设置计划内容,在这设置的是重启)
            at>ctrl+d(退出编辑)
        ②.查看
            atq
        ③.删除
            atrm 1(1代表计划号)
    2).周期性任务计划(crontab)
        ①.添加
            crontab -e
            * * * * *     分时日月周
            00 03 * * *   每天3点
            30 23 * * *   每天23:30
            */5 * * * *   每隔5分钟
            59 23 * * 1-5 周一到周五每天23:59
            59 23 * * 1,3,5 周一,周三,周五的23:59
        ②.查看
            crontab -l
        ③.删除
            crontab -r(删除全部,删除单条使用-e删除单调)
            crontab -i(提示是否删除)

6.shell脚本
    #备份网站数据的shell脚本
    #需求:每周一凌晨3点对网站进行备份,备份要求如下:(myshop15)
    1).首先对网站进行压缩,压缩模式:myshop15-2016.1.21.tar.gz
    2).把压缩文件移动到指定目录(/mnt)
    3).写备份的任务计划

先写脚本
    touch backup.sh
    t=`date +%Y.%m.%d`
    f=index-${t}.tar.gz
    d="/var/www/html/index.html"
    tar czf $f $d &>/dev/null
    mv $f /mnt

然后制定周期任务计划
    crontab -e
    30 16 * * 1 /root/backup.sh

下载备份文件
    可以将文件放到var/www/html/下,可以访问apach+文件名进行下载,也可以使用迅雷将地址输入到磁力链中进行下载。