Linux Shell 命令
AI 汇总,便于速查。
一、文件与目录操作
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
ls | 列出目录内容 | -l (详细列表), -a (显示隐藏文件), -h (易读大小), -t (按时间排序) | ls -lah /home |
cd | 切换目录 | ~ (用户主目录), - (返回上一个目录) | cd ~/Documents |
mkdir | 创建目录 | -p (递归创建), -v (显示详情) | mkdir -pv dir1/dir2 |
cp | 复制文件 | -r (递归复制), -i (交互确认), -u (仅更新) | cp -ri src/ dest/ |
mv | 移动/重命名 | -i (交互确认), -v (显示详情) | mv old.txt new.txt |
rm | 删除文件 | -r (递归删除), -f (强制删除), -i (交互确认) | rm -rf tmp/ |
find | 文件搜索 | -name (按名称), -type (按类型), -exec (执行命令) | find /var -name "*.log" -exec rm {} \; |
chmod | 修改权限 | u+x (用户添加执行), 755 (数字权限) | chmod u+x script.sh |
chown | 修改所有者 | user:group , -R (递归) | chown -R user:group dir/ |
二、文本处理
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
grep | 文本搜索 | -i (忽略大小写), -r (递归搜索), -v (反向匹配), -E (正则) | grep -ri "error" /var/log |
sed | 流编辑器 | s/old/new/ (替换), -i (原地修改), -n (抑制输出) | sed -i 's/foo/bar/g' file.txt |
awk | 文本分析 | -F (指定分隔符), {print $1} (打印列) | awk -F: '{print $1}' /etc/passwd |
sort | 排序 | -n (数值排序), -r (降序), -u (去重) | sort -nr data.txt |
uniq | 去重 | -c (计数), -d (仅重复行) | sort file.txt | uniq -c |
cut | 截取列 | -d: (分隔符), -f1,3 (选择列) | cut -d: -f1,3 /etc/passwd |
tr | 字符替换 | 'a-z' 'A-Z' (大小写转换), -d (删除字符) | tr 'a-z' 'A-Z' < input.txt |
wc | 计数 | -l (行数), -w (单词数), -c (字节数) | wc -l access.log |
三、系统信息与管理
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
top | 实时进程监控 | -d 5 (刷新间隔), -u user (用户过滤) | top -d 5 |
ps | 进程快照 | aux (BSD格式), -ef (标准格式), --forest (树状) | ps aux | grep nginx |
df | 磁盘空间 | -h (易读), -T (文件系统类型) | df -hT / |
du | 目录大小 | -sh (汇总大小), --max-depth=1 (目录深度) | du -sh * |
free | 内存使用 | -h (易读), -s 5 (持续刷新) | free -h |
uname | 系统信息 | -a (全部信息), -r (内核版本) | uname -a |
lsof | 打开文件 | -i:80 (端口), -u user (用户) | lsof -i:22 |
journalctl | 日志查看 | -u nginx (服务日志), --since today (时间范围) | journalctl -u nginx |
四、网络操作
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
ping | 网络连通性 | -c 4 (次数), -i 2 (间隔) | ping -c 4 google.com |
traceroute | 路由追踪 | -n (不解析域名), -m 30 (最大跳数) | traceroute -n 8.8.8.8 |
netstat | 网络状态 | -tunlp (TCP/UDP监听端口) | netstat -tunlp |
ss | 套接字统计 | -t (TCP), -u (UDP), -l (监听) | ss -tuln |
curl | 数据传输 | -I (仅头信息), -o file (输出), -x proxy:port (代理) | curl -I https://example.com |
wget | 文件下载 | -c (断点续传), -O filename (重命名) | wget -c https://example.com/file.zip |
ssh | 远程登录 | -p 2222 (端口), -i key.pem (密钥) | ssh user@host -p 2222 |
scp | 安全传输 | -r (递归), -P 2222 (端口) | scp -P 2222 file.txt user@host:/path |
五、压缩与归档
命令 | 格式 | 压缩 | 解压 |
---|---|---|---|
tar | .tar | tar -cvf archive.tar dir/ | tar -xvf archive.tar |
.tar.gz | tar -czvf archive.tar.gz dir/ | tar -xzvf archive.tar.gz | |
.tar.bz2 | tar -cjvf archive.tar.bz2 dir/ | tar -xjvf archive.tar.bz2 | |
zip | .zip | zip -r archive.zip dir/ | unzip archive.zip |
gzip | .gz | gzip file | gunzip file.gz |
7z | .7z | 7z a archive.7z dir/ | 7z x archive.7z |
六、权限与用户
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
sudo | 提权执行 | -u user (指定用户) | sudo -u www-data whoami |
su | 切换用户 | - (完整环境), -c "cmd" (执行命令) | su - user -c "ls ~" |
passwd | 修改密码 | -S (状态信息) | passwd username |
useradd | 添加用户 | -m (创建家目录), -G group (附加组) | useradd -m -G sudo newuser |
usermod | 修改用户 | -aG group (追加组), -L (锁定账户) | usermod -aG docker user |
groupadd | 添加组 | -g 1005 (指定GID) | groupadd -g 1005 devs |
七、计划任务
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
crontab | 定时任务 | -e (编辑), -l (列表), -r (删除) | crontab -e |
at | 单次定时 | -f file (执行文件), -m (邮件通知) | echo "cmd" | at 23:00 |
systemctl | 服务管理 | start/stop/restart , enable/disable | systemctl restart nginx |
八、性能监控
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
vmstat | 虚拟内存 | 2 5 (间隔2秒执行5次) | vmstat 1 10 |
iostat | I/O统计 | -dx 2 (设备详情+2秒刷新) | iostat -dx 2 |
sar | 系统活动 | -u (CPU), -r (内存), -b (I/O) | sar -u 1 3 |
dstat | 综合监控 | -c (CPU), -d (磁盘), -n (网络) | dstat -cdn |
九、环境与变量
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
export | 设置环境变量 | -p (列出所有) | export PATH=$PATH:/new/bin |
env | 查看环境变量 | -i (清空环境) | env | grep PATH |
source | 执行脚本 | source ~/.bashrc | |
alias | 命令别名 | alias ll='ls -alF' |
十、实用工具
命令 | 功能 | 关键参数 | 示例 |
---|---|---|---|
watch | 定期执行 | -n 2 (2秒间隔), -d (高亮变化) | watch -n 1 'date' |
tee | 双重输出 | -a (追加) | ls | tee files.txt |
xargs | 参数传递 | -I{} (占位符), -P 4 (并行) | find . -name "*.txt" | xargs rm |
time | 执行时间 | time ls -R / |
十一、Shell 内建命令
命令 | 功能 | 示例 |
---|---|---|
echo | 输出文本 | echo -e "Line1\nLine2" |
printf | 格式化输出 | printf "Name: %-10s Age: %d\n" "Alice" 25 |
test | 条件判断 | [ -f file.txt ] && echo "Exists" |
read | 读取输入 | read -p "Name: " name |
exec | 替换进程 | exec /bin/bash |
十二、快捷键与历史
快捷键 | 功能 | 说明 |
---|---|---|
Ctrl+R | 命令搜索 | 反向搜索历史命令 |
Ctrl+A | 行首 | 移动光标到行首 |
Ctrl+E | 行尾 | 移动光标到行尾 |
Ctrl+U | 删至行首 | 删除光标前所有内容 |
!! | 上条命令 | 重新执行上条命令 |
!$ | 上条参数 | 使用上条命令的最后一个参数 |
history | 历史记录 | history | grep ssh |