Linux常见命令汇总(2025最新版)

Linux常见命令汇总(2025最新版)


一、文件与目录操作

  1. ls:列出目录内容

    • ls -l:详细信息(权限、大小、时间)
    • ls -a:显示隐藏文件(以.开头)
    • ls -h:文件大小易读格式(如 KB/MB)
    ls -lah /home  # 列出/home目录下所有文件(含隐藏文件)的详细信息
    
  2. cd:切换目录

    • cd ~:返回用户家目录
    • cd ..:返回上级目录
    • cd -:返回上一次所在目录
  3. pwd:显示当前工作目录路径

  4. cp:复制文件/目录

    • cp -r:递归复制目录
    • cp -i:覆盖前提示确认
    cp -r /source/folder /dest/  # 复制文件夹及其内容
    
  5. mv:移动或重命名文件/目录

    mv old.txt new.txt       # 重命名文件
    mv file.txt /target/dir  # 移动文件
    
  6. rm:删除文件/目录

    • rm -r:递归删除目录
    • rm -f:强制删除(无确认)
    rm -rf /tmp/old_data  # 强制删除目录(谨慎使用!)
    
  7. mkdir / rmdir:创建/删除目录

    • mkdir -p:递归创建多级目录
    mkdir -p project/{src,doc,bin}  # 创建多级嵌套目录
    
  8. touch:创建空文件或更新文件时间戳

    touch newfile.txt
    
  9. cat / tac:正向/反向显示文件内容

    • cat -n:显示行号
    cat file1.txt file2.txt > combined.txt  # 合并文件
    
  10. head / tail:查看文件头部/尾部内容

    • tail -f:实时追踪文件更新(日志监控)
    tail -n 20 /var/log/syslog  # 显示最后20行
    
  11. find:搜索文件

    • find / -name "*.conf":按名称搜索
    • find . -size +10M:按大小搜索
    find /var/log -mtime +7 -exec rm {} \;  # 删除7天前的日志文件
    
  12. grep:文本搜索工具

    • grep -i:忽略大小写
    • grep -r:递归搜索目录
    grep -ri "error" /var/log  # 在日志中递归搜索“error”
    

二、文件权限与属性

  1. chmod:修改文件权限

    • 数字模式:chmod 755 script.sh
    • 符号模式:chmod u+x file(为用户添加执行权限)
  2. chown:修改文件所有者/组

    chown user:group file.txt
    
  3. umask:设置默认文件权限掩码

    umask 022  # 新建文件默认权限644,目录755
    

三、系统信息与管理

  1. top / htop:实时监控系统资源(CPU、内存、进程)

  2. ps:查看进程状态

    • ps aux:显示所有进程详细信息
    • ps -ef | grep nginx:查找特定进程
  3. kill / pkill:终止进程

    • kill -9 PID:强制终止进程
    • pkill firefox:按进程名终止
  4. df:查看磁盘空间

    • df -h:易读格式显示
    df -h /dev/sda1  # 查看指定分区使用情况
    
  5. du:查看目录/文件占用空间

    • du -sh *:统计当前目录各文件/目录大小
    du -sh /home  # 查看/home总大小
    
  6. free:查看内存使用

    • free -m:以MB为单位显示
  7. uname:显示系统信息

    • uname -a:显示全部信息(内核版本、主机名等)

四、网络相关

  1. ping:测试网络连通性

    ping -c 4 google.com  # 发送4个探测包
    
  2. curl / wget:下载文件或测试API

    curl -O http://example.com/file.zip  # 下载文件
    wget -c http://example.com/large.iso  # 断点续传
    
  3. ssh:远程登录

    ssh user@192.168.1.100 -p 2222  # 指定端口连接
    
  4. scp:安全复制文件(基于SSH)

    scp file.txt user@remote:/path/  # 上传文件到远程服务器
    
  5. netstat / ss:查看网络连接和端口

    • netstat -tulnp:显示监听中的TCP/UDP端口及对应进程
    • ss -s:统计socket使用情况(推荐替代netstat)
  6. ifconfig / ip:网络接口配置(ip更现代)

    ip addr show  # 显示所有网络接口信息
    

五、压缩与解压

  1. tar:打包/解包文件

    • tar -czvf archive.tar.gz dir/:创建gzip压缩包
    • tar -xzvf archive.tar.gz:解压gzip包
  2. gzip / gunzip:压缩/解压单个文件

    gzip file.txt      # 生成file.txt.gz
    gunzip file.txt.gz
    
  3. zip / unzip:处理ZIP格式

    zip -r backup.zip /data  # 递归压缩目录
    unzip backup.zip -d /tmp # 解压到指定目录
    

六、用户与权限

  1. sudo:以超级用户权限执行命令

    sudo apt update  # 需要管理员权限的操作
    
  2. useradd / userdel:添加/删除用户

    useradd -m -s /bin/bash alice  # 创建用户并生成家目录
    userdel -r bob                 # 删除用户及家目录
    
  3. passwd:修改用户密码

    passwd alice  # 修改用户密码
    

七、软件包管理

  1. APT(Debian/Ubuntu)

    • sudo apt update:更新软件源列表
    • sudo apt install nginx:安装软件包
    • sudo apt remove --purge package:彻底卸载
  2. YUM/DNF(RHEL/CentOS/Fedora)

    • sudo dnf install httpd
    • sudo yum remove mysql
  3. snap / flatpak:跨发行版软件包

    snap install chromium
    

八、快捷键与技巧

  1. Ctrl + C:终止当前命令

  2. Ctrl + Z:挂起当前进程(可用fg恢复)

  3. Ctrl + D:结束终端输入或退出会话

  4. history:查看命令历史记录

  5. alias:创建命令别名

    alias ll='ls -alF'  # 输入ll等效于ls -alF:
    

九、文本处理与编辑

  1. sed:流编辑器(批量替换/删除文本)

    sed 's/old/new/g' file.txt       # 替换所有old为new  
    sed -i.bak 's/error/ERROR/g' log.txt  # 直接修改文件并备份原文件
    
  2. awk:文本分析工具(按列处理数据)

    awk '{print $1,$3}' data.txt          # 打印第1列和第3列  
    awk -F':' '{print $1}' /etc/passwd    # 以冒号分隔,输出用户名
    
  3. cut:按列截取文本

    cut -d',' -f1,3 data.csv  # 提取逗号分隔文件的第1、3列
    
  4. sort / uniq:排序与去重

    sort file.txt | uniq -c     # 排序后统计重复次数  
    sort -nrk 3 data.txt       # 按第3列数值逆序排序
    
  5. diff / patch:比较文件差异与应用补丁

    diff file1.txt file2.txt > change.patch  # 生成差异文件  
    patch file1.txt < change.patch           # 应用补丁
    
  6. tr:字符替换或删除

    echo "HELLO" | tr 'A-Z' 'a-z'  # 转换为小写
    

十、系统监控与调试

  1. iostat / vmstat:监控磁盘I/O与内存/CPU

    iostat -x 2  # 每2秒显示详细磁盘I/O统计  
    vmstat 1     # 每秒刷新系统资源使用情况
    
  2. strace:追踪进程系统调用

    strace -p 1234         # 追踪PID为1234的进程  
    strace -e open ls      # 仅追踪ls命令的open系统调用
    
  3. lsof:列出打开的文件与进程关联

    lsof -i :80           # 查看占用80端口的进程  
    lsof /var/log/syslog  # 查看谁正在使用该文件
    
  4. dmesg:查看内核日志(硬件/驱动问题排查)

    dmesg | grep -i error  # 过滤错误信息
    
  5. journalctl:查看systemd日志(现代Linux发行版)

    journalctl -u nginx.service --since "2023-01-01"  # 按服务和时间过滤
    

十一、计划任务与后台管理

  1. crontab:定时任务管理

    crontab -e              # 编辑当前用户计划任务  
    * * * * * /path/script.sh  # 每分钟执行一次
    
  2. at:单次定时任务

    echo "shutdown -h now" | at 23:00  # 在23:00执行关机
    
  3. nohup / &:后台运行程序

    nohup ./long_task.sh > output.log &  # 脱离终端后台运行
    
  4. screen / tmux:终端多会话管理

    screen -S session_name  # 创建新会话  
    Ctrl+A D                # 脱离当前会话  
    screen -ls              # 列出所有会话
    

十二、磁盘与分区管理

  1. fdisk / parted:磁盘分区工具

    fdisk -l               # 列出所有磁盘分区  
    parted /dev/sda print  # 查看sda分区表
    
  2. mount / umount:挂载与卸载文件系统

    mount /dev/sdb1 /mnt/data  # 挂载分区到目录  
    umount -l /mnt/data        # 强制卸载(若设备忙)
    
  3. dd:磁盘数据复制(谨慎使用!)

    dd if=/dev/sda of=disk.img bs=4M  # 备份整个磁盘为镜像文件  
    dd if=/dev/zero of=/swapfile bs=1M count=2048  # 创建2GB交换文件
    
  4. fsck:文件系统检查与修复

    fsck -y /dev/sda1  # 自动修复文件系统错误
    
  5. lsblk:查看块设备树状结构

    lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT  # 显示详细信息
    

十三、高级网络工具

  1. tcpdump:网络抓包分析

    tcpdump -i eth0 port 80  # 捕获eth0网卡80端口流量  
    tcpdump -w capture.pcap  # 保存为pcap文件供Wireshark分析
    
  2. nmap:网络探测与端口扫描

    nmap -sV 192.168.1.1    # 扫描目标IP的开放端口及服务版本  
    nmap -p 1-1000 example.com
    
  3. iptables / nftables:防火墙规则配置

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # 允许SSH连接  
    iptables -L -v  # 列出当前规则
    
  4. dig / nslookup:DNS查询工具

    dig example.com MX           # 查询邮件服务器记录  
    nslookup 8.8.8.8             # 反向IP解析
    
  5. ssh-keygen:生成SSH密钥对

    ssh-keygen -t rsa -b 4096  # 生成4096位RSA密钥
    

十四、环境变量与Shell配置

  1. export:设置环境变量

    export PATH=$PATH:/usr/local/bin  # 临时添加路径  
    echo 'export EDITOR=vim' >> ~/.bashrc  # 永久生效需写入配置文件
    
  2. env:查看所有环境变量

    env | grep PATH  # 过滤特定变量
    
  3. source:加载配置文件

    source ~/.bashrc  # 或简写为 . ~/.bashrc
    

十五、开发与调试工具

  1. gcc / g++:C/C++编译器

    gcc -o program source.c -Wall  # 编译并显示所有警告
    
  2. gdb:程序调试工具

    gdb ./program  # 启动调试,使用break、run、backtrace等命令
    
  3. make:自动化构建工具

    make -j4       # 使用4个线程并行编译  
    make clean     # 执行清理操作
    
  4. git:版本控制(需额外安装)

    git clone https://github.com/user/repo.git  
    git status && git add . && git commit -m "update"
    

实用技巧扩展

  1. 组合命令

    # 统计当前目录下.py文件的行数总和  
    find . -name "*.py" | xargs wc -l  
    
    # 快速备份文件并压缩  
    tar -czvf backup_$(date +%Y%m%d).tar.gz /important_data  
    
  2. 历史命令重用

    • !!:重复上一条命令
    • !$:引用上一条命令的最后一个参数
    sudo !!       # 以sudo权限重复上条命令  
    mkdir project && cd !$  # 进入刚创建的目录
    
  3. 输入输出重定向

    command > output.txt 2>&1       # 标准输出和错误均重定向到文件  
    grep "error" log.txt | tee errors.log  # 同时输出到屏幕和文件
    

后续继续更新~~~

注意事项

  • 谨慎使用 rm -rfchmod 777 或直接操作 /dev 目录。
  • 修改系统关键配置前建议备份(如/etc下的文件)。
  • 使用 man 命令 查看命令手册(如 man ls)。
  • 使用 dd 命令时务必确认输入输出目标,误操作可能导致数据丢失。
  • 修改防火墙规则(如iptables)前建议先保存当前规则。
  • 调试生产环境时优先使用 strace -p PID 而非直接终止关键进程。
  • 可通过 info 命令 查看比man更详细的文档(如 info coreutils)。

如果需要更深入的学习,可通过 man 命令或 命令 --help 获取详细文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值