linux 学习笔记
linux的哲学思想---->1.一切皆文件;
2.由众多功能单一的程序组成完成复杂任务;
3.尽量避免跟用户交互(易于编程方式实现自动化任务);
4.使用文本文件保存配置文件;
cup ---->X86/X64(amd64)/power/mips/alpha 等
ABI---->Appliction binary interface
API---->Appliction program interface
程序的组成---->1.二进制程序
2.配置文件
3.库文件
4.帮助文件
文件---->存储空间的一段流式数据(有边界的),一般只普通文件;
date---->显示的设定时间
date +%(F....T) 指定显示的时间格式;
date 月日时分年.秒 例:date 060709152018.30 ;
编程方式---->静态编译 所依赖到的库文件复制一分在程序中;
动态编译 所依赖的库文件运行时从公共库中调用;
进程类型----> 与终端相关 (通过终端启动)
与终端无关 (系统启动过程中自动启动的)
操作系统组成---->kernel + application (静态视角)
文件系统----->FHS Filesystem hierarchy standard
/bin 所有用户可用的基本命令程序;
/sbin 系统管理是使用的工具程序;
/boot 引导加载器必须用到的静态文件 ;(kernel,initramfs,grub等)
/dev 设备文件或存储特殊文件;
/etc 系统程序的配置文件;
/home 普通用户家目录的集中位置;
/lib 系统启动或根文件系统上的应用程序和共享库文件目录;
/lib64 64位系统特有的共享库文件目录;
/mnt 其它文件系统的临时挂载点;
/media 挂载点;
/opt 第三方应用程序挂载点;
/root 管理员的家目录(可选);
/srv 当前主机为服务提供的数据;
/tmp 临时文件目录 ;
/usr 全局共享的只读数据目录;
/usr/local/ 管理员安装主本地应用程序,通常用于安装第三方应用程序;
/var 经常变化的数据文件目录 ;
/proc 虚拟文件系统目录,它们多为内核参数;
/sys 虚拟文件系统,类/proc目录,比它设计更优越(管理接口等);
stat File_some---->显示文件及目录的状态;
文件---->元数据和数据
变量---->一段命名的内存空间;
bash的基本特性:globbing(文件我通配)
* ---->匹配任意长度的任意字符;
? ---->匹配任意单个字符;
[ ] ---->指定范围内取任意单个字符;
[[:upper:]] ---->大写
[[:lower:]] ---->小写
[[:alpha:]] ---->字母
[[:alnum:]] ---->字母或数字
[[;space:]] ---->空白字符
[[:punct:]] ---->标点字符
[^ ] ---->指定范围外的任意单个字符
程序 ---->指令+数据
程序的三种数据流:
输入的数据流
输出的数据流
错误输出流
I/O重定向
> 输出重定向 (覆盖) >> 输出重定向(追加)
2> 错误输出重定向(覆盖) 2>> 错误输出重定向( 追加)
&> 合并标准和错误重定向(覆盖) &>> 合并标准和错误重定向(追加)