程序运行模式:
用户空间:user space,us
内核模式:system space
Pos:可移植操作系统规划 portable operating system
API:编程接口:
运行程序格式:
Window:exe,dll(dynamic link library)
linux: ElF ,so(shared object)
程序:指令+数据
指令:只读
数据:读写
程序:算法+数据结构
库调用:系统调用:允许被调用的程序
malloc(),free()内存的申请和释放 ---------c语言的函数
安卓会卡的原因是使用java写的java程序的垃圾收集器不是很高效 有时会卡一下
Ios:基于c写的底层
编程语言:
汇编语言:微码编程
系统中某些与硬件相关的代码,驱动程序开发:
高级语言:c,c++:
系统级应用,驱动程序
高级应用java python php
应用程序
linux的发行版
slackware:
suse:
opensuse
debian:
Ubuntu
mint
redhat:
rhel:redhar enterprise linux
每18个月发行一个新版本
Centos:兼容rhel的格式
fedora:(桌面版)每6个月发行一个新版本
ArchLinux
Gentoo
LFS: linux from scratch(教你如何实现一个自己的linux)
Android :kernel+busybox+java虚拟机
GNU(开源协定):GPLv2 ,GPLv3,LGPL(lesser宽松)
A程序:有1000行代码 使用GPL
B程序 : 有20000行代码 , (使用A程序20行,就得把所有代码开源)
APache:apche
BSD:bsd
程序包管路器:
Rpm
Rhel.fedora,suse,centos
Dpt
Debian,ubuntu
Linux的哲学思想:
1,一切皆文件
把几乎所有的资源,包括硬件设备都组织成文件格式
2,由众多单一目的的小程序组成,:一个程序只实现一个功能,而且做好
组合小程序完成复杂任务
3,尽量不让用户交互
目标:实现脚本编程,以众多完成某些功能
4,使用纯文本文件保存配置信息
目标:一款使用文本编程器即能完成系统配置工作
终端:
用户与主机交互,必然用到的设备:
物理终端:直接接入本机的现实和键盘设备:console
虚拟终端:附加在物理终端之上的软件方式 虚拟实现的终端 cenos 6 默认启动6个 虚拟终端
如果使用过startx & 使用ctrl+alt+f7 切换图形终端
图形终端:附加在物理终端上 的以软件的形式虚拟现实的的终端,但额外会提供桌面环境
设备文件路径:/dev/pts/#[0,oo]
模拟终端:
图形界面打开的显示
Startx & 命令进入图形化界面
查看当前设备终端设备:tty命令
交互式接口:启动接口后,在终端设备附加一个交互式的应用程序
GUI:
X protocol,window manager,desktop
Desk:
GNOME(c,gtk库)
KDE(c++,qt库)
XFCE(轻量级桌面)
CIL:
shell程序:
Bash(bourn again shell),GPL协定
sh(bourn)
Csh(接近c语言环境)
tcsh:csh升级
Ksh (商业产品)
Zsh
查看shell命令
命令提示符:(prompt 英文:提示)
[root@localhost ~]#
管理员#
普通用户$
Linux中可执行的命令
内置命令:由shell自带,通过命令的形式提供
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件
which whereis
区别内部或者外部命令
Type COMMAND
获取帮助命令
内部命令:
Help command
外部命令:
Command -h
Command -help
Man
Info command
为什么‘ls’能够被执行是因为shell在$PATH(环境变量)的路径里面找ls可执行程序
Hash hits指的是使用的次数
一旦ls被从/bin/ls 移动到了/usr/bin/ls (虽然在$PATH)缓存hash会起副作用
需要用 hash -r 刷新缓存
history命令:
管理命令历史:
登录shell时,会读取命令历史文件中./bash_history
登录经shell后新执行的命令会只记录在缓存中, 这些命令会在用户退出的时候追加到命令历史记录中
History -a 追加本次会话新的命令记录
-d 删除指定命令
!25 调用命令历史中第25条命令
!ls 执行最近以ls开头的命令
!!上一个命令
Whatis 现实命令的章节
man文件的类别
Man1 用户命令
Man2 系统调用
Man3 c库调用
Man4 设备文件及特殊文件
Man5 配置文件格式
Man6 游戏
Man7 杂项
Man8 管理的命令
eg:man 2 read
man的配置文件
搜索xxpdf文档
www.slideshare.net 查找pdf 但不上不了
时间:
显示硬件时钟hwclock
日历cal
进入家目录
目录的切换
Stat 显示文件的详细信息
-R 递归
子目录也显示
Cat 一些用法
file显示文件类型
echo
单双引号
单 弱引用
双 强引用
-e 允许转换符
Which:
http://futurist.se/gldt/2012/10/29/gnulinux-distribution-timeline-12-10/
Linux 发展历史