【shell】常用命令分类

Shell 常用命令非常丰富,涵盖了文件操作、目录管理、文本处理、进程管理等多个方面。以下是一些常用的 Shell 命令及其简要说明:

一、文件与目录操作

命令功能说明常用参数示例使用场景
ls列出目录内容-l(详细信息) -a(显示隐藏文件) -h(人性化大小)ls -lah /var/log
cd切换目录..(上级目录) -(返回上次目录)cd ~/projects
cp复制文件/目录-r(递归复制目录) -i(覆盖提示)cp -ri src/ dest/
mv移动/重命名文件-n(不覆盖已存在文件)mv old.txt new.txt
rm删除文件-r(递归删除) -f(强制删除)rm -rf tmp/
mkdir创建目录-p(创建多级目录)mkdir -p dir1/dir2
touch创建空文件/更新时间戳touch file{1..5}.txt
find文件搜索-name(按名称) -type(按类型) -exec(执行操作)find . -name "*.log" -mtime +7 -delete

二、文本处理

命令功能说明典型用法示例
grep文本搜索grep -rn "error" /var/log
sed流编辑器sed -i 's/old/new/g' file.txt
awk文本分析处理awk '{print $1,$3}' data.csv
cat查看/合并文件cat file1 file2 > merged.txt
head显示文件头部head -n 20 access.log
tail显示文件尾部tail -f app.log (实时追踪)
sort排序sort -nrk 3 data.txt (按第三列数值逆序)
uniq去重统计sort file.txt | uniq -c
wc统计计数wc -l access.log (统计行数)
cut提取列数据cut -d: -f1 /etc/passwd

三、系统管理

命令功能说明关键参数
ps查看进程-aux(所有用户进程) -ef(全格式列表)
top实时监控系统-p PID(监控指定进程)
free内存使用情况-h(易读格式)
df磁盘空间-hT(显示类型和易读单位)
du目录空间统计-sh *(汇总各目录大小)
uname系统信息-a(所有信息)
date时间操作+%Y-%m-%d(格式化输出)
shutdown关机/重启-h now(立即关机) -r +5(5分钟后重启)

四、网络相关

命令功能说明使用示例
ping网络连通性测试ping -c 4 google.com
netstat网络状态查看netstat -tulnp(查看监听端口)
curl网络请求工具curl -O http://example.com/file.zip
wget文件下载wget -c http://example.com/bigfile.iso(断点续传)
ssh远程连接ssh -p 2222 user@host
scp安全文件传输scp -r dir/ user@remote:/path/
ifconfig网络接口配置ifconfig eth0(查看网卡信息)
traceroute路由追踪traceroute example.com

五、压缩与归档

命令功能说明典型压缩命令
tar归档工具tar czvf archive.tar.gz dir/(创建压缩包)
gzip压缩文件gzip -9 file(最大压缩率)
gunzip解压文件gunzip file.gz
zip跨平台压缩zip -r archive.zip dir/
unzip解压zip文件unzip -l archive.zip(查看内容)

六、权限管理

命令功能说明数值权限示例
chmod修改权限chmod 755 script.sh (rwxr-xr-x)
chown修改所有者chown user:group file
umask默认权限设置umask 022(新建文件默认755)

七、用户管理

命令功能说明关键操作
useradd添加用户useradd -m -s /bin/bash user1
passwd修改密码passwd user1
su切换用户su - user1(-表示加载环境变量)
sudo提权执行sudo visudo(编辑sudo权限)

八、Shell编程基础

语法功能说明示例
变量name=value(无空格)count=10; echo $count
输入参数$0脚本名,$1第一个参数echo "参数1:$1"
条件判断if [ condition ]if [ -f file.txt ]; then ... fi
循环for/while结构for i in {1..5}; do echo $i; done
函数代码复用function log(){ echo "[$(date)] $1"; }
重定向输入输出控制command > output.log 2>&1(错误输出重定向)

九、实用技巧组合

  1. 批量重命名

    rename 's/\.jpeg$/\.jpg/' *.jpeg
  2. 统计文件类型数量

    find . -type f | awk -F . '{print $NF}' | sort | uniq -c
  3. 实时监控日志关键信息

    tail -f app.log | grep --color -E "ERROR|WARNING"
  4. 快速创建大文件测试

    dd if=/dev/zero of=testfile bs=1G count=2
  5. SSH密钥对免密登录

    ssh-keygen -t rsa && ssh-copy-id user@remote-host

十、注意事项

  1. 危险操作防护

    • 使用rm时避免rm -rf /(可使用alias rm='rm -i'增加提示)
    • 谨慎执行来自不可信来源的脚本
  2. 性能优化

    • 避免在循环中使用管道操作(尽量使用内置字符串处理)
    • 处理大文件时优先使用sed/awk代替cat全量读取
  3. 兼容性考虑

    • 不同Linux发行版的命令参数可能有差异(如ps的输出格式)
    • 脚本开头使用#!/bin/bash明确解释器

建议通过man command查看命令手册(如man grep)获取详细文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩瀚之水_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值