计算机由硬件和软件组成
硬件:
按冯洛伊曼体系划分1、CPU:包括运算器、控制器、寄存器、缓存,对数据控制和计算
2、存储器:内部存储器、外部存储器,对数据提供存储功能
3、输入设备:具有下指令,提供数据输入
4、输出设备:输出数据加工的结果
软件:
1、低级语言:汇编语言,汇编器;写驱动.
2、高级语言:
系统级:C , C++ ,对性能要求较高的服务类程序
应用级:Java,python,ruby, 应用程序
二、linux发行版及联系与区别Linux 发行版有数百种之多,主要分三个主流分支
RedHat:
RedHat Enterprise LinuxRHEL CentOS
Fedora
Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区 克隆版本,免费)。Redhat是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。
CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。CentOS是Community Enterprise Operating System的缩写。CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。
Debian:唯一一个没有商业公司运作,只有社区
ubuntu mint
knopix
Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。 Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。 Debian的资料也很丰富,有很多支持的社区,有问题求教也有地方可去。Debian是包括Ubuntu在内许多发行版的上游,而Ubuntu又是Linux Mint及其他发行版的上游。Debian在服务器和桌面电脑领域都有着广泛的应用。Debian是一个纯开源计划并着重在一个关键点上,稳定性。它同时也提供了最大的和完整的软件仓库给用户。
Ubuntu是基于Debian的unstable版本加强而来,可以这么说,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。 根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
Slackware:S.u.S.E OpenSUSE SLES
Slackware与其他的发行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路, 它力图成为“UNIX风格”的Linux发行版本。只吸收稳定版本的应用程序,并且缺少其他linux版本中那些为发行版本定制的配置工具。在当今systemd大势所趋的情况下,Slackware仍然坚持BSD启动风格。
SUSELinux原是以Slackware Linux为基础,并提供完整德文使用界面的产品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)这个发行版。这套发行版包含的软件非常多,更首次收录了X Window及TCP/IP等套件。Slackware就是一个基于SLS的发行版。
SUSE于1992年末创办,目的是成为UNIX技术公司, 专门制为德国人推出量身订作的SLS/Slackware软件及 UNIX/Linux说明文件。 1994年,他们首次推出了SLS/Slackware的安装光碟,命名为S.u.S.E. Linux 1.0。其后它综合了Florian La Roche的Jurix distribution(也是一个基于Slackware的发行版),于1996年推出一个完全自家打造的发行版 S.u.S.E. Linux 4.2。 其后SUSE Linux采用了不少Red Hat Linux的特质。
三、Linux的哲学思想 一切皆文件表现之一:硬件设备也通过文件表示
例如:终端程序对应的系统文件
物理终端:/dev/console
虚拟终端:/dev/tty# [1,6]串行终端:/dev/ttyS#
伪终端: /dev/pts/#
功能单一由众多功能单一的程序组成,一个程序只做一件事,组合小程序完成复杂任务,以保证Linux内核的高效运行。
避免用户与系统交互Linux开源,且管理权限强大,可自杀。易于以编程的方式实现自动化任务
所有配置文件都是文本文件无论什么配置修改都只需修改其配置文件即可,配置文件时文本形式的只需任意一款文本编辑器修改即可。存储空间存储的一段流式数据,对数据可以做到按名存取
以倒置树形结构组织文件/:原始起点,代表根目录
四、Linux命令使用格式命令的语法通用格式:
~]# COMMAND OPTIONS ARGUMENTS COMMAND:发起命令时将请求内核将某个二进制程序运行为一个进程,命令本身是一个可执行的程序文件,二进制格式的文件有可能会调用共享库文件。[遵循 ELF 格式规范]多数系统命令程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin,它们又分为普通命令和管理命令。
普通命令 :存放在/bin,/usr/bin,/usr/local/bin
管理命令 :存放在/sbin,/usr/sbin,/usr/local/sbin
用到的库文件都存放在:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64,它们分为32位和64位的库文件,32位使用于32位的操作系统,64位使用于64位的操作系统,64位兼容32位,而32不兼容64
32位库:存放在/lib,/usr/lib,/usr/local/lib
64位库:存放在/lib64,/usr/lib64,/usr/local/lib64
命令分为两类:
由shell自带的命令,叫作 内嵌命令 (builtin)
独立的可执行程序文件,文件名即命令名,叫作 外部命令
查看命令的内容的类型:
file命令:例:~]# file /bin/ls
查看命令的类型:
type命令: 例:~]# type COMMAND
注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件OPTIONS选项: 指定命令的运行特性,有两种表现形式:
短选项 :-C,例如 ls -l ,-d 注:有的命令选项没有 ,同一命令同时使用多个短选项可合并:ls -ld
长选项 : word,例如 ls help,有时候选项也带参数,例:du -h max-depth=1 注:长选项不能合并
ARGUMENTS参数:命令的作用对象,命令对什么生效,例:ls /etc ,作用在/etc 。注:有些命令可以可同时带多个参数,以空白分隔
ifconfig #显示和配置网络信息
语法:ifconfig [网络设备] [参数]示例:ifconfig -a
ehco #显示文本
语法:echo [-ne][字符串]或 echo [ help][ version]示例:echo 'xx'
tty #显示终端机连接标准输入设备的文件名称
语法:tty [-s][ help][ version]示例:tty
startx #可进入图形操作界面
示例:startx &export #设置或显示环境变量
语法:export [-fnp][变量名称]=[变量设置值]示例:export
pwd #显示工作目录
语法:pwd[ help][ version]示例:pwd
history #列出bash保存的所有历史命令
语法:history [选项]示例:history
shutdown #系统关机命令
语法:shutdown [-cfFhknr][-t 秒数][时间][警告信息]示例:shuntdown -r +5
poweroff #关机
示例:poweroffreboot #重启
示例:reboothwclock #用来查询和设置硬件时钟
示例:hwclockdate #取一个特定时间的linux时间戳
示例:date五、如何在Linux系统上获取命令的帮助信息,如何划分man文档的章节
获取命令的帮助信息:
内部命令 : help COMMAND
外部命令 :
命令自带简要格式的使用帮助
~]# COMMAND help/-h
使用手册:
manual
位置:/usr/share/man
man [man1,man2,man3……….] 不同man下按类型放不同的命令1 commands 普通的命令
2 system calls 系统调用,如open,write之类的
3 library calls 库函数,如printf,fread
4 special files 特殊文件,也就是/dev下的各种设备文件
5 file formats and convertions 指文件的格式,比如passwd, 就会说明这个文件中各个