Linux基础
Linux 命令
目录结构
- /bin 可执行二进制文件
- /etc 系统配置文件
- /home 每个用户的主目录
- /usr 放置系统应用
- /usr/local 存放管理员安装软件目录
- /proc 虚拟文件目录
- 你甚至可以找到正在运行的各种进程
- /dev 设备文件目录
- /boot 系统引导使用的文件
- /lib 系统引导 系统启动时 用到的动态库文件
文件类型
Linux 存储管理
- Buddy 内存管理算法 ( 努力让内存分配与相邻内存合并快速进行
- 基于计算机处理二进制的优势具有极高的效率
- 算法主要是为了解决内存外碎片问题 ( 内存外碎片 -> 内存内碎片
- 核心
- 将申请内存大小向上取 2的幂
- 一片连续内存的 '伙伴(buddy)' 是相邻的另一片大小一样的连续内存
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 将无法识别
- FAT ( File Allocation Table
- 常见分区方式
- GPT
- MBR
分区是将一个物理盘分成若干个逻辑盘 每个逻辑盘中必须具有一种文件系统 分区就是将物理盘隔开,文件系统就是将隔开的盘格式成某种类型的文件存储格式
Ext 文件系统
- tips:
- Boot Sector 启动扇区 安装开机管理程序
- Block Gruop 块组 存储数据实际位置
- Inode 存放文件的原信息
表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的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 // 查看某个文件具体信息
各种言语默认安装包的搜索路径
以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