1.计算机组成:
根据冯诺依曼的计算机结构分为四大块:控制器,运算器, 存储器,输入输出设备
控制器:对其他的组件进行控制
运算器:用于处理计算工作,不控制输入和输出
储存器:用于暂时或长期存储数据
输入输出:与外界进行交互
个人延伸:
我的理解这是一个在计算机研发之前的一个理论假象,
相对现在真实的计算机体系,这个分类会比较模糊。
运算器:cpu和gpu的一部分(运算核心),
模糊点是部分寄存器,有些人认为它属于储存器元件(因为它存储数据),
有一些人认为它属于运算器(因为直接参与运算)
控制器:cpu的一部分(控制核心),主板(总线,接口)
模糊点依然是寄存器(CS:IP)
储存器:内存和硬盘,以及部分寄存器
输入输出:
输入主要是用于人将数据输入计算机体系的设备例如:键盘,摄像头,话筒等
输出主要是计算机体系对外展现信息的设备例如:显示器,打印机,音响等
冯诺伊曼体系,是一个理论体系,用于实践和显得和狭隘。
比如在输入输出系统和存储系统其实都可以归纳为数据流终端,
一些寄存器理论上可以归纳为计算机和控制器,也可以归纳为存储器。
所以建议作为概念帮助理解,不必过于深究。
2 linux 罗列发行版
linux 是由可以理解为开源组件的拼出来的一个系统,
由于开源软件有公开可修改性,每个人都可以对开源软件进行变动,形成自己的版本。
对linux整个系统也是如此, 但是由于好的系统版本会吸引追随者,并逐渐形成了生态圈,
这个我们一般所指的发行版本就是这些形成生态圈的版本。
整体来说根据我的理解发行版之间的共同性大于不同性。
罗列:
debian家族:
debian 在国外被很长一段时间具有绝对主导地位的版本,
主要被黑客和自由开发人员所贡献,包管理器概念的首创者(apt),
在linux家族中以稳定安全而著称,由于黑客大多有洁癖,组件版本滞后往往是主要问题
debian自己其实有三个版本:stable,testing,unstable服务器还是推荐stable
ubuntu linux体系中用户体验最傻瓜化的一种(绝不是说它不强),
数量为linux中最多,其中桌面用户数更是有绝对优势
在桌面系统市场占有率上,唯一勉强可以叫板windows和macOS的linux系统。
被开源社区和Canonical公司为主要贡献,各种大型企业也有支持。
在设计理念上,不同于debian的洁癖保守,ubuntu的开发非常激进,现触角已经延伸到手机和平板市场。
不稳定性和不安全性是主要问题诟病, 我在google的朋友说google内部使用的是一种ubuntu的仿制版,
就是一个自己按照ubuntu的思路开发出来的更稳定的版本,。
可见ubuntu影响多大
等等版本不多说了,提一下著名的游戏linux系统steamOS,就是得便家族的一员
redhat家族:
redhat公司支持的linux系列 其中以RHEL Red Hat Enterprise Linux最重要, 在linux服务器市场上有很高的地位,
在国内就是这个领域的老大了。
一个非常受青睐的企业级服务器系统版本,非常安全稳定和强大,由于企业的强力支持对新组件的支持略快于得debian
缺点是要收钱,
centOS,RHEL的社区复刻版,一种奇特的存在,理论上和RHEL完全平行,可以说是钻了一个法律上的空子。
纯社区支持,所以有RHEL的优点,但是不用收费,缺点是理论上要比RHEL更新慢一拍
fedora,一个redhat的分支,强调快速的版本迭代和抛弃,其实个人不喜欢
其他版本不多说了
slackware家族下的suse家族
据说是欧洲那边流行linux家族,本来想设计成如比windows更美观,比UNIX更优质的操作系统,
曾一度被欧洲人民给予厚望,然而在美观性上被Ubuntu打败之后逐渐变成了一支小众。(至少我是这么理解)
其中纯开源支持版,openSUSE依然有一堆死忠粉
archlinux和Gentoo
archlinux
我在墨尔本见过的大牛们都在用它,我也尝试着用过一段时间,就是因为挫败感太强才来报名了马哥linux,
用于pacman包管理机制,与其说是版本不如说更像一种哲学,不用受版本限制自由抓取想要的组件,称为滚动迭代,
组成自己想要的系统。最大的优点是组件新,缺点是不稳定,而且用户需要相当大的实力才能驾驭。
Gentoo
被我认识大牛们认为是一座高峰的linux版本,据说每个组件都要自己编译安装,由于过于高端不敢多议论,
优点是给用户极大的空间去优化定制系统,缺点是只用超高端用户才能驾驭。
LFS: linux from scratch
你当然可以自己编组一个自己的linux系统
linux哲学思想:
由于linux最初是由全球的开发人员通过网络协作开发出来的一个供他们自己使用的通用操作系统,
所以有意无意形成如下思路
1、一切皆文件,其实是中心化设计的一种体现,利用文件这一抽象的中心概念,
提供接口标准,屏蔽各方细节。
2、单一目的的小程序,组合这些小程序完成复杂任务。这样开发者只用关注自己的维护小程序,
减少远程沟通的时间成本,提高协作效率。
3、文本文件保存配置信息。 以一种清晰通用的方式完成配置,大家的容易接受。
4、尽量避免捕获用户接口,避免用户交互。 提高相对程序员的使用效率,同时还可以节约开发成本。
3 命令阐述:
这题真不知道该怎么写,要真写的细,要写死,真的用的时候,主要靠现场查,简述一下意思意思吧
ifconfig 用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring
用法为 ifconfig [options] [device] [actions]
eg ifconfig 不带参数会显示所以网络接口的信息
ifconfig eth0 只显示网卡0的接口信息
ifconfig eth0 down/up 启动/关闭网卡0
echo 打印操作 echo -[ne] string 过于简单不细说了
echo “hello world” 在屏幕上打印hello world
tty 用于显示当前连接终端的设备文件名称 tty [options],无需例子
startx 启动图形化界面程序Xserver ,无需例子
export 将本地变量导入环境
export aa 将变量aa导入环境变成环境变量
pwd 显示当前路径,无需例子
history 显示命令历史,说起来简单但有很多很多坑,
关于安全性和历史数,关键环境变量HISTSIZE,HISTFILESIZE,HISTCONTROL
eg history 显示历史
history -w 内存历史写入历史文件
history -c 清空历史
shutdown [options] [value] 关机命令
eg shutdown now 立刻关机
shutdown -r 重启
poweroff [options] 另一个关机命令
eg poweroff -f 强制关机
poweroff –reboot 重启
reboot 重启 不多说和poweroff实际上是一家
hwclock [options] 显示和修改硬件时钟
eg hwclock –debug 显示hwclock 执行的详细信息
date [options] format 显示和修改系统时间
eg date –utc 以UTC格式显示当前时间
date -s 01:01:01 设置具体时间,不会对日期做更改
4 man命令获取信息
man COMMAND 即可
但是由于man命令分有章节
1.用户命令 /usr/share/main1
2,系统调用 /usr/share/main2
3, c库调用 。。/usr/share/main3
4 设备文件&特殊命令 /usr/share/main4
5 文件格式 /usr/share/main5
6 游戏使用 /usr/share/main6
7 杂项 /usr/share/main7
8 管理工具及守护进行 /usr/share/main8
一些命令可能在多个章节都有文档
可用 man # command 查询命令在某个特定章节中的文档
5 FHS通用规范 这个也太多了只能简单写写意思意思
/bin binary 对系统重要的默认为系统自带必备的可执行程序
/sbin system admin binary 对系统重要的默认为系统自带必备的仅管理员可用的可执行程序
/boot bootloader的位置,中文不知道咋说启动器所在位置
/dev 设备文件所在位置
eg 字符设备(线性,时序), 块设备(随机访问)
/etc 主机特有的配置文件储存目录
opt,x11, xml..
/home 默认为一般用户家目录们的所在地
/lib 库文件所在地
lib.so.* 动态链接c库
ld 运行时加载器
module 目录 装在内核模块的目录
/lib64 同lib但都是64位库
/media 便携式物件挂载目录 例如:cdrom, floppy
/mnt 其他非关键文件系统临时挂载点
/opt 非重要的应用所在地
/root 系统管理员家目录所在地
/srv 为系统为程序提供数据的文件所在地
/tmp 临时文件所在地,系统有选项可安排定期删除
/usr (universal source readonly) 用户安装重要程序默认所在地
/usr/bin 略
/usr/include 略
/usr/lib 略
/usr/lib64 略
/usr/sbin 略
/usr/share 架构特有数据,命令手册页,或自带文档
/usr/X11R6 桌面系统的所在地
/usr/src 源码文件
/usr/local 第三方程序(管理员安装 建议安装路径)
var 常变化的目录和文档(日志,邮件)
cache 应用程序本身运作过程中会产生的一些暂存档存放处
lib 存放系统正常运行时要改变的文件的目录
local 存放 /usr/local 中安装的程序的可变数据的目录
lock 锁定文件所在目录
run 某些程序或者是服务启动后,会将他们的PID放置在这个目录下
spool 放置 “ 假脱机 (spool)” 程序的目录
tmp 系统重启后依然需要的临时目录
proc 进程抽象出来的目录和文件, 内核及进程存储的相关信息
多为内核参数
sys: sysfs 虚拟文件提供另一种访问数据的目录
原创文章,作者:chengyu,如若转载,请注明出处:http://www.178linux.com/35565
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油