- 用户、用户组:
- 用户组管理(需要用 root 用户执行):
- 创建用户组:
groundadd 用户组名
- 删除用户组:
groupdel 用户组名
- 用户添加组:
gpasswd [-M -a -d] 用户名 用户组
- 空:表示给群组设置密码,仅 root 用户
- -M:将多个用户加入群组,用户以 ' ,' 分割,仅 root 用户
- -a:将用户添加到群组中
- -d:将用户从组群中移除
- 用户管理(需要 root 用户执行):
- 创建用户:
useradd [-g -d] 用户名
- -g:指定用户的组
- 不指定 -g,会创建同名组并自动加入
- 指定 -g 需要组已经存在,如已经存在同组名,必须使用 -g
- -d:指定用户 HOME 目录
- 不指定:HOME 目录默认在: /home/用户名
- -g:指定用户的组
- 删除用户:
userdel [-r] 用户名
- -r:删除用户的 HOME 目录
- 不使用 -r:删除用户时,HOME 目录保存
- -r:删除用户的 HOME 目录
- 查看用户所属组:
id [用户名]
- 用户名:被查看的用户,如果不填写,则查看自身
- 修改用户所属组:
usermod -aG 用户组 用户名
- 将指定用户加入指定的用户组
- getent:
getent passwd 查看当前系统中有哪些用户 getent group 查看当前系统中有哪些组
- 用户信息为:
- 用户名:x(密码):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认 bash)
- 用户信息为:
- 创建用户:
- 创建用户组:
- 用户组管理(需要用 root 用户执行):
- ALC权限命令:
- getfacl:查看 ACL 权限命令
- 语法:getfacl 文件名(目录名)
- setfacl:设置 ACL 权限
- 语法:
setfacl [-m -R] 文件名
- -m:设定 ACL 权限
- 给用户设置: u:用户名:权限
- 给用户组设置:g:组名:权限
- -R:递归设定 ACL 权限
- -m:设定 ACL 权限
- 语法:
- getfacl:查看 ACL 权限命令
- 权限控制:
- 权限细节:
- 1:表示文件、文件夹的权限控制信息
- 文件细节
- 首位:
- - :表示文件
- d:表示文件夹
- l:表示软连接
- 属主权限:
- r:可读
- w:可写
- x:可执行
- 属组权限:
- r:可读
- w:可写
- x:可执行
- 其他用户:
- r:可读
- w:可写
- x:可执行
- 文件细节
- 2:表示文件、文件夹所属组
- 3:表示文件、文件夹的权限信息
- 1:表示文件、文件夹的权限控制信息
- 权限细节:
- chmod:修改文件、文件夹的权限信息
- 注意:只有文件、文件夹的所属用户或 root 用户可以修改
- 语法:
chmod [-R] 权限 文件或文件夹
- -R:对文件内的全部内容应用同样的操作
- 权限的数字序号:
- 权限可以用 3 位数字来代表,第一位数字表示属主,第二位表示属组,第三位表示其他用户
- r 记为 4,w 记为 2,x 记为 1:
- 0:无任何权限:---
- 1:仅有 x 权限:--x
- 2:仅有 w 权限:-w-
- 3:有 w 和 x 权限:-wx
- 4:仅有 r 权限:r--
- 5:有 r 和 x 权限:r-x
- 6:有 r 和 w 权限:rw-
- 7:有全部权限:rwx
- chown:修改文件、文件夹的所属用户和用户主
- 注意:普通用户无法修改所属组为其它用户或组,所以此命令只适用于 root用户执行
- 语法:
chown [-R] [用户] [:] [用户组] 文件或文件夹
- -R:同 chmod,对文件夹内部全部内容应用相同规则
- 用户:修改所属用户
- 用户组:修改所属用户组
- :用于分隔用户和用户组
- 快捷键:
- 强制停止:ctrl + c
- 退出或登录:ctrl + d
- 查询历史命令:history
- 历史搜索命令:
- !:命令前缀
- ctrl + r:输入内容匹配历史命令
- 回车直接可以执行
- 键盘左右键,可以得到此命令(不执行)
- 光标移动快捷键:
- ctrl + a:跳到命令开头
- ctrl + e:跳到命令结尾
- ctrl + 键盘左键:向左跳一个单词
- ctrl + 键盘右键:向右跳一个单词
- 清屏:
- ctrl + l:清空终端内容
- clear:同样效果
- 软件安装
- yum:Linux命令行内的 "应用商店"
- 注意:
- yum 命令需要 root 权限或使用 sudo 提权
- yun 需要联网
- 语法:
chown [-R] [用户] [:] [用户组] 文件或文件夹
- -y:自动确认,无需收到确认安装或卸载过程
- install:安装
- remove:卸载
- search:搜索
- 注意:
- yum:Linux命令行内的 "应用商店"
- systemctl 命令:
- Linux 系统很多软件(内置或第三方)均支持使用 systemctl 命令:
- 启动、停止、开机自启
- 能够被 systemctl 管理的软件,
- 语法:
systemctl start | stop | status |enable | disable 服务名
- start:启动
- stop:关闭
- status:查看状态
- enable:开启开机自启
- disable:关闭开机自启
- 系统内置的服务:
- NetworkManager:主网络服务
- network:副网络服务
- firewalld:防火墙服务
- sshd:ssh服务(FinalShell 远程登录,Linux 使用的就是这个服务)
- 第三方软件安装后也可以 systemctl 进行控制
- yum install -y ntp:安装 ntp 软件
- 可以通过 ntpd 服务名,配合 systemctl 进行控制
- yum install -y httpd:安装 apache 服务软件
- 可以通过 httpd 服务名,配合 systemctl 进行控制
- yum install -y ntp:安装 ntp 软件
- 注意:部分软件安装后没有集成到 systemctl 中,我们可以手动添加
- Linux 系统很多软件(内置或第三方)均支持使用 systemctl 命令:
- 软连接:
- 在系统中创建软连接,可以将文件、文件夹连接到其它位置
- 类似 windows 系统中 "快捷键"
- In:创建软连接
ln -s 参数1 参数2
- -s:创建软链接
- 参数1:被链接的文件或文件夹
- 参数2:要链接去的目的地
- 例:
ln -s /home/centos/dir1 /dir1
- data:在命令行中查看系统的时间
- 语法:
date [-d] [+格式化字符串]
- -d:按照给定的字符串显示日期,一般用于日期计算
date -d "+1 day" +%Y-%m+%d date -d "-1 day" +%Y-%m+%d date -d "+1 mouth" +%Y-%m+%d date -d "-1 mouth +%Y-%m+%d date -d "+1 year" +%Y-%m+%d date -d "-1 year" +%Y-%m+%d
- 时间标记:
- year:年
- Month:月
- day:天
- hour:小时
- Minute:分钟
- second:秒
- -d 选项可和格式化字符配合一起使用
- -d:按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
- %Y:年
- %y:年份后两位数字(00 - 99)
- %m:月份(01 - 12)
- %d:日(01 - 31)
- %H:小时(00 - 23)
- %M:分钟(00 - 59)
- %S:秒(00 - 60)
- %s:自 1970-01-01 00:00:00 UTC 到现在的秒数
- 查看的日期不准确:
- 因为:系统默认时区非中国的东八区
- 切换到东八区:
1.删除时间信息 rm -f /etc/localtime 2.创建软链接。添加时间信息 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- ntp 程序:自动校准时间
1.安装ntp yum -y install ntp 2.设置开机自启 systemctl start ntpd systemctl enable ntpd 3.手动校准 ntpdate -u ntp.aliyun.com
- 语法:
- IP地址:
- 通过命令:ifconfig 查看本机的 ip 地址,如无法使用 ifconfig 命令,可以安装:
yum -y install net-tools
- 特殊 IP 地址:
- 127.0.0.1:代指本机
- 0.0.0.0:特殊IP地址
- 可以用于代指本机
- 可以在端口绑定中用来绑定关系
- 在一些 IP 地址限制中,表示所有 IP 的意思,如:放行规则设置为 0.0.0.0,表示允许任意 IP 访问
- 主机名:
- 查询:hostname
- 修改主机名:
hostnamectl set-hostname 主机名
- 查询:hostname
- 通过命令:ifconfig 查看本机的 ip 地址,如无法使用 ifconfig 命令,可以安装:
- 域名解析(主机名映射):
- 主机名映射:可以通过主机名找到对应计算机的 IP 地址
- 先通过系统本地的目录去寻找 IP 地址,如果没有再去公开的 DNS 服务器去查找
- 虚拟机配置固定 IP:
- DHCP:动态获取 IP 地址,即每次重启设备后都获取依次,可能导致 IP 频繁变更
- 为什么需要固定 IP:
- 原因1:如果 IP 地址经常变化,我们就要频繁修改适配
- 原因2:IP 频繁更改,需要频繁更新映射关系
- 在 VMware Workstation中配置固定 IP:
- 在 VMware Workstation(或 Fusion)中配置 IP 地址网关和网段(IP 地址的范围)
- 在 Linux 系统中手动修改配置文件,固定 IP
- 第一步:
- 第二步:
- 使用 vim 编辑 /etc/sysconfig/network-scripts/ifcfg-文件名
- 填写如下:
- 执行:
systemctl restart network
- 使用 vim 编辑 /etc/sysconfig/network-scripts/ifcfg-文件名
- 第一步:
- ping:检查指定的网络服务器是否可联通状态:
- 语法:
ping [-c num] ip或主机名
- -c:检查的次数
- 不使用 -c 将无限次持续检查
- 语法:
- wget:
- 非交互式的文件下载器,可以在命令行内下载网络文件
- 语法:
wget [-b] url
- -b:后台下载,会将日志写入到当前工作目录的 wget-log 文件
- url:下载链接
- curl:
- 发送 http 网络请求、
- 可用于:下载文件、获取信息等
- 语法:
curl [-O] url
- -O:用于下载文件,当 url 是下载链接时,可以使用此选项保存文件
- url:要发起请求的网络地址
- 端口:
- 是设备与外界通讯交流的出入口
- 计算程序之间的通讯,通过 IP 只能锁定计算机,但是无法锁定具体的程序
- 通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
- IP 相当于小区,端口相当于门牌号
- 端口可以分为:物理端口和虚拟端口
- 物理端口:又可称为接口,是可见的端口,如 USB接口,TJ45接口,HTMI接口等
- 虚拟接口:指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互的
- 虚拟端口分类:
- 可支持 65536 个端口,分为三类来使用
- 公认端口:1 ~ 1023
- 通常用于一些系统内置或知名程序的预留使用,如 SSH 服务的 22 端口,HTTPS 服务的 443端口。
- 非特殊需要,不要占用此范围的端口
- 注册端口:1024 ~ 49151
- 通常可以随意使用,用于松散的绑定一些程序或服务
- 动态端口:49152 ~ 65535
- 通常不会固定绑定的程序,而是当程序对外进行网络连接时,用于临时使用
- 是设备与外界通讯交流的出入口
- 查看端口占用情况:
- nmap:查看端口
- 安装 nmap:
yum -y install nmap
- 语法:
nmap 被查看的 IP 地址
- 安装 nmap:
- netstat:查看指定端口的占用情况
- 安装 netstat:
yum -y install net-tools
- 语法:
netstat -anp | grep 端口号
- 安装 netstat:
- nmap:查看端口
- 进程:
- 每个程序在运行的时候,会注册一个进程
- 每个进程都分配一个独有的进程 ID(进程号)
- ps:
- 查看 Linux 系统中的进程信息
- 语法:配个管道命令符使用
ps [-e -f]
- -e:显示出全部的进程
- -f:以完全格式化的形式展示信息(展示全部信息)
- 固定用法:ps -ef 列出全部进程的全部信息
- 进程信息:
- 从左到右分别是:
- UID:进程所属的用户 ID
- PID:进程的进程号 ID
- 进程的父 ID(启动此进程的其他进程)
- C:此进程的 CPU 占用率(百分比)
- STIME:进程的启动时间
- TTY:启动此进程的终端序号,如显示 ?:表示非终端启动
- TIME:进程占 CPU 的时间
- CMD:进程对应的名称或启动路径或启动命令
- kill:关闭进程
- 语法:
kill [-9] 进程ID
- -9:表示强制关闭进程
- 不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制
- 语法:
Linux服务器运维宝典(二)
于 2024-10-23 16:40:50 首次发布