Linux用户和组学习笔记

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目录下创建一个相对应的目录
Linux用户和组学习笔记_第1张图片
我们也可以修改用户的宿主目录
Linux用户和组学习笔记_第2张图片
Linux用户和组学习笔记_第3张图片
参数 -g的如下图
Linux用户和组学习笔记_第4张图片
添加 pay用户将其规划到root组里 , pay同时属于 pay组合也属于root组
Linux用户和组学习笔记_第5张图片
Linux 由内核 + shell + 外围系统组成的,其中shell 起到一个翻译的作用,将外围系统的一些命令翻译成内核能识别的指令 ,其中shell又分为好多,默认是bash
Linux用户和组学习笔记_第6张图片
创建一个用户可以指定shell,可以限制用户不允许登录操作系统
Linux用户和组学习笔记_第7张图片
Linux用户和组学习笔记_第8张图片
用户删除我们可以使用userdel
在这里插入图片描述
修改用户密码可以通过passwd命令
Linux用户和组学习笔记_第9张图片
我们也可以通过echo修改finance用户密码
Linux用户和组学习笔记_第10张图片
Linux用户和组学习笔记_第11张图片
修改用户UID通过usermod命令
Linux用户和组学习笔记_第12张图片
修改用户的命令格式 usermod -type 参数 用户名
Linux用户和组学习笔记_第13张图片
Linux用户和组学习笔记_第14张图片

组的相关配置文件

组的内容格式如下:
Linux用户和组学习笔记_第15张图片
组的添加、删除、修改和用户操作一样的

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文件只允文件所有者读的权限命令如下:
Linux用户和组学习笔记_第16张图片
让组对log有wx权限命令
Linux用户和组学习笔记_第17张图片
对其它用户对log文件没有任何操作权限命令
Linux用户和组学习笔记_第18张图片
修改log文件的拥有者和所属组使用chown ,语法格式 chown USER:GROUP 对象
Linux用户和组学习笔记_第19张图片Linux用户和组学习笔记_第20张图片
单独修改文件所拥有权限,语法格式 chown user 对象
Linux用户和组学习笔记_第21张图片
单独修改文件所属组权限,语法格式 chown :group 对象
Linux用户和组学习笔记_第22张图片

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

Linux用户和组学习笔记_第23张图片

rmp对包卸载 ,命令如下:

rmp -e zsh (这种只是卸载单个包)
rmp -e gcc --nodeps (这种是依赖性的卸载)

Linux用户和组学习笔记_第24张图片

2-2 yum软件包管理

yum下载天生就支持依赖性下载,把依赖的包都会下载下来

我们先配置yum源的配置,我们先找到yum配置文件,在 /etc/yum.repos.d/local.repo 配置文件

Linux用户和组学习笔记_第25张图片

[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 源码包安装过程

  1. 解压解包

tar -zxvf 源码包名称 -C /opt/

x:为解包 z:为压缩格式(仅适用gzip、j 适合 bz2)、v :显示过程 f:指定被压缩包名、-C :指定解压文件目录

2)配置

进入解压的目录,用 ./configure [–prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息,设置安装目录等(卸载的时候只要将这个目录删除即可)
在这里插入图片描述
查看配置结果
echo $? -> 查看上一次执行结果的返回值。
Linux用户和组学习笔记_第26张图片
Linux用户和组学习笔记_第27张图片

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
Linux用户和组学习笔记_第28张图片
我们也可以用file命令,命令如下:file /etc/passwd
Linux用户和组学习笔记_第29张图片
zip group.zip -d /opt/ 将group.zip 附件解压到 /opt/目录下 Linux用户和组学习笔记_第30张图片
xz -z grub2.tar 用这个压缩很耗时,但是压缩比率很高

Linux用户和组学习笔记_第31张图片

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

Linux用户和组学习笔记_第32张图片

命令 说明
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时间

Linux用户和组学习笔记_第33张图片

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

Linux用户和组学习笔记_第34张图片

3-2 扩展/proc目录

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

Linux用户和组学习笔记_第35张图片
备注:top命令也是从proc目录获取的信息

3-3 kill 线程控制

Linux用户和组学习笔记_第36张图片
我们这里只 kill -9 强行杀死一个进程

3-4 文件查找

which 查看一些可执行文件的位置 which cd
Linux用户和组学习笔记_第37张图片
whereis 查看命令相关的位置 whereis cd

在这里插入图片描述
grep 关键字过滤
在这里插入图片描述
find 命令是在目录结构中搜索文件,并执行指定的操作,功能很强大。

根据文件名查找文件信息,命令如下 find ./ -name “*.c” -print

Linux用户和组学习笔记_第38张图片
根据文件权限查找文件信息,操作命令如下 find ./ -perm 644 -print
在这里插入图片描述
根据用户查找文件,find ./ -user cl-inf
Linux用户和组学习笔记_第39张图片
根据修改时间来查找文件 find ./ mtime -5 (5天之前修改过的文件)
Linux用户和组学习笔记_第40张图片
根据文件类型查找文件 find ./ -type d
Linux用户和组学习笔记_第41张图片

3-5 计划任务

At定时任务

At 单次执行计划任务,它只会执行一次,执行完了一次就不会在执行了。
At 单次执行任务它需要依赖atd任务,所以我们先要查看atd任务是否启动 ,systemctl status atd;
Linux用户和组学习笔记_第42张图片
我们先要创建at定时任务

Linux用户和组学习笔记_第43张图片
也可以 at now+10min 表示10分钟后执行这个任务 。我们也可以通过atrm 2 删除 定时任务。

cron 定时任务

cron 周期计划任务的使用,每隔一个周期执行任务。这个也是用的最多的,它也是依赖一个crond的一个服务。

Linux用户和组学习笔记_第44张图片
在/etc/crontab 文件里面有一个案例 ,crontab -e 创建一个计划任务 | crontab -l 显示创建计划任务 | crontab -r 删除计划任务
Linux用户和组学习笔记_第45张图片
【*/5】 表示 5 分钟执行一次
Linux用户和组学习笔记_第46张图片
指定用户创建计划任务 crontab -u pay -e 设置pay用户下的的计划任务,查看也是一样(crontab -u username -[l、e、r])

3.Linux 网络管理

网络配置

网络配置我们可以通过图形化界面配置,执行 nm-connection-editor 命令,会弹出图形化的窗口
Linux用户和组学习笔记_第47张图片

我们也可以修改网卡配置文件 ,执行 vim /etc/sysconfig/network-scripts/ifconfig-ens33
Linux用户和组学习笔记_第48张图片
修改主机名,我们可以执行 vim /etc/hostname 可以进行编辑
Linux用户和组学习笔记_第49张图片
也可以通过hostnamectl set-hostname yangchen666 来修改hostname;注意修改好配置文件需要 Reboot 重启机器永久生效了
Linux用户和组学习笔记_第50张图片
配置hosts文件,执行 vim /etc/hosts 文件
Linux用户和组学习笔记_第51张图片
查看路由信息,可执行 rout -n 命令查看
Linux用户和组学习笔记_第52张图片

shell脚本

查看linux支持哪些shell ,我们可以执行 cat /etc/shells
Linux用户和组学习笔记_第53张图片

Shell 变量

常见的shell变量有自定义变量、环境变量、位置变量、预定义变量,一般使用echo 输出变量的值,

自定义变量

我们定义一个变量,执行下面命令 linux=8 ,然后我们可以通过echo $linux输出
Linux用户和组学习笔记_第54张图片
Linux用户和组学习笔记_第55张图片

read命令

Linux用户和组学习笔记_第56张图片

变量运算

Linux用户和组学习笔记_第57张图片
Linux用户和组学习笔记_第58张图片
Linux用户和组学习笔记_第59张图片

环境变量

Linux用户和组学习笔记_第60张图片

位置变量

Linux用户和组学习笔记_第61张图片
Linux用户和组学习笔记_第62张图片
Linux用户和组学习笔记_第63张图片
在这里插入图片描述
awk 列操作一些執行命令
Linux用户和组学习笔记_第64张图片
Linux用户和组学习笔记_第65张图片

你可能感兴趣的:(Linux)