小合
小合
发布于 2025-07-03 / 43 阅读
0
0

shell高频命令对照速记

📂一、文件与目录操作

命令

用途

参数

示例

注意

ls

列出目录内容

-l(详情)-a(隐藏文件)

ls -la /home

别名 ll=ls -alF 更高效

cd

切换目录

-(返回上一目录)

cd ../logs

~ 代表用户家目录

pwd

显示当前路径

pwd

无参数

mkdir

创建目录

-p(递归创建)

mkdir -p project/{src,dist}

支持批量创建子目录

cp

复制文件/目录

-r(递归复制)-i(交互确认)

cp -ri dir1/ dir2/

目标目录结尾加 / 更安全

mv

移动/重命名

-v(显示过程)

mv old.txt new.txt

跨磁盘移动等于复制+删除

rm

删除文件/目录 🔥

-r(递归)-f(强制)

rm -rf tmp/*

慎用!数据无法恢复

find

高级文件搜索

-name -type -exec

find / -name "*.log" -mtime +30 -delete

删除30天前的日志

tar

归档

可结合压缩

-cvf(打包)-xvf(解包)-z(gzip)

tar -czvf backup.tar.gz dir/

解压:tar -xzvf file.tar.gz

🔍二、文本处理与查看

命令

用途

关键技巧

示例

场景

cat

显示文件内容

-n(显示行号)

cat -n server.conf

小文件查看

less

分页查看文件(可回翻)

/keyword(搜索)

less /var/log/syslog

more 更强大

grep

文本搜索 🚀

-r(递归)-i(忽略大小写)

grep -ri "error" /var/log

配合正则表达式更强大

head

显示文件头部

-n 10(前10行)

head -n 20 access.log

默认显示10行

tail

跟踪文件尾部

-f(实时追踪)

tail -f app.log

监控日志必备

sed

流编辑器(文本替换)

s/old/new/g

sed 's/foo/bar/g' file.txt

支持正则替换

awk

文本分析工具(列处理)

-F(指定分隔符)

awk -F: '{print $1}' /etc/passwd

提取第一列(用户名)

wc

统计行数/单词数

-l(行数)-w(单词)

wc -l error.log

快速统计日志行数

🖥️三、系统监控与性能

命令

用途

关键参数

示例

说明

top

动态进程监控(类任务管理器)

1(显示CPU核心)

top

P 按CPU排序

htop

增强版 top(需安装)

鼠标交互

htop

更直观,推荐安装

ps

进程快照

aux(详列所有进程)

ps aux \| grep nginx

查找特定进程

free

内存使用情况

-h(人类可读格式)

free -h

关注 available

df

磁盘空间占用

-hT(带文件系统类型)

df -hT /dev/sda1

避免分区写满

du

目录空间分析

-sh(汇总大小)

du -sh /var/*

定位大文件目录

iotop

磁盘I/O监控(需安装)

-o(只显示活跃I/O)

sudo iotop -o

找出磁盘瓶颈进程

nethogs

按进程网络流量监控

指定网卡 -i eth0

sudo nethogs eth0

诊断带宽占用

🌐四、网络管理

命令

用途

常用参数

示例

技巧

ping

测试网络连通性

-c 4(指定次数)

ping -c 4 google.com

Ctrl+C 中断

traceroute

跟踪数据包路径

traceroute github.com

诊断网络延迟节点

netstat

网络连接统计(旧版)

-tulnp(详列端口进程)

netstat -tulnp \| grep 80

逐步被 ss 取代

ss

现代网络连接工具 🚀

-tunlp

ss -tunlp \| grep ssh

比 netstat 更快

curl

网络数据传输

-I(仅头)-o(保存)

curl -I https://example.com

查看HTTP响应头

wget

文件下载

-c(断点续传)

wget -c https://example.com/bigfile.iso

后台下载:加 -b

ifconfig

网卡配置(旧)

up/down(启停网卡)

sudo ifconfig eth0 down

逐步被 ip 取代

ip

全能网络工具(推荐)

addr link route

ip addr show

显示所有IP地址


⚙️ 五、权限与用户管理

命令

用途

语法示例

说明

chmod

修改文件权限

chmod u+x script.sh

u=用户 g=组 o=其他 a=所有

chown

修改文件所有者

chown user:group file

递归:-R

useradd

添加用户

sudo useradd -m tom

-m 创建家目录

passwd

修改密码

sudo passwd root

普通用户改自己密码无需 sudo

sudo

以超级权限执行命令 🔥

sudo vi /etc/hosts

配置在 /etc/sudoers

su

切换用户

su - username

- 加载目标用户环境变量


📦 六、软件包管理(不同发行版)

系统

安装命令

卸载命令

更新命令

Debian/Ubuntu

sudo apt install nginx

sudo apt remove nginx

sudo apt update && sudo apt upgrade

CentOS/RHEL

sudo yum install httpd

sudo yum remove httpd

sudo yum update

Arch/Manjaro

sudo pacman -S firefox

sudo pacman -R firefox

sudo pacman -Syu

🧩 七、高级技巧组合

  1. 批量重命名

    rename 's/.JPG/.jpg/' *.JPG  # 将大写后缀改为小写
  2. 统计代码行数

    find src/ -name "*.py" -exec cat {} \; | wc -l
  3. 内存占用Top 5进程

    ps aux --sort=-%mem | head -n 6
  4. 实时监控TCP连接

    watch -n 1 "ss -tpan | grep ESTAB"
  5. 快速备份目录

    tar -cvzf backup_$(date +%Y%m%d).tar.gz /path/to/dir

⚠️ 八、危险命令避坑指南

rm -rf /          # 🔥 删除根目录!系统毁灭!
chmod -R 777 /    # 全盘权限开放,安全崩盘
dd if=/dev/random of=/dev/sda  # 擦除磁盘数据!
:(){ :|:& };:     # Fork炸弹,瞬间卡死系统

📌 黄金法则

  1. 执行 rm 前用 echo 测试路径:echo rm -rf /path/*

  2. 修改系统文件前备份:sudo cp /etc/fstab{,.bak}

  3. 生产环境用 --dry-run 参数模拟操作


💡 场景速查表

需求

命令组合

定位错误日志

grep -C 5 "error" /var/log/syslog

释放磁盘空间

sudo du -hx --max-depth=1 / \| sort -rh

杀死进程

kill -9 $(pidof process_name)

检查端口占用

sudo lsof -i :8080

定时任务

crontab -e 添加 0 3 * * * /path/backup.sh

开机自启服务

systemctl enable nginx



评论