Linux
开发接口标准:
ABI:Application Binary Interface
ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在兼容ABI的系统中无需改动就能运行
API:Application Programming Interface
API定义了源代码和库之间的接口,因此同样的源代码能在支持这个API的任何系统中编译
POSIX:Potable Operating System Interface(在操作系统上定义的API)
IEEE在操作系统上定义的一系列API标准
Posix兼容的程序可在其他POSIX操作系统编译执行
【Hardware Plateform:(硬件平台)
CPU平台:x86,arm,PowerPC,Power(IBM),UltraSpace,Alpha,...】
服务器三大操作系统:
Windows,Linux,Unix
Linux 是类Unix操作系统(Unix-Like):完整的Linux=Linux内核(kernel)+ GNU工具(应用程序)
GNU/Linux:
Kernel:内核;
GNU(GPL,LGPL开源协议):应用程序
其他开源协定:Apache(ASF),BSD,MIT,...
发行版:RedHat,Debian,SUSE
RedHat -> CentOS
Debian ->Ubuntu
SUSE ->OpenSUSE
ArchLinux
Mac OS X:
Linux哲学思想:
- 一切皆文件(包括硬件),99.9%
- 小型,单一用途的程序
- 链接程序,共同完成复杂的任务
- 避免令人困惑的用户界面
- 配置数据存储在文本中
Linux使用:
创建进程:用户基于外壳(Shell)向内核请求,由内核启动程序
shell:一个程序,用户与计算机交互的程序
内核:Kernel:https://www.kernel.org/
版本4.17.9:
4:major,主版本号
17: minor,次版本号
开发版本:第二位数是基数
稳定版本:第二位数是偶数
9:release,发行版本号
发行版的版本号与内核版本号不同步:
开源(Open Sourse)软件和代码提供给所有人
自由分发软件和源代码
能够修改和创建衍生品
开源协议:使用开源代码之前一定要查看其属于的开源协议
交互式接口:
启动终端后,在终端设备附加一个交互式应用程序
GUI:Graphical User Interface(图形界面接口):Gnome,KDE,Xfce
CLI:Command Line Interface(命令行接口):sh->bsh->csh->bash->zsh
什么是Shell:sh->bsh->csh->bash->zsh
shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
shell也被称为LINUX的命令解释器(command interpreter)
什么是程序:
程序:就是一个可执行的静态文件
进程:一个正在运行的程序
程序=指令+数据
程序=算法+数据结构
以算法为中心,数据结构服务于算法:过程式编程(EX;c)
以数据为中心,算法服务于数据结构:对象式编程(EX:Java)
终端terminal
1.设备终端:键盘鼠标显示器
2.物理终端:(/dev/console)控制台console
3.虚拟终端:(tty:teletypewriters,/dev/tty# #为【1-6】tty可有n个,Ctrl+Alt+F【1-6】
4.图形终端:(/dev/tty7)startx,xwindows;
CentOS6:Ctrl+Alt+F7
CentOS 7:在哪个终端启动,即位于哪个虚拟终端
5.串行终端:(/dev/ttyS#)ttyS
6.伪终端:(pty:pseudo-tty,/dev/pts/#)pty,SSH远程连接
查看当前的终端设备:# tty
Linux下两大树形结构:增删改查
1.文件系统树
/(根目录)
一切皆文件
程序文件:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
登陆进shell,每时每刻都位于某路径下(目录)
2.进程树
init
bash shell
GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是 Linux标准的shell,与sh兼容
CentOS默认使用
显示当前使用的shell: echo ${SHELL}
显示当前系统使用的所有shell:cat /etc/shells
Bash的使用技巧:
命令行展开:{ },~
>命令替换: $(command),' command'
>命令补全: $PATH
>路径补全:从指定的起始位置进行路径搜索
>命令历史: .bash_history
HISTCONTROL
— ignoredups
— ignorespace
—ignoreboth
命令帮助:
内部命令:1.help command
2.man bash
外部命令:1.command --help
2.commadn -h
2.使用手册(manual):man command
3.信息页:info command(查询相关文档)
4.程序自身的帮助文档:Readme,Install,Changelog
5.官当文档:Documentation
6.Google:
http://tldp.org
http://www.slideshare.net
http://www.google.com
原文地址:http://blog.51cto.com/13886191/2151885