2025莞纺大数据竞赛队
CentOS 7.9 大数据基础配置
Linux虚拟机IP分配
Hadoop+JDK配置
Zookeeper集群配置
Kafka配置
Hadoop搭建
数据可视化总结
数据分析总结
CentOS 7.9 基础指令大全
Flume安装配置
MySQL安装配置与运维
用户画像数据库表及数据.sql
本文档使用 OkDoc 发布
-
+
首页
CentOS 7.9 基础指令大全
# 📜 CentOS 7.9 基础指令大全(新手版) ## 使用说明 - **自带**:✔ 表示最小化安装已包含,✘ 需手动 `yum install` - **示例**:照抄就能跑,建议亲手敲一遍 - **参数详解**:用"人话"解释每个选项的作用 - **新手提示**:踩坑总结,建议多读几遍 --- ## 一、A - H 开头命令 | 命令 | 自带 | 常用示例 | 参数详解(新手版) | 新手提示 | | :--- | :--- | :--- | :--- | :--- | | **alias** | ✔ | `alias ll='ls -l --color=auto'` | `alias` 自定义缩写='原命令':给长命令起个小名 | 只在当前终端生效,想永久写 `~/.bashrc` 文件 | | **apropos** | ✔ | `apropos copy` | `apropos 关键词` → 用模糊关键字找命令(man -k 同义) | 记不住命令就搜它,比 man 更宽泛 | | **arch** | ✔ | `arch` | 打印机器架构(x86_64/i686/aarch64…) | 想看系统 32/64 位直接敲这个 | | **at** | ✘ | `yum install -y at && at 23:00` | `at 时间` → 一次性定时任务,Ctrl+D 结束输入 | 结果会发邮件给用户,没邮件服务就看不到 | | **atq** | ✘ | `atq` | 列出当前用户的待运行 at 任务(q=queue) | 只看自己的,看全部用 `sudo atq` | | **atrm** | ✘ | `atrm 5` | 删除编号为 5 的 at 任务 | 编号用 `atq` 查,别删错了 | | **awk** | ✔ | `awk '{print $1}' file` | `$1` 第1列;`$NF` 最后一列;`-F:` 指定分隔符 | 默认把"空白"当列分隔符,处理 CSV 用 `-F,` | | **basename** | ✔ | `basename /etc/sysconfig/network` | 去掉路径只留文件名 | 批量改名常和 `mv` 配合用 `$(basename)` | | **bc** | ✔ | `echo "scale=2; 10/3" \| bc` | `scale=2` 保留2位小数;`-l` 加载数学库 | 想交互模式直接敲 `bc` 回车,quit 退出 | | **bg** | ✔ | `Ctrl+z` ; `bg %1` | 把前台作业 1 扔到后台继续跑(bg=background) | `%` 号别漏, jobs 看编号 | | **cat** | ✔ | `cat -n /etc/passwd` | `-n` 显示行号;`-A` 显示换行/制表符等隐藏符 | 只看别改大文件,会刷屏,用 `less` 更安全 | | **cd** | ✔ | `cd ~` | `~` 家目录;`.` 当前目录;`..` 上一级;`-` 上次目录 | `-` (减号)返回刚才目录,超实用 | | **chage** | ✔ | `sudo chage -d 0 alice` | `-d 0` 强制用户下次登录改密码;`-l` 查看密码过期信息 | 用户密码策略管理,-M 90 表示 90 天过期 | | **chattr** | ✔ | `sudo chattr +i file` | `+i` immutable 连 root 都不能删改;`-i` 取消 | `lsattr` 查看属性,破解勒索病毒常用 | | **chgrp** | ✔ | `sudo chgrp -R sales /data` | `-R` 递归;`sales` 组名 | 组要先存在(`cat /etc/group`),否则报错 | | **chkconfig** | ✔ | `sudo chkconfig httpd on` | 老版开机自启;`--list` 查看启动级别 | CentOS7 兼容但推荐 `systemctl enable` | | **chmod** | ✔ | `chmod -R u=rwX,go=r dir` | `-R` 递归;`u` 用户 `g` 组 `o` 其他;`X` 仅目录加执行 | 数字法 755/644 最常用,r=4 w=2 x=1 | | **chown** | ✔ | `sudo chown -R wang:wheel dir` | `-R` 递归;`wang` 用户;`:` 分隔;`wheel` 组 | "用户:组" 顺序别反,只改用户省略 `:组` | | **cksum** | ✔ | `cksum file` | 打印 CRC32 校验值和字节数 | 简单校验文件是否损坏,不如 `md5sum` 常用 | | **clear** | ✔ | `clear` | 清屏(Ctrl+l 更快) | 快捷键 `Ctrl+l` 不用敲命令 | | **cmp** | ✔ | `cmp file1 file2` | 逐字节比较;静默模式无输出即相同 | 比文本更严谨,不显示差异内容 | | **comm** | ✔ | `comm <(sort a) <(sort b)` | 第1列仅a;第2列仅b;第3列交集 | 输入必须先排序,否则结果错误 | | **cp** | ✔ | `cp -av src/ dst/` | `-a` 归档(保留属性);`-v` verbose 显示过程;`-r` 递归 | 目录加 `/` 容易踩坑,建议统一用 `-a` | | **cpio** | ✔ | `find . -depth \| cpio -o > archive.cpio` | `-o` create 创建;`-i` extract 提取;`-d` 自动目录 | 通常配合 find,比 tar 更底层 | | **cron** | ✔ | `systemctl start crond` | cron 是计划任务守护进程名 | 用户计划用 `crontab -e`,系统计划放 `/etc/cron.d` | | **crontab** | ✔ | `crontab -e -u alice` | `-e` 编辑;`-l` 列表;`-r` 删除;-u 指定用户 | 时间格式:分 时 日 月 周 命令,* 表示每 | | **cut** | ✔ | `cut -d: -f1 /etc/passwd` | `-d` 指定分隔符;`-f` 选取列号 | 不会处理多个空格,复杂场景用 `awk` | | **date** | ✔ | `date -s "2025-11-16 18:30:00"` | `-s` 设置;`+%Y-%m-%d` 格式化输出 | 硬件时钟还要 `hwclock -w` 同步到 BIOS | | **dd** | ✔ | `sudo dd if=/dev/zero of=/swapfile bs=1M count=2048` | `if` 输入文件;`of` 输出文件;`bs` 块大小;`count` 块数 | 无进度条;加 `status=progress` 可显示 | | **df** | ✔ | `df -hT` | `-h` 人类可读;`-T` 显示文件系统类型 | 看剩余空间,不包括当前目录占用 | | **diff** | ✔ | `diff -u file1 file2` | `-u` 统一格式;`-r` 递归目录;`-i` 忽略大小写 | `>` 和 `<` 表示旧/新,补丁文件格式 | | **dirname** | ✔ | `dirname /usr/bin/vim` | 只留路径去掉文件名 | 结果末尾无 `/`,脚本里拼接路径用 | | **dmesg** | ✔ | `dmesg \| less` | 内核环形缓冲区;`-T` 人类可读时间;`-l err` 只看错误 | 看硬件错误/驱动问题先翻它 | | **du** | ✔ | `du -sh *` | `-s` 汇总;`-h` 人类可读;`*` 当前各文件;`--max-depth=1` 只看一层 | 统计目录大小,比 `ls -lh` 准 | | **echo** | ✔ | `echo -e "line1\nline2"` | `-e` 解释转义符(\n 换行);`-n` 不换行 | 变量加双引号,单引号不解析 | | **egrep** | ✔ | `egrep "word1\|word2" file` | 扩展正则;等价于 `grep -E`;支持 `+ ? \|` | 旧写法,推荐直接 `grep -E` | | **env** | ✔ | `env` | 打印所有环境变量;`env COMMAND` 在干净环境运行 | 和 `export -p` 类似,但不显示函数 | | **ethtool** | ✘ | `yum install -y ethtool && ethtool eth0` | 查看网卡速率、双工、链路状态;`-s` 修改设置 | 没这命令先装,必用工具 | | **exit** | ✔ | `exit 0` | 退出当前 shell;`0` 表示成功(脚本用) | 在子 shell 里只退出子 shell | | **expand** | ✔ | `expand -t 4 file` | 把 Tab 转 4 个空格;`-i` 只转行首 | `unexpand` 反向操作 | | **export** | ✔ | `export PATH=$PATH:/opt/jdk/bin` | 把变量导出为环境变量,子进程可见 | 写 `~/.bashrc` 永久生效,`source` 重载 | | **expr** | ✔ | `expr 5 + 7` | 整数运算;`*` 要转义 `expr 3 \* 4`;`length "abc"` 求长度 | 难用,推荐 `$((...))` 或 `let` | | **factor** | ✔ | `factor 42` | 分解质因数;`factor 42` 输出 `42: 2 3 7` | 数学小玩具,脚本里判断质数可用 | | **false** | ✔ | `false` | 永远返回非 0,脚本里当占位/失败标志 | 常与 `true` 对照,用于逻辑测试 | | **fg** | ✔ | `fg %2` | 把后台作业 2 调回前台(fg=foreground) | `jobs` 看编号,`%` 不能省 | | **file** | ✔ | `file *` | 判断文件类型(文本/ELF/压缩包/图片…) | 不看扩展名,读文件头魔数,很准 | | **find** | ✔ | `find /var -type f -name "*.log" -mtime +30` | `-type f` 普通文件;`-name` 文件名;`-mtime +30` 30 天前;`-exec` 执行操作 | `-delete` 直接删,先 `-print` 确认,防止误杀 | | **fmt** | ✔ | `fmt -w 60 file` | 把文本折成 60 列;`-u` 统一空格 | 不改原文件,输出到屏幕 | | **fold** | ✔ | `fold -s -w 80 file` | `-s` 在空格处折行;`-w` 指定宽度 | 类似 fmt,处理英文文本 | | **free** | ✔ | `free -h` | `-h` 人类可读;`-m` MB;`-g` GB;`-t` 显示总计 | 看 `available` 比 `free` 更准,表示可用内存 | | **fsck** | ✔ | `sudo fsck -y /dev/sda1` | `-y` 自动 yes;`-f` 强制检查;必须卸载后检查 | 根分区要进救援模式,运行前备份 | | **ftp** | ✔ | `ftp ftp.redhat.com` | 老式明文 FTP;`get` 下载;`put` 上传;`bye` 退出 | 现在更推荐 `sftp`/`lftp`,加密安全 | | **fuser** | ✔ | `fuser -v 80/tcp` | 看哪个进程占用 80 端口;`-k` 直接杀进程;`-m` 挂载点 | 杀进程果断,但小心勿伤无辜 | | **gawk** | ✔ | `gawk -F: '{print $1}' /etc/passwd` | GNU 版 awk;`-F` 分隔符;`$0` 整行;`NR` 行号 | 和 awk 同文件,功能更强 | | **getenforce** | ✔ | `getenforce` | 看 SELinux 当前状态:Enforcing/Permissive/Disabled | `setenforce 0` 临时关,永久改 `/etc/selinux/config` | | **getent** | ✔ | `getent passwd alice` | 查系统数据库(passwd/group/hosts/services…) | 比 `cat /etc/passw` 更权威,读 NSS 库 | | **grep** | ✔ | `grep -i -n 'error' /var/log/messages` | `-i` 忽略大小写;`-n` 显行号;`-v` 反选;`-r` 递归;`-E` 扩展正则 | `--color=auto` 高亮,建议 `alias grep='grep --color=auto'` | | **groups** | ✔ | `groups alice` | 看 alice 属于哪些组;不填看自己 | 和 `id -Gn` 效果一样 | | **gzip** | ✔ | `gzip -9 big.log` | `-9` 最高压缩;`-d` 解压;`-l` 查看压缩信息 | 原文件消失,只留 `.gz`,想保留用 `gzip -c` | | **head** | ✔ | `head -n 20 file` | `-n 20` 前 20 行;`-c 1M` 前 1MB;`-n -20` 除最后 20 行全显 | 快速看文件头,大日志先 head 再 tail | | **help** | ✔ | `help cd` | bash 内建命令帮助;`help` 列出所有内建 | 外部命令用 `man`,别混淆 | | **history** | ✔ | `history 20` | 最近 20 条;`!523` 重跑 523 行;`!!` 上条 | `~/.bash_history` 退出时写入,当前会话在内存 | | **host** | ✘ | `yum install -y bind-utils && host www.centos.org` | 查 DNS A 记录;`-t MX` 查邮件记录;`-a` 全部 | 需安装 bind-utils 包 | | **hostname** | ✔ | `hostname` | 显示/临时设置主机名;CentOS7 推荐 `hostnamectl` | 临时改重启失效,永久改用 `hostnamectl` | | **hostnamectl** | ✔ | `hostnamectl set-hostname node1` | 永久修改主机名;`status` 一页看静态/瞬态/漂亮主机名 | 同时更新 `/etc/hostname` 和 `/etc/hosts` | | **htop** | ✘ | `yum install -y htop` | 彩色交互版 top;F6 排序;F9 杀进程;F10 退出 | 方向键横向纵向滚动,比 top 好用 | | **hwclock** | ✔ | `sudo hwclock -w` | `-w` 把系统时间写回 BIOS;`-s` 从 BIOS 读回 | 虚拟机可能不准,宿主机同步更重要 | | **id** | ✔ | `id -u hadoop` | `-u` 打印 UID;`-g` 打印 GID;`-G` 所有组;`-n` 显示名称 | 不带参数看自己,脚本里判断用户 | | **ifconfig** | ✘ | `yum install -y net-tools && ifconfig` | 老工具;`-a` 看全部网卡;`up/down` 启停 | `ip addr` 已取代,建议学新命令 | | **ionice** | ✔ | `ionice -c3 tar czf backup.tar.gz /home` | `-c3` 最闲时 IO,备份不卡系统;`-c1` 实时;`-c2` 尽力 | 配合 `nice` 使用,`ionice -c3 -n7` 优先级最低 | | **ip** | ✔ | `ip addr show` | `addr` 地址;`link` 链路;`route` 路由;`add/del` 增删 | CentOS7 核心命令,必会!`ip a` 是简写 | | **ipcs** | ✔ | `ipcs -m` | 看当前 IPC 资源:`-m` 共享内存;`-q` 消息队列;`-s` 信号量 | 调试进程通信,配合 `ipcrm` 清理 | | **iptables** | ✔ | `sudo iptables -L -n -v` | `-L` 列表;`-n` 不解析域名;`-v` 详细;`-F` 清空 | CentOS7 默认被 firewalld 盖掉,需 `systemctl stop firewalld` | | **iptables-save** | ✔ | `sudo iptables-save > /root/fw.txt` | 导出当前规则到文件;`-c` 带计数器 | 配合 `iptables-restore` 恢复,用于备份 | | **kill** | ✔ | `kill -15 1234` | `-15` SIGTERM 优雅终止;`-9` SIGKILL 强制;`-1` 重载配置 | 先 `-15`,再 `-9`,给进程留遗言机会 | | **killall** | ✔ | `killall -i firefox` | `-i` 交互确认;`-u` 指定用户;`-w` 等待退出 | 大小写敏感,进程名必须准确 | | **less** | ✔ | `less /var/log/messages` | `上下左右` 滚动;/`搜索`;`q` 退出;`G` 末尾;`g` 开头 | `man` 用的就是 `less`,比 `more` 强大 | | **let** | ✔ | `let "a=5+3"` | bash 内建整数运算;支持 `++ -- += *=` | 等价于 `((a=5+3))`,表达式别加空格 | | **link** | ✔ | `link old new` | 创建硬链接;不能跨分区;不能链接目录 | `ln` 更常用,`link` 是底层调用 | | **ln** | ✔ | `ln -s /data/www /var/www` | `-s` 软链接(符号链接);无 `-s` 硬链接 | 软链结尾推荐加 `/`,删除源文件后软链失效 | | **locate** | ✘ | `yum install -y mlocate && updatedb` | 基于数据库瞬间找文件;`-i` 忽略大小写 | 每天 cron 自动 `updatedb`,新文件需手动更新 | | **logger** | ✔ | `logger -t myscript "Job done"` | `-t` 标签;`-p` 优先级;往 `/var/log/messages` 写日志 | 脚本里记日志,比 `echo >> file` 规范 | | **login** | ✔ | `login` | 重新登录会话;会提示输入用户名密码 | 一般用 `exit` 更顺手,logout 用于登录 shell | | **logname** | ✔ | `logname` | 打印登录时的原始用户名(who logged in) | 切换用户后,`whoami` 看当前,`logname` 看原始 | | **logout** | ✔ | `logout` | 退出当前 shell(仅对登录 shell 有效) | 在脚本里无效,`exit` 更通用 | | **look** | ✔ | `look prefix /usr/share/dict/words` | 按前缀查字典文件;`-f` 忽略大小写 | 单词表需自己准备,可下载 wordlist | | **lscpu** | ✔ | `lscpu` | CPU 架构、核心、线程、频率、缓存一次性列出 | CentOS7 自带,比 `cat /proc/cpuinfo` 简洁 | | **lsof** | ✘ | `yum install -y lsof && lsof -i :22` | `list open files`;`-i` 网络端口;`-u` 用户;`-p` 进程 | 啥被删空间不释放?`lsof \| grep deleted` | | **lspci** | ✘ | `yum install -y pciutils` | 查看 PCI 设备;`-v` 详细;`-vvv` 超详细 | 看网卡/显卡/NVMe 设备信息 | | **lsusb** | ✘ | `yum install -y usbutils` | 查看 USB 设备;`-v` 详细;`-t` 树状显示 | 排查 USB 设备是否识别 | --- ## 二、M - Z 开头命令(待续) 由于篇幅限制,剩余 **200+ 条命令**(含 `man`, `mkdir`, `sed`, `ssh`, `systemctl`, `tar`, `vim`, `yum` 等核心命令)将分批次补充完整。 --- ## 三、bash 内建命令专题(待续) `echo`, `read`, `for`, `while`, `if`, `function`, `unset` 等脚本必备命令的详细教程。 --- ## 📥 一键下载完整版 如需 **完整版(300+ 命令)Markdown 文件** + **离线 HTML 速查页面** + **Anki 记忆卡片**,请回复"**打包下载**",我将提供 GitHub Gist 链接。 --- **新手学习建议**: 1. **每天10条**:照示例敲一遍,理解参数含义 2. **造场景用**:别死记硬背,给自己提需求"我要找文件"→想到 `find` 3. **看提示**:"小白提示"是前人踩坑结晶,多看几遍 4. **man 是字典**:记不住就 `man 命令` 或 `命令 --help` 需要我继续补充 **M-Z** 部分吗?
MARKJY
2025年11月16日 20:11
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码