1.用户的相关文件
根据帐号位置:本地帐号、远程域帐号
根据帐号的功能:超级管理员、普通用户(系统用户、本地用户)
系统用户
UID:1-999
一般是不会登录系统的,用于维护某个系统程序正常运行
本地用户
UID:1000+ CENTOS6 500以上
由管理员创建,权限受到一定的限制,在自己的宿主目录是完整的权限
管理用户
关于系统用户和组的相关配置文件:
| 帐号信息 | 密码信息 | |
|---|---|---|
| 用户 | etc/passwd | /etc/shadow |
| 组 | etc/group | /etc/gshadow |
用户add
| 通用参数 | 备注 |
|---|---|
| -u | UID |
| -d | 宿主目录 |
| -g | 起始组 -只能有一个 |
| -G | 附加组 - 可以有多个 |
| -s | 登录shell |

添加一个用户 sunwukong ,添加一个用户系统会在home目录下创建一个相对应的目录

我们也可以修改用户的宿主目录


参数 -g的如下图

添加 pay用户将其规划到root组里 , pay同时属于 pay组合也属于root组

Linux 由内核 + shell + 外围系统组成的,其中shell 起到一个翻译的作用,将外围系统的一些命令翻译成内核能识别的指令 ,其中shell又分为好多,默认是bash

创建一个用户可以指定shell,可以限制用户不允许登录操作系统


用户删除我们可以使用userdel

修改用户密码可以通过passwd命令

我们也可以通过echo修改finance用户密码


修改用户UID通过usermod命令

修改用户的命令格式 usermod -type 参数 用户名


组的相关配置文件
组的内容格式如下:

组的添加、删除、修改和用户操作一样的
2.文件权限
| 数字编码 | 功能描述 |
|---|---|
| 0 | 代表什么权限都没有 |
| 1 | x可执行 |
| 2 | w可写 |
| 3 | w+x =wx 可执行可写 |
| 4 | r可读的 |
| 5 | r+x =rx 可读可执行 |
| 6 | r+w =rw 可读可写 |
| 7 | r+w+x =rwx 可读可写可执行 |
| 字母编码 | 功能描述 |
|---|---|
| -a | 所有的权限 |
| -u | 文件所有者的权限 |
| -g | 组权限 |
| -o | 其它组 |
对log.log文件只允文件所有者读的权限命令如下:

让组对log有wx权限命令

对其它用户对log文件没有任何操作权限命令

修改log文件的拥有者和所属组使用chown ,语法格式 chown USER:GROUP 对象


单独修改文件所拥有权限,语法格式 chown user 对象

单独修改文件所属组权限,语法格式 chown :group 对象

2.软件包管理
RPM 包相关的网站上去下载软件包
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
| 命令 | 功能描述 |
|---|---|
| rpm -qa | 查看安装的包 |
| rpm -qf /usr/bin/rz | 查看命令来源于哪个包 |
| rpm -qf which zsh | 查看zsh包的路径 |
| rpm -qpi /mnt/Packages/httpd-******.rpm | 查看包的信息 |
2-1 RPM包管理
rmp对某个包进行升级,命令如下:
rmp -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rmp

rmp对包卸载 ,命令如下:
rmp -e zsh (这种只是卸载单个包)
rmp -e gcc --nodeps (这种是依赖性的卸载)

2-2 yum软件包管理
yum下载天生就支持依赖性下载,把依赖的包都会下载下来
我们先配置yum源的配置,我们先找到yum配置文件,在 /etc/yum.repos.d/local.repo 配置文件

[centos7-yum] #yum源名称,唯一性用来区分不同yum源
name=centos7-source #对yum源描述信息
baseurl=http://mirrors.aliyun.com/help/epel #对yum源的路径(respodata目录所在目录)
enabled=1 #为1 表示启动yum源
gpgcheck=0 #为1 使用公钥验证rpm的正确性
yum为什么能解决依赖问题呢??? Respodata配置
| yum命令 | 作用 |
|---|---|
| yum clean all | 清空yum缓存 |
| yum repolist | 显示yum源包的个数 |
| yum list | 生成列表少用 |
| yum -y install packagename | 安装 |
| yum check-update | 检查升级 |
| yum update | 升级内核 |
| yum list | 包名称列表 |
| yum info | 包的信息列表 |
| yum remove packagename | 这种是比较安全的 |
| yum grouplist | 查看包组 |
| yum groupinstall packagename -y | 安装组工具 |
2-3 源码包安装过程
- 解压解包
tar -zxvf 源码包名称 -C /opt/
x:为解包 z:为压缩格式(仅适用gzip、j 适合 bz2)、v :显示过程 f:指定被压缩包名、-C :指定解压文件目录
2)配置
进入解压的目录,用 ./configure [–prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息,设置安装目录等(卸载的时候只要将这个目录删除即可)

查看配置结果
echo $? -> 查看上一次执行结果的返回值。


3)编译
把源代码编译成可执行的二进制 文件
make -j 4
注:-j 4 表示已4个进程同时编译,速度快! -j 后的数据和你CPU的核心数一样
4)安装
make install
5)然后启动nginx ,我们nginx配置路径 /usr/local/nginx/sbin/nginx 即可启动nginx
我们可以优化命令 ,我们可以echo $PATH 查看命令所在路径,其实我们可以把nginx拷贝到 /usr/bin 目录下即可
2-4 查看文件类型
查看压缩包内容,命令如下:tar tvf ./nginx-1.15.10.tar.gz

我们也可以用file命令,命令如下:file /etc/passwd

zip group.zip -d /opt/ 将group.zip 附件解压到 /opt/目录下 
xz -z grub2.tar 用这个压缩很耗时,但是压缩比率很高

3.Linux进程管理
| 进程符号 | 说明 |
|---|---|
| PID | 进程PID,是唯一的的数值,用来区分进程 |
| PPID | 父进程和父进程ID |
| UID GID | 启动进程的用户UID 和所归属的组(GID) |
| STATUS | R(运行)、S(睡眠)、Z(僵尸) |
3-1 ps top管理进程
ps为我们提供了进程一次性的查看,它所提供的查看结果并不是动态连续的;如果想要对进程实时监控,应该使用top工具;
| 参数 | 说明 |
|---|---|
| l | 长格式输出 |
| u | 按照用戶和启动时间的顺序显示进程 |
| f | 用树形格式来显示进程 |
| a | 显示所有用户的进程(包括其他用户的) |
| r | 显示运行中的进程 |
| -e | 显示所有进程,包括没有控制端的进程 |
| -x | 显示没有控制终端进程 |
我们一般常用的选项组合是 aux -elf
ps aux 输出的解释;
| 命令 | 说明 |
|---|---|
| USER | 进程所属主 |
| PID | 进程ID |
| PPID | 父进程ID |
| %CPU | 进程占用CPU的百分比 |
| %MEM | 占用内存比列 |
| NI | 进程的NICE值,优先级 |
| VSZ | 进程占用虚拟机的内存大小 |
| RSS | 实际占用内存大小 |
| TTY | 进程启动的终端ID,没有终端基于内核的 |
| STAT | 进程状态 R、S、T、Z |
| TIME | 进程消耗CPU的时间 |
| COMMAND | 命令的名称和参数 |
top 输出的解释;
| 命令 | 说明 |
|---|---|
| 21:13:15 | 系统当前时间 |
| up 52 time | 系统运行时间,格式为时:分 |
| 1 user | 当前登录用户数 |
| load average:0.06 ,0.03 , 0.05 | 系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。一般单核不会大于3 |

| 命令 | 说明 |
|---|---|
| Tasks: 266 | 进程总数 |
| 1 running | 正在运行的进程数 |
| 264 sleeping | 睡眠的进程数 |
| 0 stopped | 停止的进程数 |
| 0 zombie | 僵尸进程数 |
| %Cpu(s) 1.2 us | 系统用户进程使用CPU百分比 |
| 0.2 sy | 内核中的进程占用百分比 |
| 0.0 ni | 用户进程空间内改变过优先级的进程占用CPU的百分比 |
| 97.8% id | 空闲CPU的百分比 |
| 0.0% wa | 等待输入输出的CPU时间百分比 |
| 0.0% hi | 硬中断占用CPU的百分比 |
| 0.0% si | 软中断占用CPU的百分比 |
| 0.0% st | 虚拟机被hypervisor偷去的CPU时间 |

| 命令 | 说明 |
|---|---|
| 16268104 total | 物理内存总量 |
| 13769444 free | 空闲内存总量 |
| 1156704 used | 空闲内存总量 |
| 1341456 buff/cache | 用作内核缓存的内存量 和 free -m 一个意思 |
| Swap: 33550332 | 交换区总量 |
| 0 used | 使用的交换区总量 |
| 33550332 free | 空闲的交换区总量 |
| 14732908 avail Mem | 总的可利用内存是多少=mem的free + buffer/cache |

3-2 扩展/proc目录
一个存放内存中特殊的目录 /proc ,这个目录比较特殊,他并不再我们磁盘上,而在我们的内存中;当前系统运行的所有进程都动态的存放在这个目录中。

备注:top命令也是从proc目录获取的信息
3-3 kill 线程控制

我们这里只 kill -9 强行杀死一个进程
3-4 文件查找
which 查看一些可执行文件的位置 which cd

whereis 查看命令相关的位置 whereis cd

grep 关键字过滤

find 命令是在目录结构中搜索文件,并执行指定的操作,功能很强大。
根据文件名查找文件信息,命令如下 find ./ -name “*.c” -print

根据文件权限查找文件信息,操作命令如下 find ./ -perm 644 -print

根据用户查找文件,find ./ -user cl-inf

根据修改时间来查找文件 find ./ mtime -5 (5天之前修改过的文件)

根据文件类型查找文件 find ./ -type d

3-5 计划任务
At定时任务
At 单次执行计划任务,它只会执行一次,执行完了一次就不会在执行了。
At 单次执行任务它需要依赖atd任务,所以我们先要查看atd任务是否启动 ,systemctl status atd;

我们先要创建at定时任务

也可以 at now+10min 表示10分钟后执行这个任务 。我们也可以通过atrm 2 删除 定时任务。
cron 定时任务
cron 周期计划任务的使用,每隔一个周期执行任务。这个也是用的最多的,它也是依赖一个crond的一个服务。

在/etc/crontab 文件里面有一个案例 ,crontab -e 创建一个计划任务 | crontab -l 显示创建计划任务 | crontab -r 删除计划任务

【*/5】 表示 5 分钟执行一次

指定用户创建计划任务 crontab -u pay -e 设置pay用户下的的计划任务,查看也是一样(crontab -u username -[l、e、r])
3.Linux 网络管理
网络配置
网络配置我们可以通过图形化界面配置,执行 nm-connection-editor 命令,会弹出图形化的窗口

我们也可以修改网卡配置文件 ,执行 vim /etc/sysconfig/network-scripts/ifconfig-ens33

修改主机名,我们可以执行 vim /etc/hostname 可以进行编辑

也可以通过hostnamectl set-hostname yangchen666 来修改hostname;注意修改好配置文件需要 Reboot 重启机器永久生效了

配置hosts文件,执行 vim /etc/hosts 文件

查看路由信息,可执行 rout -n 命令查看

shell脚本
查看linux支持哪些shell ,我们可以执行 cat /etc/shells

Shell 变量
常见的shell变量有自定义变量、环境变量、位置变量、预定义变量,一般使用echo 输出变量的值,
自定义变量
我们定义一个变量,执行下面命令 linux=8 ,然后我们可以通过echo $linux输出


read命令

变量运算



环境变量

位置变量




awk 列操作一些執行命令


本文深入解析Linux系统管理,涵盖用户及文件权限管理、软件包管理、进程控制、网络配置等核心内容,助您掌握Linux系统管理的关键技能。
596

被折叠的 条评论
为什么被折叠?



