一、计算机的组成与功能
计算机由硬件和软件组成
-
硬件:
按冯·洛伊曼体系划分
1、CPU:包括运算器、控制器、寄存器、缓存,对数据控制和计算
2、存储器:内部存储器、外部存储器,对数据提供存储功能
3、输入设备:具有下指令,提供数据输入
4、输出设备:输出数据加工的结果 -
软件:
1、低级语言:汇编语言,汇编器;写驱动.
2、高级语言:
系统级:C , C++ ,对性能要求较高的服务类程序
应用级:Java,Python,ruby, 应用程序
二、Linux发行版及联系与区别
Linux 发行版有数百种之多,主要分三个主流分支
-
RedHat:
RedHat Enterprise Linux
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:唯一一个没有商业公司运作,只有社区
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:
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 #关机
示例:poweroff
reboot #重启
示例:reboot
hwclock #用来查询和设置硬件时钟
示例:hwclock
date #取一个特定时间的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, 就会说明这个文件中各个字段的含义
6 – games for linux 给游戏留的,由各个游戏自己定义
7 – macro packages and conventions 附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 – system management commands 系统管理用的命令,这些命令只能由root使用
9 – 其他某些命令在多个章节下都有 例如:man passwd ;这个是在man1中的
man 5 passwd man5中也有。【频中是这样,但是我自己在centos7中测试man5中没有,centos6中有】
~]# whatis COMMAND 这个能查询在哪些章节中有
info COMMAND:
获取命令的在线文档;很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
README:程序的相关的信息;
INSTALL: 安装帮助;
CHANGES:版本迭代时的改动信息;主流发行版官方文档:
http://www.redhat.com/doc程序官方的文档:
官方站点上的“Document”搜索引擎:
·keyword filetype:pdf
·keyword site:domain.tld
六、Linux发行版的基础目录名称命名法则及功用规定
获取命令的帮助信息:
1、命名规则:
(1)严格区分字符大小写
(2)目录也是文件,在同一路径下,两个文件不能同名
(3)支持使用除/以外的任意字符
(4)最长不能超过255个字符
(5)以 . 开头的文件为隐藏文件
. 当前目录
..当前目录上一级
2、基础目录及功用:
/bin:所有用户可用的基本命令程序文件
/sbin:供系统管理使用的工具程序
/boot:引导加载器必须用到的各种静态文件:kernel,initramfs(initrd),grub等
/dev:存储特殊文件或设备文件
/etc:系统程序的配置文件,只能为静态的,不能为二进制
/home:普通用户的家目录的集中位置,可独立挂载分区
/root:管理员的家目录
/lib:为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
/lib64:64位系统特有的存放64位共享库的路径
/media:便携式设备挂载点,cdrom,floppy等
/mnt:其他文件系统的临时挂载点
/opt:附加应用程序的安装位置,可选路径
/srv:当前主机为服务提供的数据
/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录,可供所有用户执行写入操作,有特殊权限
/usr:全局共享的只读数据路径
lib,lib64
include:c程序头文件
share:命令手册页和自带文档等架构特有的文件的存储位置
local:另一个层级目录
X11R6:x-window程序的安装位置
src:程序源码文件的存储位置
/usr/local:让系统管理员安装本地应用程序,也通常用于安装第三方程序
/var:存储常发生变化的数据的目录
/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息,它们多为内核参数,例:net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys,因此其完整路径为/proc/sys/net/ipv4/ip_forward
/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径,其主要作用在于为管理Linux设备提供一种统一模型的接口
原创文章,作者:Night's Watch,如若转载,请注明出处:http://www.178linux.com/45787
评论列表(1条)
写的很好,排版也很漂亮,加油