Linux——使用相关笔记


内存查看

  • top 看到的内存会将 分配的 bufffer 等也算作已经使用
    • 注:遇到过 top 出 Bug 的情况,会让人感觉资源已经占满,实际上并没有,此时建议使用 free -h 看看
  • 使用 free -h 可看到更真实的内存
    • total:物理内存总量
    • used:已使用(不包含 buffers/cache)
    • free:完全未使用
    • buff/cache:缓存和缓冲区(可回收)
    • available:真正还能给应用用的内存(最重要),评估系统还能提供多少内存给新启动的应用程序使用
      • 它等于 free 加上 buff/cache 中可回收的部分
      • 判断系统是否缺内存,主要看这个指标,而不是看 free

数据分析

  • 输出某个文件的某一行(比如第二行):

    1
    sed -n '2p' filename
    • 2 是行号
    • p 是 print 的含义
  • 批量统计文件行数

    1
    wc -l *.jsonl
  • 批量统计文件行数并排序

    1
    wc -l *.jsonl | sort -nr
    • sort -nr:对结果按数字倒序排序
      -n:按数值排序(不是字符串)
      -r:倒序(从大到小)
  • 批量统计文件函数并删除最后的 total 行

    1
    wc -l *.jsonl | grep -v total | sort -nr
  • 抽取某个文件下所有文件的前 100 行(or 随机抽取):

    1
    2
    3
    4
    5
    # 抽取前 100 行
    head -q -n 100 xxx/*.jsonl > output.jsonl

    # 随机抽取
    shuf -n 100 /path/to/dir/*.jsonl > output.jsonl
    • 注:head在同时处理多个文件时,默认会输出类似下面的结果,-q(quiet)用来关闭这些文件名分隔符
      1
      2
      3
      4
      ==> file1.jsonl <==
      line1
      ==> file2.jsonl <==
      line1