Linux学习总结2

本文介绍了Linux系统中的用户组管理,包括创建、修改和权限分配。详细讲解了文件和目录的所有者、权限模式以及如何通过`chown`和`chgrp`修改所有者和组。此外,讨论了任务调度`cron`的工作原理和使用方法。还涵盖了磁盘分区,如MBR和GPT的区别,以及挂载和查看磁盘空间的相关命令。网络配置部分涉及静态IP设定和进程管理,包括`ps`、`kill`和`top`命令的使用。最后提到了RPM包管理和YUM仓库在软件安装中的作用。
摘要由CSDN通过智能技术生成

1、组管理和权限管理

1.1、组的基本介绍

linux中的每个用户都必须属于组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gjypoIB8-1675592984879)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230204043151698.png)]

1.1.1、文件/目录的所有者

一般文件的创建者即为所有者

1.1.2、查看文件所有者

  • 指令ls -ahl
  • 演示
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iQ8IC9vy-1675592984883)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230204045455329.png)]

1.1.3、修改文件所有者

  • 语法

    • chown newowner file:改变文件所有者
    • chown newowner:newgroup file:改变文件的所有者和所在组
  • -R:如果是目录,则使其下所有文件和子目录递归生效

  • 案例1:将hello.java文件所有者改成happy
    在这里插入图片描述

  • 案例2:将/root/home目录下的所有文件和子目录所有者改成happy
    在这里插入图片描述
    在这里插入图片描述

1.1.4、组的创建

  • 指令groupadd 组名
  • 案例:创建monster组,创建fox用户并加入到monster组中
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-euVQGHYH-1675592984886)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230204061330782.png)]

1.1.5、文件/目录所在组

一般文件所在组就是创建该文件用户的所在组

1.1.6、查看文件/目录所在组

  • 指令ls -ahl

1.1.7、修改文件/目录所在组

  • 指令chgrp 组名 文件名

  • 案例:查看hello.java文件所在组并修改成police组

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nDYNjw28-1675592984887)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230204061830059.png)]

1.1.8、其他组

1.1.9、改变用户所在组

  • 语法usermod -g 组名 用户名
  • 案例:将zilvx用户从zilvx组修改到happy组
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fi9IiyTc-1675592984887)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230204063006259.png)]

1.2、权限的基本介绍

drwxr-xr-x 3 zilvx happy 4.0K Feb 4 01:35 zilvx的说明

  • drwxr-xr-x:

    • 第0位:确定文件类型(d,-,l,c,b)d表示目录,-表示文件,l表示链接

    • 第1-3位:文件所有者对该文件的权限,-表示不具有某种权限

    • 第4-6位:文件所在组对该文件的权限

    • 第7-9位:其他用户对该文件的权限

  • 3 :

    • 文件:硬链接数
    • 目录:子目录数
  • zilvx:用户

  • happy:组

  • 4.0K:文件大小,如果是文件夹则显示4.0K

  • Feb 4 01:35:最后修改时间

  • zilvx:目录名或文件名
    在这里插入图片描述

1.2.1、rwx权限介绍

rwx作用到文件

  • r:文件可读
  • w:文件可写,不代表文件可以删除(写是删除的前提条件)
  • x:文件可执行

rwx作用在目录

  • r:目录可以查看(ls指令)
  • w:目录可以修改,即在目录内创建删除重命名目录
  • x:可执行,即可以进入该目录

1.2.2、 修改权限

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

u:所有者user

g:所在组group

o:其他人other

a:所有人(u、g和o的总和)

  • 语法

    • chmod u=rwx,g=rx,o=x 文件名或目录名
    • chmod o+w 文件名或目录名
    • chmod a-x 文件名或目录名
  • 案例1:给hello.java文件所有者读写执行权,所在组执行权,其他组读权
    在这里插入图片描述

  • 案例2:给hello.java文件所有者去除执行权,所在组增加写权

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7cBSyoG1-1675592984889)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230205143518129.png)]

  • 案例3:给hello.java文件所有用户读的权利

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wjoH2yt2-1675592984890)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230205143627886.png)]

方式二:通过数字变更权限
  • 规则:r=4,w=2,x=1

  • 案例:将hello.java文件的权限rw–wxrw-用数字方式体现

    rw-=4+2=6

    -wx=2+1=3

2、任务调度

2.1、概述

  • 任务调度:指系统在某一时间执行特定的命令或者程序

  • 任务调度分类

    • 系统工作:某些重要的工作必须周而复始地执行,如病毒扫描

    • 个别用户工作:个别用户可能希望执行某些程序,如数据库备份

2.2、语法

  • 语法crontab [选项]
  • 常用选项
    • -e:编辑crontab定时任务
    • -l:查询crontab任务
    • -r:删除当前用户所有的crontab任务

3、磁盘分区和挂载

3.1、分区的方式

3.1.1、mbr分区

1、最多支持四个主分区
2、系统只能安装在主分区
3、扩展分区要占一个主分区
4、MBR最大只支持2TB,但是拥有最好的兼容性

3.1.2、gtp分区

1、支持无限多个主分区
2、最大支持18EB的大容量

3.2、Linux分区

3.2.1、原理

1、无论有几个分区,无论分区给哪一个目录使用,对于Linux来说,他只有一个根目录,一个独立且唯一的文件结构。Linux中的每一个分区都是组成文件系统的一部分。

2、Linux采用”载入“的处理方法。他的整个文件系统中包含一整套的文件和目录,且将一个分区和一个目录联系起来。载入一个分区将会让他的存储空间在一个目录下获得。

3、示意图
在这里插入图片描述

3.2.2、查看系统分区情况

  • 语法lsblk -f

  • 演示[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y73MXNHk-1675592984894)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230205151658244.png)]在这里插入图片描述

3.3、磁盘情况查看

3.3.1、查看系统整体的磁盘情况

  • 语法df -h
  • 演示在这里插入图片描述

3.3.2、查看指定目录的磁盘使用情况

  • 语法du -h /目录 (不带目录则默认是当前目录)

    • -s:指定目录占用大小汇总
    • -h:带计量单位
    • -a:含文件
    • –max-depth=1:子目录深度
    • -c:列出明细的同时增加汇总值
  • 案例:查看/opt目录的磁盘占用情况,深度为1
    在这里插入图片描述

3.4、工作常用的关于磁盘的指令

统计/home 文件夹下的文件数量

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

在这里插入图片描述

统计/home文件夹下的目录数量

ls -l /home | grep "^d" | wc -l

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfhjSlIA-1675592984897)(C:\Users\zilvx\AppData\Roaming\Typora\typora-user-images\image-20230205153839399.png)]

统计/home文件夹下文件数,包括子文件夹里面的

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

在这里插入图片描述

统计文件夹下目录的数量,包括子文件夹里面的

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

在这里插入图片描述

以树状显示目录结构

在这里插入图片描述

4、网络配置

Linux一般都是用来作为服务器使用的,所以需要其ip地址是静态的。可以直接修改配置文件来指定ip并可以连接到外网。

vim /etc/sysconfig/network-scripts/ifcfg-ech0

在这里插入图片描述

修改后需要重启服务生效

  • service network restart
  • reboot
    在这里插入图片描述

5、进程管理

5.1、进程的基本介绍

1、程序的一次执行就是进程,每个进程都有PID(进程id)

2、每个进程都有一个父进程,这个父进程可以有多个子进程

3、进程可能以两种方式存在。前台和后台。前台进程就是用户当前屏幕上可以进行操作的进程。后台进程指屏幕看不到的进程。

4、一般系统的服务都是后台进程,常驻在系统中,直到关机才结束。

5.2、查看系统运行的进程

  • 指令ps -aux

  • 演示
    在这里插入图片描述

  • 以全格式显示系统中所有进程ps -ef

5.3、终止进程

  • 指令
    • kill [选项] 进程号
    • killall 进程名
  • 选项-9 表示强制杀死进程

5.4、查看进程树

  • 语法pstree [选项]

  • 常用选项

    • -p:显示pid
    • -u:显示进程的所属用户
  • 演示
    在这里插入图片描述
    在这里插入图片描述

5.5、服务管理

5.5.1、概述

服务本质上是进程,是运行在后台的进程,又被称为守护进程

5.5.2、常用指令

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

注意:CentOS7后不用service,用systemctl

5.5.3、演示

root@iZbp1dm5fdkrqk5zoa0y07Z:~# service mysql status
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-02-04 07:50:04 CST; 1 day 9h ago
    Process: 451 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 650 (mysqld)
     Status: "Server is operational"
      Tasks: 40 (limit: 2194)
     Memory: 437.8M
     CGroup: /system.slice/mysql.service
             └─650 /usr/sbin/mysqld

Feb 04 07:50:01 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Starting MySQL Community Server...
Feb 04 07:50:04 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Started MySQL Community Server.
root@iZbp1dm5fdkrqk5zoa0y07Z:~# service mysql stop
root@iZbp1dm5fdkrqk5zoa0y07Z:~# service mysql status
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Sun 2023-02-05 16:58:05 CST; 12s ago
    Process: 451 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Process: 650 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
   Main PID: 650 (code=exited, status=0/SUCCESS)
     Status: "Server shutdown complete"

Feb 04 07:50:01 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Starting MySQL Community Server...
Feb 04 07:50:04 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Started MySQL Community Server.
Feb 05 16:58:03 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Stopping MySQL Community Server...
Feb 05 16:58:05 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: mysql.service: Succeeded.
Feb 05 16:58:05 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Stopped MySQL Community Server.
root@iZbp1dm5fdkrqk5zoa0y07Z:~# service mysql start
root@iZbp1dm5fdkrqk5zoa0y07Z:~# service mysql status
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-02-05 16:58:48 CST; 16s ago
    Process: 12671 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 12691 (mysqld)
     Status: "Server is operational"
      Tasks: 39 (limit: 2194)
     Memory: 365.5M
     CGroup: /system.slice/mysql.service
             └─12691 /usr/sbin/mysqld

Feb 05 16:58:47 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Starting MySQL Community Server...
Feb 05 16:58:48 iZbp1dm5fdkrqk5zoa0y07Z systemd[1]: Started MySQL Community Server.

5.5.4、查看服务名

ls -l /etc/init.d/

在这里插入图片描述

5.5.5、 服务的运行级别

查看或修改默认的运行级别

vim /etc/inittab
运行级别介绍
0关机状态
1单用户
2多用户无网络
3多用户有网络
4系统未使用,保留
5图形化界面
6重启状态

5.5.6、开机流程

在这里插入图片描述

5.5.7、chkconfig 指令

介绍:用于给每个服务的运行级别设置自启动和关闭

语法1chkconfig --list | grep 服务名 查看服务的每个运行级别的状态
在这里插入图片描述

语法2chkconfig 服务名 --list

语法3chkconfig --level 5 服务名 on/off
在这里插入图片描述

注意1:Ubuntu 中 chkconfig 已经被 sysv-rc-conf 所替代
注意2:chkconfig重新设置服务自启动或关闭后需要reboot才能生效

5.6、动态监控进程

  • 介绍:top和ps指令很相似,都是显示进程信息的指令。但是top在执行一段时间后可以更新正在运行的进程

  • 语法top [选项]

  • 常用选项

    • -d 数字:指定几秒进行更新,默认是3秒
    • -i:不显示限制或者僵死的进程
    • -p:指定pid来监控某个进程的信息
  • 交互指令

    • P:以cpu使用率排序,默认就是这个
    • M:以内存使用率排序
    • N:以PID进行排序
    • q:退出top
  • 案例1:监控特定用户

    先输入top指令,然后回车;在输入u指令,接着输入用户名(服务名)即可
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 案例2:终止指定进程

    先输入top指令,然后回车;在输入k指令,接着输入pid即可
    在这里插入图片描述

  • 案例3:指定系统状态更新时间为10秒
    在这里插入图片描述

5.7、查看系统网络状态

  • 语法

    • netstat [选项] 例如:netstat -nap
  • 选项说明

    • -an:按顺序排序输出
    • -p:显示哪个进程在调用
  • 案例1:查看系统中所有的网络服务
    在这里插入图片描述

  • 案例2:查看mysql的网络信息
    在这里插入图片描述

6、RPM和YUM

6.1、rpm包的管理

  • 介绍:rpm是红帽软件包管理工具,类似于windows下的setup.exe,是一种下载包的打包以及安装工具
  • rpm包名基本格式:firefox-45.0.0.1-1.el6.centos.x86_64.rpm
  • rpm包查询指令
    • rpm -qa:查询所有已经安装的rpm软件包
    • rpm -qa | more:分页显示
    • rpm -qa | grep mysql
    • rpm -q 软件包名:查看软件包是否安装
    • rpm -qi 软件包名:查看软件包的信息
    • rpm -ql 软件包名:查看软件包中的文件
    • rpm -qf 文件全路径名:查看文件所属的软件包
  • 卸载rpm包rpm -e rpm包名
  • 安装rpm包rpm -ivh rpm包的全路径名
    • i=install 安装
    • v=verbose 提示
    • h=hash 进度条

6.2、YUM

  • 介绍:一个shell前端软件包管理器。基于rpm包管理,可以下载rpm包并且安装,可以自动处理依赖关系,并且一次性安装所有依赖的软件包。使用yum的前提是可以联网。
  • yum的基本指令
    • 查询yum服务器是否有需要安装的软件:yum list | grep xxx
    • 安装指定的yum包:yum install xxx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值