Linux 文件基础
1. man 命令使用
man man //查看man 命令的用法
1 可执行程序或 shell 命令
2 系统调用(内核提供的函数)
3 库调用(程序库中的函数)
4 特殊文件(通常位于 /dev) 设备,例:麦克风
5 文件格式和规范,如 /etc/passwd
6 游戏
7 杂项(包括宏包和规范,如 man(7),groff(7))
8 系统管理命令(通常只针对 root用户)
9 内核例程 [非标准一个手册 页面 包含若干个小节。
小节名称通常包括 NAME, 概述(SYNOPSIS), 配置(CONFIGURATION), 描述(DESCRIPTION),
选项(OPTIONS), 退出状态(EXIT STATUS), 返回值(RETURN VALUE), 错误(ERRORS),
环境(ENVIRONMENT), 文件(FILES), 版本(VERSIONS), 符合标准(CONFORMING TO), 注(NOTES),
缺陷(BUGS), 示例(EXAMPLE), 作者(AUTHORS), 和 亦见(SEE ALSO).
二、文件基本概念
Linux 一切皆文件
cd /dev //设备文件存放位置
1.文件类型分类
bcd-lps //总共七种
b 块设备,例如:硬盘
c 字符设备文件 例如:鼠标键盘
d 目录文件
- 普通文件
l 软连接文件,类似windows 下的快捷方式
p 有名管道文件,实现进程间通信
s 套接字文件(实现本地通信)
3.重定向
//标准输出重定向
echo "hello world" 1>log.txt // 把输出到显示器的字符串输出到文件中,没有文件创造文件;先清除原有的,再写入
echo "hello world" >> log.txt //追加写入
//出错重定向
command 2>file // 将命令的结果(出错信息)存入文件
cat log.txt // cat 程序找log.txt 文件再输出
cat < log.txt //log.txt 把内容给cat ,文件到程序的过程
4.程序实现过程
4G内存,用户空间:0-3G ; 内核空间:3G- 4G;
#include<stdio.h>
main()
{
printf("hello world");//
}
strace ./a.out > log.txt //把执行文件的过程写到文件中
(1)应用层使用标准IO ,内核层使用文件IO
(2)POSIX 标准 可移植操作系统接口;
(3)C语言标准函数库存放位置 /usr/include
limits.h//
INT_MAX //int 型数据的最大值
bzero();//数据初始化和memset()类似
bzero(buf,sizeof(buf));
5.ctags 扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来。
vim -t +宏名/结构体名/类名/函数名 进入/usr/include/源码的tags标签中查找对应的数据