Linux入门的简单操作及步骤(续)

📅 2026/7/21 8:19:43
Linux入门的简单操作及步骤(续)
第七章命令解释器——Shell7.1 Shell 底层作用Shell 是用户与 Linux 内核的中间翻译层接收用户输入命令转交内核执行并返回结果。系统分层硬件→内核→系统调用→Shell/库函数→应用程序。命令两类划分内置命令集成 bash 内部无需读取外部文件执行更快 代表cd、echo、exit、history外置命令独立二进制文件存放在 PATH 路径下 代表ls、cat、tree、wget判断命令类型typetype -t cd # builtin 内置 type -t ls # alias 别名 type -t tree # file 外部命令 type -a ls # 列出所有匹配路径7.2 PATH 环境变量系统执行外部命令时按 PATH 内目录依次查找可执行文件。# 查看PATH echo $PATH # 临时追加路径重启失效 export PATH$PATH:/opt/app/bin7.3 命令别名 alias临时别名仅当前终端生效alias cclear alias untartar -zxvf alias pingping -c 5 # ping只发5包自动停止 unalias ping # 删除别名永久别名所有用户/当前用户# 当前用户~/.bashrc vim ~/.bashrc source ~/.bashrc # 立即生效 # 全局所有用户/etc/bashrc vim /etc/bashrc7.4 命令历史 historyhistory # 查看全部历史 history 10 # 最近10条 !16 # 执行第16条命令 !ls # 执行最近一条ls开头命令 # 配置历史记录条数 vim /etc/profile export HISTSIZE20007.5 用户登录查询命令w # 最全登录用户、负载、执行进程 who # 仅终端登录时间 users # 只打印用户名 last # 历史登录记录读取/var/log/wtmp lastlog # 所有账号最近一次登录7.6 Shell 特殊符号速记符号功能;一行执行多条命令*/?通配匹配任意/单个字符纯原样输出变量不解析解析$、反引号\转义特殊字符$()命令替换推荐替代反引号第八章用户和组管理8.1 用户分类UID 区分用户类型UID 范围特点root 超级用户0系统最高权限系统服务用户1~999无登录 shell运行服务普通用户≥1000日常登录操作组分类基本组私有组创建用户默认生成每个用户唯一主组附加组公有组一个用户可加入多个实现多人权限共享8.2 四大核心配置文件/etc/passwd所有用户基础信息7 段冒号分隔用户名:x:UID:GID:注释:家目录:登录Shell/etc/shadow加密密码文件仅 root 可读存放密码有效期/etc/group组信息记录组名、GID、成员列表/etc/gshadow组密码、组管理员配置8.3 用户管理全套实操创建用户 useradd# 基础创建 useradd test1 # 指定UID、家目录、禁止登录 useradd -u 2001 -M -s /sbin/nologin nginx # 指定主组、附加组 useradd zs -g dev -G ftp,web设置密码 passwdpasswd zs # 非交互式脚本批量创建 echo 123456 | passwd --stdin zs # 锁定/解锁账号 passwd -l zs passwd -u zs # 密码过期强制修改 passwd -e zs修改用户 usermodusermod -l newzs zs # 修改用户名 usermod -G docker zs # 添加附加组 usermod -s /bin/bash zs usermod -L zs # 锁定删除用户 userdeluserdel test1 # 保留家目录 userdel -r test1 # 删除用户家目录邮件切换用户 su / su -su zs # 仅切换用户环境不变 su - zs # 完整加载用户环境变量推荐 # root切普通用户无需密码反之需要8.4 组管理命令groupadd dev # 创建组 groupmod -n newdev dev # 重命名组 gpasswd -a zs dev # 用户加入组 gpasswd -d zs dev # 移出组 groupdel dev # 删除空组8.5 sudo 权限提权普通用户临时拥有 root 权限配置文件/etc/sudoersvisudo # 安全编辑语法校验 # 配置示例zs 所有主机所有权限 zs ALL(ALL) ALL # 限制仅允许systemctl管理nginx zs ALL(ALL) /usr/bin/systemctl restart nginx第九章Linux 文件系统权限9.1 基础 rwx 权限u/g/o三类对象u(所有者)、g(所属组)、o(其他人) 权限数值对应- r4 读w2 写x执行权限对文件作用对目录作用r读取内容列出目录文件名w修改内容创建/删除目录内文件需 x 配合x作为程序执行cd 进入目录chmod 修改权限# 字符方式 chmod ux script.sh chmod o-w test.txt # 数字方式最常用 chmod 644 file chmod 755 dir # 递归修改目录下所有文件 chmod -R 770 /projectchown 修改属主属组chown zs:dev test.txt chown -R zs /project9.2 三种特殊权限 SUID/SGID/Sticky Bit1. SUID仅二进制程序生效执行时临时获得文件所有者权限 示例/usr/bin/passwd权限-rwsr-xr-x普通用户可修改 shadow 密码chmod us /usr/bin/mytool2. SGID文件运行时继承文件所属组目录目录内新建文件自动继承目录组团队共享目录必备chmod gs /devteam3. Sticky Bit 粘滞位仅目录生效目录有 w 权限时用户只能删除自己创建的文件代表目录/tmpchmod ot /tmp9.3 ACL 精细化权限给指定独立用户/组分配单独权限适合多部门共享目录# 查看ACL getfacl /project # 设置zs拥有rx权限 setfacl -m u:zs:rx /project # 递归给目录下所有文件添加ACL setfacl -R -m g:dev:rwx /project # 删除单条ACL setfacl -x u:zs /project # 清空全部ACL setfacl -b /project # 设置默认ACL新建文件自动继承 setfacl -d -m g:dev:rwx /project9.4 umask 权限掩码控制新建文件/目录默认权限目录默认最大权限 0777文件 0666实际权限 最大权限 - umaskumask # 查看默认root 022普通002 umask 0077 # 临时修改 # 永久修改/etc/profile第十章管理 Linux 联网10.1 网络架构变化废弃传统/etc/sysconfig/network-scripts为默认配置路径新配置文件存放/etc/NetworkManager/system-connections/*.nmconnection全网统一管理工具nmcli命令行、nmtui字符图形网卡命名规则ens160、enp0s3en 以太网10.2 nmcli 全套实操查看设备与连接bash运行nmcli device status # 网卡硬件状态 nmcli connection show # 所有网络配置 nmcli c show ens160 # 单网卡详情启停网卡bash运行nmcli c up ens160 nmcli c down ens160配置静态 IP手动模式 manualbash运行nmcli connection modify ens160 \ ipv4.method manual \ ipv4.addresses 192.168.10.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 114.114.114.114 # 重载生效 nmcli c reload nmcli c up ens160 # 新增辅助 IP nmcli c mod ens160 ipv4.addresses 192.168.10.101/24删除网络连接bash运行nmcli connection delete ens161实战案例新虚拟机静态 IP 配置与验证以下是从零配置一台新虚拟机ens160静态 IP 的完整实战步骤步骤 1查看当前网络状态bash运行# 查看网卡设备状态 nmcli device status 查看现有连接配置 nmcli connection show 查看 ens160 当前配置 nmcli c show ens160步骤 2配置静态 IP192.168.1.100/24bash运行# 配置静态 IP、网关和 DNS nmcli connection modify ens160 \ ipv4.method manual \ ipv4.addresses 192.168.1.100/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 8.8.8.8 114.114.114.114 重载配置并激活连接 nmcli connection reload nmcli connection up ens160步骤 3验证网络配置bash运行# 查看 IP 地址配置 ip addr show ens160 查看路由表 ip route show 查看 DNS 配置 cat /etc/resolv.conf 验证配置详情 nmcli c show ens160 | grep -E ipv4.(addresses|gateway|dns)步骤 4测试网络连通性bash运行# 测试网关连通性 ping -c 4 192.168.1.1 测试 DNS 解析 nslookup www.baidu.com 测试外网连通性 ping -c 4 www.baidu.com 测试端口连通性可选 nc -zv www.baidu.com 80步骤 5持久化验证bash运行# 重启网络服务 systemctl restart NetworkManager 重启后验证配置是否生效 nmcli c show ens160 查看配置文件 cat /etc/NetworkManager/system-connections/ens160.nmconnection关键说明IP 地址规划192.168.1.100/24 表示 IP 地址为 192.168.1.100子网掩码为 255.255.255.0网关配置192.168.1.1 是常见的内网网关地址需根据实际网络环境调整DNS 设置同时配置了 Google DNS8.8.8.8和国内 DNS114.114.114.114配置文件位置配置会自动保存到/etc/NetworkManager/system-connections/ens160.nmconnection验证要点IP 地址、网关、DNS 三项配置必须全部正确才能正常上网10.3 网络测试工具bash运行ping -c 4 www.baidu.com # 发 4 包停止 ip a # 查看网卡 IP替代 ifconfig hostnamectl set-hostname server01 # 修改主机名 # 本地域名解析 /etc/hosts vim /etc/hosts 192.168.10.100 server01 # 文件下载 wget/curl wget -c https://xxx.rpm # -c 断点续传 curl www.baidu.com -o page.html10.4 VMware 三种网络模式简要NAT虚拟机共享主机 IP内外互通IP 自动分配桥接虚拟机与主机同网段局域网其他机器可访问仅主机 Host-Only仅虚拟机与主机互通无法访问外网第十一章软件包管理 进程管理11.1 三类软件安装方式1. 源码编译安装流程解压 →./configure检测依赖 →make编译 →make install优点可自定义编译参数缺点依赖需手动安装bash运行yum install gcc gcc-c # 编译依赖 tar zxvf httpd.tar.gz cd httpd ./configure --prefix/usr/local/httpd make make install2. RPM 本地包管理RPM 包命名软件-版本-发布.系统.arch.rpmbash运行rpm -ivh nginx.rpm # 安装 rpm -evh nginx # 卸载 rpm -qa | grep nginx # 查询是否安装 rpm -ql nginx # 查看安装文件路径 rpm -qf /usr/bin/nginx # 查询文件所属包3. DNF/YUM 在线包管理器yum 是 dnf 软链接自动解决依赖分 BaseOS、AppStream 两大仓库bash运行dnf install tree -y # 安装 dnf remove tree -y # 卸载 dnf update # 全部升级 dnf search httpd # 模糊搜索包 dnf provides /usr/bin/ls # 查询文件属于哪个包 dnf grouplist # 软件组 dnf makecache # 重建 yum 缓存本地光盘 YUM 源搭建bash运行mount /dev/cdrom /media # 编辑 repo 文件指向 /media BaseOS/AppStream vim /etc/yum.repos.d/dvd.repo11.2 进程管理概念区分程序磁盘静态二进制文件进程运行中的程序实例线程进程内最小执行单元。查看进程bash运行ps aux # 全量静态进程快照 ps axo pid,user,%cpu,cmd # 自定义输出字段 pstree # 进程树 pgrep sshd # 过滤进程 PID # top 动态监控重点考点 top -d 2 # 2 秒刷新一次 # 关键字段%CPU、%MEM、S 进程状态 # R 运行 S 睡眠 D 不可中断 Z 僵尸进程进程终止 kill/killallbash运行kill 1234 # 温和终止 PID kill -9 1234 # 强制杀死慎用 killall nginx # 按进程名批量杀第十二章磁盘管理12.1 硬盘基础结构磁盘硬件盘片、磁头、主轴电机逻辑单元磁道、扇区最小存储单元 512 字节、柱面。设备命名规则SATA 硬盘sda、sdbNVME 固态硬盘nvme0n1分区后缀sda1、nvme0n1p112.2 分区标准 MBR vs GPTMBR老标准最多 4 主分区单盘 ≤ 2TBGPTRHEL9 默认支持 128 分区、超大磁盘自带备份分区表磁盘操作命令bash运行lsblk # 查看磁盘、分区整体结构 gdisk /dev/sdb # GPT 分区工具 fdisk /dev/sdc # MBR 分区 # 分区后刷新内核识别分区 partprobe /dev/sdb12.3 格式化文件系统RHEL9 默认文件系统xfsbash运行mkfs.xfs /dev/sdb1 # 交换分区 swap 格式化 mkswap /dev/sdb2 swapon /dev/sdb2 # 启用 swap swapoff /dev/sdb2 # 关闭 swap12.4 临时 / 永久挂载临时挂载bash运行mkdir /data mount /dev/sdb1 /data umount /data # 卸载永久挂载 /etc/fstab字段格式设备 挂载点 文件系统 挂载选项 备份 自检示例/dev/sdb1 /data xfs defaults 0 0 # UUID 写法磁盘顺序变动不失效 UUIDxxxxxxx /data xfs defaults 0 0 # 生效 mount -a # 查看挂载信息 df -h blkid # 查看磁盘 UUID12.5 磁盘空间统计bash运行df -h du -sh /data # 47M /data du -h --max-depth1 /var # 16K /var/adm # 13M /var/cache # 4.0K /var/crash # 4.0K /var/games # 4.0K /var/gopher # 4.0K /var/kerberos # 16K /var/lib # 4.0K /var/local # 4.0K /var/lock - ../run/lock # 12K /var/log # 4.0K /var/mail - ../spool/mail # 4.0K /var/nis # 4.0K /var/opt # 4.0K /var/preserve # 4.0K /var/run - ../run # 4.0K /var/spool # 4.0K /var/tmp # 16K /var/www # 4.0K /var/yp # 13M /var