
Linux 零基础速查看完就能上手的基础命令合集13Linux 软件包管理源码安装 nginx源码安装nginx 下载软件包 [rootserver ~ 09:20:52]# wget http://192.168.50.200/class/course-materials/softwares/stage01/nginx-1.24.0.tar.gz --2026-07-29 09:37:58-- http://192.168.50.200/class/course-materials/softwares/stage01/nginx-1.24.0.tar.gz 正在连接 192.168.50.200:80... 已连接。 已发出 HTTP 请求正在等待回应... 200 OK 长度1112471 (1.1M) [application/octet-stream] 正在保存至: “nginx-1.24.0.tar.gz” 100%[] 1,112,471 --.-K/s 用时 0.03s 2026-07-29 09:37:58 (37.5 MB/s) - 已保存 “nginx-1.24.0.tar.gz” [1112471/1112471]) [rootserver ~ 09:37:58]# ls anaconda-ks.cfg passwd etc 公共 httpd-2.4.6-97.el7.centos.x86_64.rpm 模板 httpd-tools-2.4.6-97.el7.centos.x86_64.rpm 视频 initial-setup-ks.cfg 图片 lrzsz-0.12.20-36.el7.x86_64.rpm 文档 nginx-1.24.0.tar.gz 下载 openssh-server-7.4p1-23.el7_9.x86_64.cpio 音乐 openssh-server-7.4p1-23.el7_9.x86_64.rpm 桌面 解压缩 [rootserver ~ 09:38:00]# tar -xf nginx-1.24.0.tar.gz [rootserver ~ 09:38:37]# ls anaconda-ks.cfg passwd etc 公共 httpd-2.4.6-97.el7.centos.x86_64.rpm 模板 httpd-tools-2.4.6-97.el7.centos.x86_64.rpm 视频 initial-setup-ks.cfg 图片 lrzsz-0.12.20-36.el7.x86_64.rpm 文档 nginx-1.24.0 下载 nginx-1.24.0.tar.gz 音乐 openssh-server-7.4p1-23.el7_9.x86_64.cpio 桌面 openssh-server-7.4p1-23.el7_9.x86_64.rpm 安装依赖 [rootserver nginx-1.24.0 09:38:48]# yum install -y gcc [rootserver nginx-1.24.0 09:39:30]# yum install -y pcre-devel [rootserver nginx-1.24.0 09:39:48]# yum install -y zlib-devel 将所有的nginx相关文件存放在/usr/local/nginx cd 进nginx-1.24.0目录 [rootserver nginx-1.24.0 09:39:59]# ./configure --prefix/usr/local/nginx 编译安装 [rootserver nginx-1.24.0 09:40:28]# make [rootserver nginx-1.24.0 09:40:55]# make install 配置环境变量 [rootserver nginx-1.24.0 09:41:49]# PATH$PATH:/usr/local/nginx/sbin 关闭防火墙 [rootserver nginx-1.24.0 09:43:11]# systemctl disable firewalld.service --now Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. 在首页写入信息 [rootserver nginx-1.24.0 09:43:57]# echo gzk hhh /usr/local/nginx/html/index.html 验证 [rootserver nginx-1.24.0 09:46:41]# curl localhost gzk hhh 关闭服务 [rootserver html 11:04:30]# nginx -s quit [rootserver html 11:05:15]# ps -C nginx PID TTY TIME CMD自建仓库自建仓库流程准备软件包创建仓库索引信息发布仓库客户端配置验证准备软件包 [rootserver ~ 20:39:20]# mkdir rpms [rootserver ~ 20:40:25]# cd rpms/ [rootserver rpms 20:40:28]# ls 下载软件包以及依赖的软件包 [rootserver rpms 20:40:30]# yum install --downloadonly --downloaddir . vim open-vm-tools vsftpd lrzsz bash-completion nginx httpd mariadb-server 已加载插件fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 软件包 2:vim-enhanced-7.4.629-8.el7_9.x86_64 已安装并且是最新版本 软件包 lrzsz-0.12.20-36.el7.x86_64 已安装并且是最新版本 软件包 1:bash-completion-2.1-8.el7.noarch 已安装并且是最新版本 软件包 httpd-2.4.6-99.el7.centos.1.x86_64 已安装并且是最新版本 正在解决依赖关系 -- 正在检查事务 --- 软件包 mariadb-server.x86_64.1.5.5.68-1.el7 将被 安装 -- 正在处理依赖关系 mariadb(x86-64) 1:5.5.68-1.el7它被软件包 1:mariadb-server-5.5.68-1.el7.x86_64 需要 -- 正在处理依赖关系 perl-DBD-MySQL它被软件包 1:mariadb-server-5.5.68-1.el7.x86_64 需要 --- 软件包 nginx.x86_64.1.1.20.1-10.el7 将被 安装 -- 正在处理依赖关系 nginx-filesystem 1:1.20.1-10.el7它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要 -- 正在处理依赖关系 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要 -- 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_0)(64bit)它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要 -- 正在处理依赖关系 libssl.so.1.1(OPENSSL_1_1_1)(64bit)它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要 -- 正在处理依赖关系 nginx-filesystem它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要 -- 正在处理依赖关系 libcrypto.so.1.1()(64bit)它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要 -- 正在处理依赖关系 libssl.so.1.1()(64bit)它被软件包 1:nginx-1.20.1-10.el7.x86_64 需要 --- 软件包 open-vm-tools.x86_64.0.11.0.5-3.el7_9.3 将被 升级 -- 正在处理依赖关系 open-vm-tools(x86-64) 11.0.5-3.el7_9.3它被软件包 open-vm-tools-desktop-11.0.5-3.el7_9.3.x86_64 需要 --- 软件包 open-vm-tools.x86_64.0.11.0.5-3.el7_9.9 将被 更新 --- 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装 -- 正在检查事务 --- 软件包 mariadb.x86_64.1.5.5.68-1.el7 将被 安装 --- 软件包 nginx-filesystem.noarch.1.1.20.1-10.el7 将被 安装 --- 软件包 open-vm-tools-desktop.x86_64.0.11.0.5-3.el7_9.3 将被 升级 --- 软件包 open-vm-tools-desktop.x86_64.0.11.0.5-3.el7_9.9 将被 更新 --- 软件包 openssl11-libs.x86_64.1.1.1.1k-7.el7 将被 安装 --- 软件包 perl-DBD-MySQL.x86_64.0.4.023-6.el7 将被 安装 -- 解决依赖关系完成 依赖关系解决 Package 架构 版本 源 大小 正在安装: mariadb-server x86_64 1:5.5.68-1.el7 base 11 M nginx x86_64 1:1.20.1-10.el7 epel 588 k vsftpd x86_64 3.0.2-29.el7_9 updates 173 k 正在更新: open-vm-tools x86_64 11.0.5-3.el7_9.9 updates 680 k 为依赖而安装: mariadb x86_64 1:5.5.68-1.el7 base 8.8 M nginx-filesystem noarch 1:1.20.1-10.el7 epel 24 k openssl11-libs x86_64 1:1.1.1k-7.el7 epel 1.5 M perl-DBD-MySQL x86_64 4.023-6.el7 base 140 k 为依赖而更新: open-vm-tools-desktop x86_64 11.0.5-3.el7_9.9 updates 181 k 事务概要 安装 3 软件包 (4 依赖软件包) 升级 1 软件包 (1 依赖软件包) 总下载量23 M Background downloading packages, then exiting: (1/7): nginx-filesystem-1.20.1-10.el7.noarch.rpm | 24 kB 00:00:00 (2/7): nginx-1.20.1-10.el7.x86_64.rpm | 588 kB 00:00:00 (3/7): openssl11-libs-1.1.1k-7.el7.x86_64.rpm | 1.5 MB 00:00:00 (4/7): mariadb-5.5.68-1.el7.x86_64.rpm | 8.8 MB 00:00:04 (5/7): perl-DBD-MySQL-4.023-6.el7.x86_64.rpm | 140 kB 00:00:00 (6/7): vsftpd-3.0.2-29.el7_9.x86_64.rpm | 173 kB 00:00:00 (7/7): mariadb-server-5.5.68-1.el7.x86_64.rpm | 11 MB 00:00:05 --------------------------------------------------------------------------------------- 总计 4.3 MB/s | 22 MB 00:05 exiting because Download Only specified [rootserver rpms 20:40:45]# cd ~ 移动软件包到发布目录 [rootserver ~ 20:42:00]# mkdir /usr/local/nginx/html/tools [rootserver ~ 20:42:02]# mv rpms /usr/local/nginx/html/tools/Packages [rootserver ~ 20:42:10]# ls anaconda-ks.cfg nginx-1.24.0 passwd 模板 图片 下载 桌面 initial-setup-ks.cfg nginx-1.24.0.tar.gz 公共 视频 文档 音乐 [rootserver ~ 20:48:33]# ls /usr/local/nginx/html/tools/Packages mariadb-5.5.68-1.el7.x86_64.rpm mariadb-server-5.5.68-1.el7.x86_64.rpm nginx-1.20.1-10.el7.x86_64.rpm nginx-filesystem-1.20.1-10.el7.noarch.rpm openssl11-libs-1.1.1k-7.el7.x86_64.rpm open-vm-tools-11.0.5-3.el7_9.9.x86_64.rpm open-vm-tools-desktop-11.0.5-3.el7_9.9.x86_64.rpm perl-DBD-MySQL-4.023-6.el7.x86_64.rpm vsftpd-3.0.2-29.el7_9.x86_64.rpm 安装创建仓库软件包 [rootserver ~ 20:48:59]# yum install -y createrepo 已加载插件fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com 软件包 createrepo-0.9.9-28.el7.noarch 已安装并且是最新版本 无须任何处理 创建仓库索引信息 [rootserver ~ 20:49:17]# createrepo /usr/local/nginx/html/tools Spawning worker 0 with 5 pkgs Spawning worker 1 with 4 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [rootserver ~ 20:49:35]# ls /usr/local/nginx/html/tools Packages repodata 使用上一步源码安装的nginx服务器 [rootserver ~ 20:49:49]# vim /usr/local/nginx/conf/nginx.conf 看下图 [rootserver ~ 20:51:02]# systemctl reload nginx Failed to reload nginx.service: Unit not found. [rootserver ~ 20:51:20]# ps -C nginx PID TTY TIME CMD 5078 ? 00:00:00 nginx 5079 ? 00:00:00 nginx [rootserver ~ 20:53:01]# pkill -9 nginx [rootserver ~ 20:53:15]# ps -C nginx PID TTY TIME CMD [rootserver ~ 20:53:25]# nginx 客户端 [rootclient ~ 21:12:03]# cd /etc/yum.repos.d/ [rootclient yum.repos.d 21:12:20]# ls CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel.repo [rootclient yum.repos.d 21:12:22]# mkdir backup [rootclient yum.repos.d 21:12:32]# mv *repo backup [rootclient yum.repos.d 21:12:49]# ls backup [rootclient yum.repos.d 21:12:50]# vim tools.repo 如下图 清理缓存 [rootclient yum.repos.d 21:15:15]# yum clean all 已加载插件fastestmirror, langpacks 正在清理软件源 tools Cleaning up list of fastest mirrors Other repos take up 885 M of disk space (use --verbose for details) 创建缓存数据 [rootclient yum.repos.d 21:15:38]# yum makecache 已加载插件fastestmirror, langpacks Determining fastest mirrors tools | 2.9 kB 00:00:00 (1/3): tools/filelists_db | 7.0 kB 00:00:00 (2/3): tools/other_db | 8.8 kB 00:00:00 (3/3): tools/primary_db | 15 kB 00:00:00 元数据缓存已建立 查看 yum 仓库 [rootclient yum.repos.d 21:15:46]# yum repolist 已加载插件fastestmirror, langpacks Loading mirror speeds from cached hostfile 源标识 源名称 状态 tools centos7 tools from server.laoma.cloud 9 repolist: 9 查看有没有nginx软件包 [rootclient yum.repos.d 21:15:59]# yum list nginx 已加载插件fastestmirror, langpacks Loading mirror speeds from cached hostfile 可安装的软件包 nginx.x86_64 1:1.20.1-10.el7 toolsLinux 计划任务管理一次性计划任务5分钟后执行这个命令 [rootserver ~ 21:26:54]# at now 5minutes at echo hello world /var/log/test-at.log at EOT job 1 at Wed Jul 29 21:32:00 2026 查看待执行的命令 [rootserver ~ 21:29:35]# at -l 1 Wed Jul 29 21:32:00 2026 a root [rootserver ~ 21:29:45]# cat /var/log/test-at.log cat: /var/log/test-at.log: 没有那个文件或目录 [rootserver ~ 21:30:37]# cat /var/log/test-at.log hello world at -c 序号查看该序号具体要做什么 at -d 序号删除还没做的任务crontab 命令创建一个普通用户的周期性任务 [rootserver ~ 22:30:50]# crontab -u gzk -e no crontab for gzk - using an empty one crontab: installing new crontab [rootserver ~ 22:31:58]# ls /usr/local/bin/myscript.sh /usr/local/bin/myscript.sh [rootserver ~ 22:32:23]# cat /usr/local/bin/myscript.sh date /var/log/test-cron.log echo hello myscript /var/log/test-cron.log 赋予权限 [rootserver ~ 22:32:31]# chmod x /usr/local/bin/myscript.sh [rootserver ~ 22:32:52]# chmod aw /var/log/test-cron.log 查询 [rootserver ~ 22:33:01]# tail -f /var/log/test-cron.log 2026年 07月 29日 星期三 22:32:01 CST hello myscript 2026年 07月 29日 星期三 22:33:01 CST hello myscript [rootserver ~ 22:34:10]# 登出 您在 /var/spool/mail/gzk 中有新邮件 查询任务 [gzkserver ~ 22:34:16]$ crontab -l # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed * 21-23 10-31 7 1-5 /usr/local/bin/myscript.sh 删除任务 [gzkserver ~ 22:34:30]$ crontab -r 再次查看 [gzkserver ~ 22:34:44]$ crontab -l no crontab for gzkmailroot用户发邮件给普通用户 [rootserver ~ 22:41:16]# mail -s 请假1天 gzk /etc/hostname [rootserver ~ 22:42:06]# su -l gzk 上一次登录三 7月 29 21:59:18 CST 2026从 10.1.8.1pts/1 上 查看邮件 [gzkserver ~ 22:42:14]$ mail Heirloom Mail version 12.5 7/5/10. Type ? for help. /var/spool/mail/gzk: 9 messages 9 new N 1 (Cron Daemon) Wed Jul 29 22:17 26/960 Cron gzkserver /usr/local N 2 (Cron Daemon) Wed Jul 29 22:18 26/960 Cron gzkserver /usr/local N 3 (Cron Daemon) Wed Jul 29 22:19 26/960 Cron gzkserver /usr/local N 4 (Cron Daemon) Wed Jul 29 22:20 26/960 Cron gzkserver /usr/local N 5 (Cron Daemon) Wed Jul 29 22:21 26/960 Cron gzkserver /usr/local N 6 (Cron Daemon) Wed Jul 29 22:22 26/960 Cron gzkserver /usr/local N 7 (Cron Daemon) Wed Jul 29 22:23 26/960 Cron gzkserver /usr/local N 8 (Cron Daemon) Wed Jul 29 22:24 26/960 Cron gzkserver /usr/local N 9 root Wed Jul 29 22:42 18/601 请假1天 删除全部邮件 [gzkserver ~ 22:45:58]$ /var/spool/mail/gzkLinux 进程调度管理实时调度器系统中重要的进程由实时调度器调度获得CPU能力强。非实时调度器系统中大部分进程由非实时调度器调度获得CPU能力弱。实时调度器实时调度器支持的调度策略SCHED_RRroundrobin 轮询调度策略。相同优先级的进程轮流获取相同的CPU时间。SCHED_FIFO先入先出调度策略。被分配到的CPU时间的进程会一直运行直到被IO阻塞也称为sched_yield会被高优先级进程抢占。非实时调度器SCHED_NORMAL标准的轮询方式时间共享调度也称为SCHED_OTHER。SCHED_BATCH针对批量方式执行的进程策略。不像 SCHED_NORMAL 频繁竞争任务可以长时间运行。SCHED_IDLE用于执行非常低的优先级应用。使用 SCHED_IDLE 调度策略运行的进程比nice 19运行的进程优先级还低。非实时调度策略nice 值常规系统上运行的大多数进程都使用 SCHED_OTHER 调度策略。由于并非所有进程都同等重要因此可以为使用SCHED_OTHER调度策略运行的程序指定相对优先级称为nice值。有40种不同级别的nice值范围 -20最高优先级到 19最低优先级nice 值越高代表优先级越低获取CPU能力越弱。nice 值越低代表优先级越高获取CPU能力越强。注意当不存在CPU资源竞争时即使nice值高的进程也可以获得足够CPU资源。nice -n 指定nice的值 调整优先级 在top里面输入小写r再输入PID再输入调整的nice值。 普通用户只能升高进程nice值不能降低。实时调度策略chrt 命令用于获取和设置实时调度器进程优先级以及更改进程调度器。查看进程优先级范围chrt不能用于调整非实时进程nice值优先级。 [gzkserver ~ 23:47:42]$ chrt -m SCHED_OTHER min/max priority : 0/0 SCHED_FIFO min/max priority : 1/99 SCHED_RR min/max priority : 1/99 SCHED_BATCH min/max priority : 0/0 SCHED_IDLE min/max priority : 0/0 SCHED_DEADLINE min/max priority : 0/0 chrt -r 1 程序 实时指定他的值为1 以SCHED_RR调度器和优先级为5运行md5sum进程 [rootcentos7 ~]# chrt -r 5 md5sum /dev/zero 修改进程调度器为非实时 chrt -o --pid 0 PID 将实时的设置为默认回到非实时。