• 初识Linux 基础操作(2)


    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+文件名进行下载,也可以使用迅雷将地址输入到磁力链中进行下载。

  • 相关阅读:
    Vue源码学习(二)——生命周期
    Android MediaPlayer
    iOS项目开发实战——iOS网络编程获取网页Html源码
    iOS 开发之IPad的设计与实现
    Netty In Action中文版
    Valid Palindrome
    Jetty 类载入问题处理
    JSONArray和JSONObject的简单使用
    ExtAspNet依据Grid导出Excel
    C++中的指针、数组指针与指针数组、函数指针与指针函数
  • 原文地址:https://www.cnblogs.com/wuyx/p/7404699.html
Copyright © 2020-2023  润新知