LINUX 基础命令

4 阅读3分钟

1. 在哪、看啥、去哪

  • pwd 我在哪

  • ls 看文件

      • ls -l 详细信息(权限、大小、时间)
      • ls -a 显示隐藏文件
      • ls -lh 人性化显示文件大小(KB/MB)
  • ls -lh 人性化显示文件大小(KB/MB)

  • ls -lt 按时间排序,最新在前

  • ls -a 显示隐藏文件

  • ls -lh 人性化显示文件大小(KB/MB)

  • ls -lt 按时间排序,最新在前

  • grep

    • grep -i "ERROR" app.log (查找包含 ERROR 的行,忽略大小写)
    • -i:ignore case(忽略大小写),作用是匹配内容时不区分字母的大小写,比如搜索 error 时,会同时匹配 ErrorERROReRrOr 等所有大小写组合形式。
  • find

    • find / -name "*.log" 全盘找 .log 文件
  • cd 去目录

    • cd .. 回上一层
    • cd ~ 回家

2. 新建、删、复制、移动

  • touch 建文件
  • mkdir 建文件夹
    • mkdir:make directory,创建单个目录的基础命令;
    • -p:parents(父目录),作用是自动创建所有不存在的父目录,且如果目录已存在,不会报错(避免 "File exists" 错误)。
    • mkdir -p a/b/c 递归创建多级目录(必备参数)
  • rm 删除
  • cp 复制
    • cp:copy,默认只能复制文件,直接复制目录会报错;
    • -r:recursive(递归),作用是复制目录及其下所有的文件、子目录(包括多层嵌套),是复制目录的必加参数(也可以用 -R,和 -r 完全等价)
    • 递归复制 mydir 目录(包括里面的所有文件/子目录)到 /tmp 下
      • cp -r mydir /tmp
  • mv 移动 / 改名
    • mv a.txt b.txt 改名
    • mv a.txt dir/ 移动

3. 看文件内容

  • cat 看全文
  • less 分页看
      • 分页查看,适合大文件
    • 上下箭头翻页,q 退出
  • tail -f 追日志
    • tail -n 20 file #看后20行
      • -n = number(行数),指定要显示的行数(可省略 -n,直接写数字)。
    • tail -f file 实时刷新日志(高频使用)
    • head -n 20 app.log # 显示前20行(等价于 head -20 app.log)
    • tail -n 50 app.log # 显示最后50行(等价于 tail -50 app.log)

4. 权限 & 系统

  • chmod 改权限
  • sudo 管理员执行
  • ps 看进程
  • top 看系统状态
    • table of processes(进程表),是交互式、实时更新的系统监控命令,能动态查看:
    • 系统整体负载(CPU、内存、磁盘 IO);
    • 每个进程的资源占用(CPU%、内存 %、PID、运行用户等);
    • 进程的运行状态、优先级等。
    • 简单说:top 是 Linux 的 “任务管理器”,能实时看到 “谁在占 CPU / 内存”。
    • q 退出
  • kill 杀进程

5. 磁盘 & 网络

  • df -h 看硬盘
    • df:disk free(磁盘可用空间),基础功能是显示所有已挂载磁盘分区的使用信息;
    • -h:human-readable(人类可读),将字节(B)、千字节(KB)等转换成 GB/MB 等易读单位(不加 -h 会显示纯数字字节,很难直观判断)。
  • du -sh
    • du:disk usage(磁盘使用量),基础功能是统计文件 / 目录的磁盘占用;
    • -s:summarize(汇总),只显示总大小(不加 -s 会列出目录下每个文件 / 子目录的大小,输出刷屏);
    • -h:human-readable,同样转换成 GB/MB 等易读单位。
  • free -h 看内存
    • 查看内存使用
  • ip addr 看 IP
  • netstat 网络状态查看工具(看端口、连接、协议)
    • 参数解析(-tulnp 是黄金组合)
      • -t:只显示 TCP 连接;
      • -u:只显示 UDP 连接;
      • -l:只显示 “监听中” 的端口(服务启动后会监听端口,比如 nginx 监听 80);
      • -n:显示 IP / 端口数字(不解析域名 / 服务名,速度快);
      • -p:显示占用端口的进程 ID(PID)和进程名(需要 root 权限)。
    • netstat = network statistics(网络统计),用于查看:
    • 系统中所有网络连接(TCP/UDP);
    • 端口占用情况(哪个进程占用了 80/8080/3306 等端口);
    • 路由表、网卡统计等(少用)。
    • 简单说:netstat 是 Linux 的 “网络端口检测器”,排查 “端口被占、服务连不上” 必用。

6.