欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 基础知识《Linux命令》

基础知识《Linux命令》

2025/3/15 13:54:36 来源:https://blog.csdn.net/qq_46143339/article/details/146256986  浏览:    关键词:基础知识《Linux命令》

一、系统管理与监控

1. 资源监控

  • top / htop

    • 基础:实时查看 CPU、内存、进程状态。
    • 高级
      • 按内存排序:top 中按 M,按 CPU 排序按 P
      • 监控特定进程:top -p $(pgrep nginx)
  • ps

    • 基础:列出进程快照。
    • 高级
      • 显示进程树:ps aux --forest
      • 结合管道过滤:ps -ef | grep java

2. 服务管理

  • systemctl
    • 基础:启动/停止服务(start/stop)。
    • 高级
      • 查看服务日志:journalctl -u nginx.service
      • 设置开机启动:systemctl enable nginx

二、文件操作

1. 基础文件操作

  • 复制 (cp)

    cp file.txt /backup/          # 复制文件  
    cp -r dir1/ dir2/             # 递归复制目录  
    cp -a source/ dest/           # 保留所有属性(权限、时间戳)  
    
  • 移动/重命名 (mv)

    mv file.txt /new/path/        # 移动文件  
    mv old.txt new.txt            # 重命名  
    mv --backup=numbered src.txt dest.txt  # 覆盖前备份旧文件  
    
  • 删除 (rm)

    rm file.txt                   # 删除文件  
    rm -r dir/                    # 递归删除目录  
    rm -i *.tmp                   # 交互式确认删除  
    

2. 高级文件操作

  • dd

    • 磁盘备份:dd if=/dev/sda of=/backup/sda.img bs=4M
    • 创建测试文件:dd if=/dev/zero of=test.bin bs=1G count=1
  • grep

    • 递归搜索并排除目录:grep -rn --exclude-dir=logs "error" /path
    • 多关键词匹配:grep -E "error|warning" syslog
  • split

    • 分割文件:split -b 100M large.tar.gz part_
    • 合并文件:cat part_* > merged.tar.gz
  • shred(安全删除)

    shred -n 5 -z -u secret.txt   # 覆盖5次后彻底删除  
    
  • truncate(调整文件大小)

    truncate -s 0 app.log         # 清空日志文件(保留 inode)  
    

三、网络与安全

1. 网络工具

  • netstat / ss

    • 查看端口占用:netstat -tulnp | grep :80
    • 显示进程关联连接:ss -tp
  • iptables

    • 限制 SSH 访问:iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
    • 记录被拒流量:iptables -A INPUT -j LOG --log-prefix "DROPPED: "
  • ssh / scp

    • 端口转发:ssh -L 8080:localhost:80 user@remote
    • 密钥免密登录:ssh-keygen -t rsa + ssh-copy-id user@remote

四、权限与用户管理

  • chmod / chown

    • 递归修改权限:chmod -R 755 /var/www
    • 设置 SUID:chmod u+s /usr/bin/script(谨慎使用)。
  • sudo

    • 免密授权:在 /etc/sudoers 添加 username ALL=(ALL) NOPASSWD:ALL

五、自动化与脚本

  • cron

    • 定时任务:0 2 * * * /path/to/backup.sh(每天凌晨2点执行)。
  • awk / sed

    • 统计日志 IP 访问量:awk '{print $1}' access.log | sort | uniq -c | sort -nr
    • 批量替换文本:sed -i 's/old/new/g' *.conf

六、性能调优

  • vmstat / iostat

    • 监控系统 I/O:iostat -dx 1(每秒采样一次)。
  • dmesg

    • 过滤硬件错误:dmesg | grep -i error

七、扩展工具推荐

工具功能示例命令
htop增强版资源监控htop
ncdu可视化磁盘分析ncdu /path/to/dir
jqJSON 数据处理cat data.json
trash-cli安全删除(回收站)trash-put file.txt

八、安全操作与最佳实践

  1. 危险命令规避

    • 禁止执行rm -rf /rm -rf /*(会导致系统崩溃!)。
    • 替代方案:使用 trash-climv 临时移动文件。
  2. 数据备份与恢复

    • 备份工具rsync, tar, borgbackup
    • 误删恢复
      • 立即卸载磁盘:umount /dev/sdb1
      • 使用 testdiskextundelete 恢复文件。
  3. 脚本安全

    • 使用 set -e 使脚本在错误时终止:
      #!/bin/bash  
      set -e  # 任何命令失败则退出  
      

九、完整命令速查表

场景命令示例
查看进程树ps aux --forest
增量备份tar -g snapshot -czvf backup.tar.gz /data
安全删除目录shred -n 3 -zu -r dir/
批量重命名rename 's/.log/.bak/' *.log
端口转发ssh -L 8080:localhost:80 user@remote

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词