linux学习笔记 -- 实操篇

10 -- 组管理和权限管理

10.1 Linux组基本介绍

        Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其他组的概念

10.1.1 文件/目录 所有者

        一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者

         ls -ahl (查看文件的所有者)
        chown 用户名 文件名 (修改文件的所有者) 

10.1.2 组的创建

        groupadd 组名

 10.1.3 文件/目录 所在组

        当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

        ls -ahl (查看文件/目录所在组)
        chgrp 组名 文件名 (修改文件所在组)

 10.1.4 其他组

        除文件的所有者和所在组的用户外,系统的其他用户都是其他组

改变用户所在的组 usermod

        要用root用户,否则权限不够

        usermod -g 新组名 用户名

        usermod -d 目录名 用户名 改变该用户登录的初始目录 //用户要有进入新目录的权限

10.2 权限

10.2.1 权限的基本介绍 

        举例说明 -->   ls -l 中显示的内容如下:-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

(第一个root是abc这个文件的所有者 -- 用户;第二个root是abc的所在组 -- 组)

-rwxrw-r--

0~9 位说明

1. 第0位确定文件类型(d, -, l, c, b)

        l是链接,相当于windows 的快捷方式

        d是目录,相当于windows 的文件夹

        c是字符设备文件,鼠标,键盘

        d是块设备,比如硬盘

        -是代表普通文件

2.  第1-3位确定所有者(该文件的所有者)拥有该文件的权限 -- user

3.  第4-6位确定所属组(同用户组的)拥有该文件的权限 -- group

4.  第7-9位确定其他用户拥有该用户的权限

10.2.2 rwx权限详解

rwx作用到文件

[r] -- 可读read:可以读取,查看

[w] -- 可写write:可以修改,但是不代表可以删除文件,删除文件的前提是对该文件所在目录有写权限,才能删除该文件

[x] -- 可执行execute:可以被执行

rwx作用到目录 

[r] -- 可读read:可以读取,ls查看目录内容

[w] -- 可写write:可以修改,对目录内创建+删除+重命名目录

[x] -- 可执行execute:可以进入该目录

可以用数字表示权限

        r = 4;w = 2;x = 1;则rwx = 7;

10.2.3 文件及目录权限实际案例

10.3 修改

10.3.1 修改权限-chmod

        通过chomd指令,可以修改文件或目录的权限

        方式一:+、-、=变更权限

                u:所有者;g:所有组;o:其他人;a:所有人;

                +:增加权限; -:减少权限; =:赋予权限

        方式二:通过数字变更权限

                r = 4;w = 2;x = 1;

                e.g. chmod 751 文件目录名

10.3.2 修改文件所有者-chown

        chown newowner 文件/目录 (改变所有者)
        chown newowner:newgroup 文件/目录 (改变所有者和所在组)

        -R  如果是目录,则使其下所有自文件或目录递归生效

10.3.3 修改文件/目录所在的组-chgrp

        chgrp newgroup 文件/目录  (改变所在组)       

10.4 实例

 10.1 警察和土匪游戏

11 -- 定时任务调度

11.1  crond任务调度

11.1.1 基本介绍

        crontab 进行 定时任务的设置  -- 周期性的

        任务调度是指系统在某个时间执行的特定的命令或程序

11.1.2 任务调度分类

        1. 工作系统:有些重要的工作必须周而复始的执行。如病毒扫描等

        2.个别用户工作:个别用户可能希望执行某些程序。比如对mysql数据库的备份

11.1.2 基本语法crontab

        crontab [选项]                                            //常用选项:

 11.1.3 快速入门

 特殊符号说明:

案例:

 11.2 at定时任务

11.2.1 基本介绍

        at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行

        默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业

        at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了

        在使用at命令的时候,一定要保证atd进程的启动,可以用相关指令来查看

        ps -ef

                 -->检测当前运行的所有指令  

        ps -ef | grep atd  

                -->过滤含有atd关键词,检测atd是否在运行

原理图
原理图:job队列中的任务执行完就会delete​​​​​​

11.2.2 命令格式

        at [选项] [时间]        ctrl+D 结束at命令的输入

                ctrl+D要输入两次 

11.2.3 at命令选项

11.2.4 at时间定义

 11.2.5 at任务调度案例         

12 -- Linux磁盘分区、挂载 

12.1 Linux分区

12.1.1 原理介绍

        Linux无论有几个分区,分给哪一个目录,归根结底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分

        Linux采用了一种叫“载入”的处理方法,它的整个文件系统包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得

12.1.2 查看所有设备挂载情况

        lsblk 或 lsblk -f

12.1.3 硬盘说明

        Linux硬盘分 IDE硬盘 和 SCSI硬盘,目前基本是SCSI硬盘

 *12.1.4 挂载经典案例:增加磁盘应用

如何添加一块硬盘:

        1.创建一个硬盘(打开虚拟机的“我的计算机”的“设置”,在设备中添加一个硬盘)(要重启系统才能识别)

        2.分区

                输入fdisk /dev/sdb;再输入命令n获取帮助(也可以不查看);输入n(new partition);再选择p(primary主分区)或者e(extended扩展分区);再输入分区号(输入几就会创建几个分区);最后输入w写入分区并退出 ,若不想保存则输入q

        3.格式化硬盘

        4.挂载 mount

                卸载umount

但是用命令行挂载系统重启后,挂载将会失效

永久挂载的方法

        通过修改/etc/fstab实现挂载(vim /etc/fstab)

        添加完成后执行mount -a即刻生效

12.2 磁盘情况查询

12.2.1 查询系统整体磁盘的使用情况

         df -h       

        当磁盘使用率达到80%以上时,需要清理空间或增加相应硬盘

12.2.2 查询指定目录的磁盘占用情况

        先进入该目录 : cd /目录

        du -h /目录

        查询指定目录的磁盘占用情况,默认为当前目录

                e.g.  du -hac --max-depth=1 /opt                

12.3 磁盘实用指令

12.3.1 统计某文件夹下文件的个数

统计/opt文件夹下文件的个数:

        ls -l /opt | grep "^-" | wc -l 

        ls -l /opt  --> 把opt目录下的文件和目录显示出来;

        | grep "^-"  --> 挑选出以“-”开头的文件

        wc -l  --> 用来统计数据word count

12.3.2 统计文件夹中文件的个数,包括子文件夹里的

统计/opt文件夹下文件的个数,包括子文件夹里的:

        ls -lR /opt | grep "^-" | wc -l 

        -R 是递归 

12.3.3 统计文件夹下目录的个数,包括子文件夹里的

统计/opt文件夹下目录的个数,包括子文件夹里的:

        ls -lR /opt | grep "^d" | wc -l 

12.3.4 以树状显示目录结构

如果没有tree,则使用yum install tree 安装(centos用yum或者dnf,ubuntu用apt-get或apt) 

        tree /opt

13 -- 网络配置

13.1 Linux网络配置原理图   

13.2 查看网络IP和网关

13.2.1 查看虚拟网络编辑器和修改IP地址

查看网关:

 查看windows环境中VMnet8网络配置:

        ipconfig指令

查看Linux的网络配置: 

        ifconfig指令 

13.2.2 ping测试主机之间网络连通性

基本语法:

        ping 目的主机(功能描述:测试当前服务器是否可以连接目的主机) 

13.3 Linux网络环境配置

第一种 -- 自动获取

        登录后,通过界面的来设置自动获取ip,特点:Linux启动后会自动获取ip,缺点是每次自动获取的ip地址可能不一样

 第二种 -- 指定ip

        直接修改配置文件来制定ip,并可以连接到外网

        vi /etc/sysconfig/network-scripts/ifcfg-ens33

        重启网络服务或者重启系统生效:

        service network restart 或者 reboot

        要求:将ip地址配置成静态的,比如:ip地址为192.168.200.130

--> ifcfg-ens33文件说明 

13.3 设置主机名和hosts映射

13.3.1 设置主机名

为了方便记忆,可以给Linux系统设置主机名,也可以根据需求修改主机名

        hostname  --> 查看主机名

        修改文件在 /etc/hostname指定:

                vim /etc/hostname

        修改后  ,重启生效  

13.3.2 设置hosts映射

通过主机名找到(比如,ping)某个系统
windows下:

        在C:\Windows\System32\drivers\etc\hosts 文件指定即可

        打开hosts文件在尾部添加ip地址和主机名(如:192.168.200.130 soki100)

Linux下:

        vim /etc/hosts

        增加ip地址和主机名(我用的是192.168.200.1 computer)

主机名解析过程分析(Host、DNS)

        hosts -- 一个文本文件,用来记录 IP 和 Hostname(主机名)的映射关系

        DNS -- 域名系统(Domain Name System),是互联网上作为域名和IP地址相互映射的一个分布式数据库 

14* -- 进程管理

14.1 基本介绍

        在Linux中,每个执行的程序都称为一个进程。每个进程都分配个ID号(pid,进程号)

        每个进程都可能以两种方式存在。前台和后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程就是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行

        一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才结束

14.2 显示系统执行的进程

14.2.1 基本介绍

        ps指令是用来查看目前系统中,有哪些正在执行,以及它们执行的情况。可以不加任何参数 

 一般-aux组合使用

14.2.2 父子进程

14.2.3 终止进程kill和killall

        若是某个进程执行到一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令完成此任务:

        kill [选项] 进程号   -->通过进程号杀死/终止进程
        killall 进程名称  -->通过进程名称杀死进程

                killall杀死/终止进程也支持通配符,这在系统因负载过大而变得很慢时很有用

                通过killall终止进程时,该进程的所有子进程都会被杀掉

常用选项:

        -9   :表示 强迫进程立刻停止

案例:

14.3 查看进程树pstree 

 基本语法:

        pstree [选项]  --> 更加直观的来看进程信息

常用选项:

        -p  -->显示进程的PID

        -u  -->显示进程的所属用户

14.4 服务(service)管理

14.4.1 基本介绍

        服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求(如mysqld,ssd,防火墙等),因此又称为守护进程

service管理指令:

        service 服务名 [start | stop | restart | reload | status] 

        在centos7.0后,很多服务不再使用service,而是systemctl

        service指令管理的服务在 /etc/init.d 查看

查看服务名:

        1)使用setup

                进入-> 系统服务,就可以看到全部(输入setup,进入一个界面,可以按回车进行选择(按tab可以退出选择取消))

        2)/etc/init.d 查看service指令管理的服务  

                ls -l /etc/init.d

14.4.2 服务的运行级别

centos7后运行级别说明:

        在 /etc/initab 进行了化简,如下:

                multi-user.target: analogous to runlevel 3

                graphical.target: analogous to runlevel 5

        systemctl set-default --> 查看当前运行级别
        systemctl set-default TARGET.target  --> 设置新的运行级别

14.4.5 chkconfig指令

        通过chkconfig命令给服务的各个运行级别设置自启动/关闭

        chkconfig指令管理的服务在 /etc/init.d 查看

        centos7.0后,很多服务使用systemctl管理

基本语法:

        chkconfig --list   [grep xxx]   --> 查看服务
        chkconfig 服务名 --list
        chkconfig -- level 5 服务名 on/off  (某个服务在某个level(此处是5)是自启动还是关闭)

 chkconfig重新设置服务后自启动或关闭,需要重启机器reboot生效

14.4.6 systemctl管理指令

        systemtcl [start | stop | restart | status] 服务名

        systemctl指令管理的服务在 /usr/lib/systemd/system 查看:

                ls -l /usr/lib/systemd/system

kill是关闭进程,service stop是停止服务

systemctl设置服务的自启动状态:
        systemctl list-unit-files [ | grep 服务名]

                查看服务开机启动状态,grep可以进行过滤

希望设置某个服务自启动或关闭永久生效:  

        systemctl enable 服务名  --> 设置服务开机启动
        systemctl disable 服务名  --> 关闭服务开机启动
        systemctl is-enabled 服务名  -->查询某个服务是否开机自启动

都是默认在3和5级别下的自启动/关闭管理

细节:

        关闭或启用防火墙后,立即生效。[telnet测试 某个端口即可]

        这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置

        如果希望设置某个服务自启动或关闭永久生效,要使用systemctl [enable|disable] 服务名

14.4.7 打开或者关闭指定端口

firewall指令

        打开端口:firewall-cmd --permanent --add-port=端口号/协议

        关闭端口:firewall-cmd --pernament --remove-port=端口号/协议

        重新输入才能生效:firewall-cmd --reload

        查询端口是否开放:firewall-cmd --query-port=端口号/协议

案例:

14.5 动态监控进程

        topps命令很相似,都用来显示正在执行的进程;最大的不同之处在于top在执行一段时间可以更新正在执行的进程

        top [选项]

选项说明:

 交互操作说明:

14.6 监控网络状态

14.6.1 查看系统网络情况netstat

        netstat [选项]

选项说明 --> ​​​​​​​

案例分析:

输入 netstat -an 后,弹出部分内容如左图所示:其中local address是本地地址,含有Linux的地址和监听的端口号;foreign address是外部地址,若连接也会显示IP地址和端口号 

检测主机连接命令ping:是一种网络监测工具,它主要是用检测远程主机是否正常,或者两部主机间的网线或网卡故障。如:ping 对方ip地址

15 -- RPN 与 YUM

15.1  rpm包的管理

        rpm用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似Windows的setup.exe,这一文件格式虽然是打上了RedHat的标志,但是理念是通用的

15.1.1 rpm包查询

        rpm -qa | grep xx  -->  查询已安装的rpm列表
一个rpm包名基本格式
rpm包的其他查询指令

 

15.1.2 rpm包的管理

卸载:
        rpm -e RPM包的名称(不用加版本号之类的)

 安装:
        rpm -ivh RPM包全路径名称

        i  -->  install 安装;  v  -->  verbose 提示; h  --> hash 进度条

15.2 YUM包的管理

        yum是一个shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包

15.2.1 yum的基本指令

        查询yum服务器是否有需要安装的软件:

                yum list | grep xx软件列表   -->  查询

        安装指定的yum包

                yum install xxx    -->  下载安装

 

 

 

 

 

                

 

                 

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值