• Linux基础


    Linux 命令

    目录结构

    enter description here

    • /bin 可执行二进制文件
    • /etc 系统配置文件
    • /home 每个用户的主目录
    • /usr 放置系统应用
      • /usr/local 存放管理员安装软件目录
    • /proc 虚拟文件目录
      • 你甚至可以找到正在运行的各种进程
    • /dev 设备文件目录
    • /boot 系统引导使用的文件
    • /lib 系统引导 系统启动时 用到的动态库文件
      enter description here

    推荐链接

    文件类型

    enter description here

    Linux 存储管理

    • Buddy 内存管理算法 ( 努力让内存分配与相邻内存合并快速进行
      • 基于计算机处理二进制的优势具有极高的效率
      • 算法主要是为了解决内存外碎片问题 ( 内存外碎片 -> 内存内碎片
      • 核心
        • 将申请内存大小向上取 2的幂
        • 一片连续内存的 '伙伴(buddy)' 是相邻的另一片大小一样的连续内存

    enter description here

    enter description here enter description here

    enter description here

    Linux 文件系统概览

    • 常见文件系统
      • FAT ( File Allocation Table
        • 微软Dos/Win 早期使用文件系统
        • 使用一张表保存盘块信息
      • NTFS ( New Technology File System
        • win7/win8/win10 ( win/linux 均可识别
      • EXT2/3/4 ( Extented File System
        • 用于 Linux ( 将一个 ext 格式的 U 盘插入 win win 将无法识别
    • 常见分区方式
      • GPT
      • MBR MBR GPT

    分区是将一个物理盘分成若干个逻辑盘 每个逻辑盘中必须具有一种文件系统 分区就是将物理盘隔开,文件系统就是将隔开的盘格式成某种类型的文件存储格式

    enter description here

    推荐链接1 推荐链接2

    Ext 文件系统

    enter description here

    • tips:
      • Boot Sector 启动扇区 安装开机管理程序
      • Block Gruop 块组 存储数据实际位置
      • Inode 存放文件的原信息

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here

    enter description here

    表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据

    常用命令

    netstat -nalp | grep 8080
    
    ps -ef | grep java // ps 显示当前进程状态
    ps -aux | grep java
    
    find /tmp/cg/testLinux -name "*.txt"
    
    df -T // 查看挂载磁盘信息
     dumpe2fs /dev/vda1 | less // 查看指定设备 inode 信息
     stat xxx // 查看某个文件具体信息
    

    enter description here

    enter description here

    enter description here

    img

    各种言语默认安装包的搜索路径


    以C++为例

    • #include “headfile.h”优先在当前目录查找头文件
      • 先搜索当前目录
      • 然后搜索-I指定的目录
      • 再搜索gcc的环境变量CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH)
      • 最后搜索gcc的内定目录
        • /usr/include
        • /usr/local/include
        • /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
    • #include < headfile.h >从系统默认路径查找头文件
      • 先搜索-I指定的目录
      • 然后搜索gcc的环境变量CPLUS_INCLUDE_PATH
      • 最后搜索gcc的内定目录
        • /usr/include
        • /usr/local/include
        • /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include

    推荐链接

    转载

  • 相关阅读:
    linux驱动摸索 --驱动框架初始化(结合韦东山视频教程)
    LWIP的移植笔记
    linux命令大全
    Linux中断(interrupt)子系统之一:中断系统基本原理
    Linux内核中的jiffies及其作用介绍及jiffies等相关函数详解
    Linux下PCI设备驱动程序开发 --- PCI驱动程序实现(三)
    VC++定义全局变量及extern用法
    [转]VS 2012环境下使用MFC进行OpenGL编程
    [转]在C++中容易出现的#error No Target Architecture
    实例详解:MFC坐标轴实现
  • 原文地址:https://www.cnblogs.com/AronJudge/p/14259252.html
Copyright © 2020-2023  润新知