Linux 命令
吐槽:我受够了传统教程,因为我根本记不住。所以我要做自己的笔记。我想保护自己,因为我曾被传统教程选中,差点被埋没。
1️⃣ 文件与数据查看(观察与检查)
操作前先查看内容的命令:
ls -lh /home → 以易读格式列出 /home 下的文件及大小、权限、所有者
cat file.txt → 显示 file.txt 的全部内容
less log.txt → 交互式滚动浏览 log.txt
head -n 10 log.txt → 显示 log.txt 前 10 行
tail -n 50 log.txt → 显示 log.txt 后 50 行
file image.png → 识别文件类型(如:PNG 图像数据)
stat file.txt → 显示文件大小、时间戳、权限、所有者
2️⃣ 文件与数据操作(转换与执行)
修改、移动、复制或删除数据的命令:
cp file.txt backup.txt → 将 file.txt 复制为 backup.txt
mv old.txt new.txt → 重命名或将 old.txt 移动到 new.txt
rm temp.log → 删除 temp.log
mkdir project → 创建 project 目录
touch newfile.txt → 创建空文件
echo "hello" > file.txt → 将 "hello" 写入 file.txt
chmod 755 script.sh → 使 script.sh 可执行
chown user:group file.txt → 更改文件所有者
3️⃣ 数据处理与管道(过滤、转换、聚合)
在 Linux 中,我们实际处理的是二维数据,就像矩形表格:每行是一条记录,每列是一个属性。
🔍 快速定位相关数据:使用 grep(全局正则表达式打印)匹配关键词,或通过 awk(Aho, Weinberger, Kernighan)选择特定行或列。
⚡ 批量处理与聚合:使用 awk 或 sed(流编辑器)对选定行或列进行计算、统计、求和或批量替换值。
📊 整理与排序:使用 sort 对列排序,uniq(去重)清除重复项,保持数据整洁可用。
处理数据流的命令:
grep "error" log.txt → 查找包含 "error" 的行
awk '{print 3}' file.txt → 打印第 1 和第 3 列
awk '{sum+=$3} END{print sum}' file.txt → 对第 3 列求和
sed 's/foo/bar/g' file.txt → 将 "foo" 替换为 "bar"
sort -k2 file.txt → 按第 2 列排序
sort file.txt | uniq → 去除重复行
cut -d',' -f1,3 data.csv → 提取 CSV 文件的第 1 和第 3 列
wc -l file.txt → 统计文件行数
cat log.txt | grep error | wc -l → 统计包含 "error" 的行数
4️⃣ 系统与进程控制(检查与管理系统状态)
查看和影响系统的命令:
top → 显示运行中的进程及 CPU/内存使用情况
kill 1234 → 终止 PID 为 1234 的进程
df -h → 显示各文件系统的磁盘使用情况
du -sh * → 显示每个文件/文件夹的大小
free -h → 显示 RAM 和交换分区使用情况
uptime → 显示系统负载和运行时间
who → 列出已登录用户
ssh user@host → 连接远程服务器
✅ 学习流程建议:
先观察 → ls, cat, less
再操作 → cp, mv, rm
处理数据 → grep, awk, sort, uniq
管理系统 → top, kill, df, free