根据帐号位置:本地帐号、远程域帐号
根据帐号的功能:超级管理员、普通用户(系统用户、本地用户)
UID:1-999
一般是不会登录系统的,用于维护某个系统程序正常运行
UID:1000+ CENTOS6 500以上
由管理员创建,权限受到一定的限制,在自己的宿主目录是完整的权限
关于系统用户和组的相关配置文件:
帐号信息 | 密码信息 | |
---|---|---|
用户 | etc/passwd | /etc/shadow |
组 | etc/group | /etc/gshadow |
通用参数 | 备注 |
---|---|
-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 参数 用户名
数字编码 | 功能描述 |
---|---|
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 对象
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 | 查看包的信息 |
rmp对某个包进行升级,命令如下:
rmp -Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rmp
rmp对包卸载 ,命令如下:
rmp -e zsh (这种只是卸载单个包)
rmp -e gcc --nodeps (这种是依赖性的卸载)
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 | 安装组工具 |
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 目录下即可
查看压缩包内容,命令如下:tar tvf ./nginx-1.15.10.tar.gz
我们也可以用file命令,命令如下:file /etc/passwd
zip group.zip -d /opt/ 将group.zip 附件解压到 /opt/目录下
xz -z grub2.tar 用这个压缩很耗时,但是压缩比率很高
进程符号 | 说明 |
---|---|
PID | 进程PID,是唯一的的数值,用来区分进程 |
PPID | 父进程和父进程ID |
UID GID | 启动进程的用户UID 和所归属的组(GID) |
STATUS | R(运行)、S(睡眠)、Z(僵尸) |
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 |
一个存放内存中特殊的目录 /proc ,这个目录比较特殊,他并不再我们磁盘上,而在我们的内存中;当前系统运行的所有进程都动态的存放在这个目录中。
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
At 单次执行计划任务,它只会执行一次,执行完了一次就不会在执行了。
At 单次执行任务它需要依赖atd任务,所以我们先要查看atd任务是否启动 ,systemctl status atd;
我们先要创建at定时任务
也可以 at now+10min 表示10分钟后执行这个任务 。我们也可以通过atrm 2 删除 定时任务。
cron 周期计划任务的使用,每隔一个周期执行任务。这个也是用的最多的,它也是依赖一个crond的一个服务。
在/etc/crontab 文件里面有一个案例 ,crontab -e 创建一个计划任务 | crontab -l 显示创建计划任务 | crontab -r 删除计划任务
【*/5】 表示 5 分钟执行一次
指定用户创建计划任务 crontab -u pay -e 设置pay用户下的的计划任务,查看也是一样(crontab -u username -[l、e、r])
网络配置我们可以通过图形化界面配置,执行 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 命令查看
查看linux支持哪些shell ,我们可以执行 cat /etc/shells
常见的shell变量有自定义变量、环境变量、位置变量、预定义变量,一般使用echo 输出变量的值,
我们定义一个变量,执行下面命令 linux=8 ,然后我们可以通过echo $linux输出