我爱编程

【Linux基础】计算机及操作系统基础

2018-03-02  本文已影响0人  li_zw

计算机的组成及其功能

计算机的组成

简单来说,计算机应由两部分组成:
第一部分:硬件


冯诺依曼结构体系

当前计算机主要是基于冯诺依曼体系结构设计的,在该体系中,计算机硬件由5个部件组成。分别是:运算器、控制器、存储器、输入设备和输出设备。而现今运算器和控制器一般集成在一起,叫中央处理器(Central Processing Unit, CPU)计算机最核心的部件,相当于人类的大脑。

中央处理器(CPU)

第二部分:软件

汇编语言是最接近机器语言的低级语言,相当于用人类看得懂的符号来代替0和1,汇编通过指令集来下达命令控制CPU,并且它操作的对象并不是具体的数据,而是各种寄存器和内存;不同类型的CPU 有着不同的机器指令系统,所以,汇编语言程序与机器有着密切的关系。除了同系列、不同型号CPU 之间的汇编语言程序有一定程度的可移植性之外,其它不同类型(如:小型机和微机等)CPU 之间的汇编语言程序是无法移植的,也就是说,汇编语言程序的通用性和可移植性要比高级语言程序低。


常见的软件

什么是Linux


在Linux诞生之前,一直是UNIX的天下,只不过UNIX在1979年之后就不能免费获得,要想使用就需要购买,在当时,这不是一个小数目。
后来Richard Mathew Stallman在1984年发起GNU计划,该计划意在构建一个完全自由的操作系统,所谓完全自由,就要要求加入GNU计划的所有软件必须自由使用,自由更改,自由发布,也需要把更改后的代码发布。并且制定了明文规定许可协议:GPL协议
GNU计划发起后,在这期间诞生了很多有名的软件,如(VI,emacs,gcc)但GUN上的软件都是运行在UNIX系统上,并没有“自由的Unix核心”存在。直到1991年,芬兰赫尔辛基大学的一个学生:Linus Benedict Torvalds 开发了一个类unix内核,一经发布便得到广大爱好者的支持,这个内核就是linux,1994年,linux加入GNU计划并采用GPL协议发布,自此GNU/LINUX真正实现了构建一套完全自由的操作系统的设想。

Linux发行版(Linux distribution)

Linux发行版是一种为一般用户预先集成好的Linux操作系统及各种应用软件。一般不需要用户重新编译,在直接安装之后,只需要作出小幅度的更改设置即可。Linux发行版通常包含了桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常使用Linux、以及来自GNU计划的软件、和基于X Window的图形界面组成。
Linux发行版通常分为商业发行版和社区发行版。也有少部分既不属于发行版又不属于社区发行版,其中最有名的是Slackware.

Redhat系

名称 基于 特点
Red Hat Enterprise RPM管理包 红帽的商业版本
提供10年服务支持
CentOS RedHat 根据RHEL代码编译的社区版
文档充足
Fedora RedHat 红帽官方的社区版
RH公司新技术测试平台

Slackware系

名称 基于 特点
Slackware SLS UNIX风格的Linux发行版
KISS(简洁)的设计理念
SUSE Slackware 界面华丽
照顾欧洲人的使用习惯
opensuse SUSE suse的社区版

Debian系

名称 基于 特点
Debian Dpkg管理包 一直为社区版
限制较少
功能较多
要求技术较高
Adamantix Debian 关注安全
Knoppix Debian 对硬件支持极佳
对中日韩环境不够友好
Gnoppix Knoppix Knoppix的GNOME版
Ubuntu Debian 界面华丽
与Debian、GNOME开源社区关系紧密
有资金支持
Linux Mint Ubuntu Ubuntu的衍生版
开箱即用
Ubuntu Kylin Ubuntu 中文定制版
BackTrack Ubuntu 专业安全检测操作系统
已不再维护
Kali Linux BackTrack BackTrack替代者
安全渗透软件

其他

名称 基于 特点
Gentoo Portage管理包 大量程序开放源代码
对硬件要求较高
ArchLinux pacman管理包 软件更新速度快
包管理简易高效
LFS(Linux From scratch) 高端玩法
DIY系统

Linux的哲学思想

说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述

Linux命令格式与基础命令

什么是命令
命令其实就是一个可执行文件。程序本身只是一个静态文件,只有通过这个请求,才会转化为有生命周期的动态进程。命令本身是一个可执行的二进制格式程序文件(Linux哲学思想:一切皆文件),请求一个命令相当于在环境变量$PATH中的路径寻找与之同名的程序,而PATH变量一般包含的路径有:
普通命令:/bin/usr/bin/usr/local/bin
管理命令:/sbin/usr/sbin/usr/local/sbin
命令往往会调用到许多库文件,这些库可能许多程序都会遇到,我们形象的称之为共享库。这些共享库也是二进制文件,但是由于其没有程序执行入口,所以不能独立执行。只能被其他有执行入口的程序调用时才能执行,一般这些库都存放在这些目录下:
32bits的库:/lib/usr/lib/usr/local/lib
64bits的库:/lib64/usr/lib64/usr/local/lib64

命令的分类与格式

ifconfig interface options | address …
常用方法:
ifconfig:查看当前系统中存活的网络接口设备信息
ifconfig eth#:查看指定的网络接口设备的信息
ifconfig -a:查看所有网络接口设备(通过此命令,非运行状态的网卡也可显示)
ifconfig eth# up:启动指定网络接口设备
ifconfig eth# down:关闭指定网络接口设备
ifconfig eth# add 33ffe:3240:800:1005::2/64:为指定网络接口设备添加IPv6地址          
ifconfig eth# del 33ffe:3240:800:1005::2/64:为指定网络接口设备删除IPv6地址          
ifconfig eth# hw ether 00:16:3E:10:60:B5 : 修改指定网络接口设备MAC地址
ifconfig eth# xxx.xxx.xxx.xx:给指定网络接口设备配置指定ip地址  
ifconfig eth# xxx.xxx.xxx.xx netmask 255.255.255.0 :给指定网络接口设备配置指定ip地址及子网掩码                 
ifconfig eth# xxx.xxx.xxx.xx netmask 255.255.255.0 broadcast 192.168.120.255:给指定网络接口设备配置指定ip地址及子网掩码、广播地址
ifconfig eth# mtu 1500:给指定网络接口设备设置最大传输单元         
备注:使用此命令对于网络接口的所有操作,在系统重启后均会失效。若需永久生效,需要通过修改配置文件的方式,配置文件的路径一般为
[root@test ~]# cd /etc/sysconfig/network-scripts/ [root@test network-scripts]# ls

echo LONG-OPTION
常用方法:  
-n 不进行换行
-e 让转义符生效
转义符如下  
\a 发出警告声     
\b 删除前一个字符   
\c 最后不加上换行符号   
\f 换行但光标仍旧停留在本身的位置
\n 换行     
\r 光标移至行首,但不换行  
\t 制表符    
\v 等同于\f  
\ 插入\字符
–help 显示帮助  
–version 显示版本信息    
备注:STRING可以使用引号,单引号双引号均可用
单引号:强引用,变量不执行替换  
[root@iZ25test ~]# echo ‘$SHELL’    
$SHELL        
双引号:弱引用,变量引用会被替换
[root@iZ25test ~]# echo “$SHELL”    
/bin/bash

常用方法:[root@test ~]# tty

`/dev/pts/0`
`startx`

作用:用来启动X Window,实际上是启动X Window程序
常用方法:

startx:在服务器上启动x会话     
startx -w:在服务器上强制启动x会话

常用方法:     
-f:代表【变量名称】中为函数名称
-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中】
-p:列出所有shell赋予程序的环境变量

常用方法:        
–help:显示帮助信息
–version:显示版本信息
pwd命令用于显示当前工作目录,一般而言,涉及pwd,就会涉及到三个环境变量           
PATH:执行文件路径的变量     
OLDPWD:表示前一次的工作目录   
PWD:表示当前的工作目录

常用方法:        
-c:清空当前历史命令     
-a:将历史命令缓冲区中命令写入历史命令文件中    
-r:将历史命令文件中的命令读入当前历史命令缓冲区   
-w:将当前历史命令缓冲区命令写入历史命令文件中       
n:打印最近n条历史命令(n为数字)

常用方法:        
-c:取消关机        
-f:重新启动时不执行fsck        
-F:重新启动时执行fsck   
-h:将系统关机
-k:送出信息给所有用户,但不会实际关机   
-n:不调用init程序进行关机,而由shutdown自己控制  
-r:重启系统          
TIME:设置多久时间后执行shutdown指令   
WALL:要传送给所有登入用户的信息

常用方法:
-n:关闭操作系统时不执行sync操作
-w:不真正关闭操作系统       
-d:关闭操作系统时,不将操作写入日志文件    
-f:强制关闭系统      
-i:关闭系统之前关闭所有的网络接口
-h:关闭操作系统之前将系统中所有的操作设置为备用模式

常用方法:    
-d:重新开机时不把数据写入数据文件/var/tmp/wtmp    
-f:强制重新开机,不调用shutdown指令的功能    
-i:在重开机之前,先关闭所有网络界面       
-n:重开机之前不检查是否有未结束的程序    
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件

常用方法:   
–adjust:校正目前的硬件时钟
–debug:显示hwclock执行时详细的信息   
–hctosys:将系统时钟调整与当前的硬件时钟一致
–set –date=<日期与时间>:设定硬件时钟  
–show:显示硬件时钟的时间与日期     
–systohc:将硬件始终调整为与当前的系统时钟一致    
–test:测试程序      
–utc:使用格林威治时间
–version:显示版本信息

常用方法:         
-d<“字符串”>:显示字符串所指的日期与时间     
-s<“字符串”>:根据字符串设置的日期与时间        
+FORMAT:格式符
%F:年月日  
%T:小时分钟秒    
%Y:年     
%m:月    
%d:日  
%H:小时(24小时进制)   
%S:秒      
%s:秒(从1970-01-01 00:00:00 开始到命令执行那一刻的秒数 unix元年)
设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]

Linux系统上获取命令的帮助信息

命令帮助

选项:-s:输出短格式的帮助信息。仅包括命令格式

选项:
-a:在所有的man帮助手册中搜索
-f:等同于whatis,显示给定关键字的简短描述信息
-P:指定内容时使用分页程序
-M:指定man手册搜索的路径

man作为命令手册,有章节之分,同一个关键字,在不同章节中有着不用的解释和使用帮助,如passwd在章节1中是介绍命令的使用方法,在章节5中则介绍passwd这个文件的帮助

    man章节介绍:
    man1:用户命令
    man2:系统调用
    man3:c库调用
    man4:设备文件及特殊文件
    man5:文件格式(配置文件格式)
    man6:系统游戏使用帮助
    man7:杂项
    man8:管理工具及守护进程
    man9:含糊的内核规范和接口

man使用方法快捷操作: 翻屏操作: 空格键:向文件尾部翻一屏
b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
G:跳转至最后一行
数字G:跳转至指定行
1G:跳转至文件首部
文本搜索:
/keyword:从文件首部向文件尾部依次查找,不区分字符大小写
?keyword:从文件尾部向文件首部依次查找
n:与查找命令方向相同
N:与查找命令方向相反

Linux发行版的基础目录名称命名法则及功用规定

linux操作系统中的主要目录及目录内容,是由文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)定义的,采用倒置树形结构,该标准由Linux基金会维护。在大多数情况下,它都是一个传统BSD文件系统层次结构的形式化与扩充。

Linux发行版的基础目录名称命名法则及功用规定
linux操作系统中的主要目录及目录内容,是由文件系统层次结构标准(Filesystem Hierarchy Standard,FHS)定义的,采用倒置树形结构,该标准由Linux基金会维护。在大多数情况下,它都是一个传统BSD文件系统层次结构的形式化与扩充。

下表中大部分目录都以相似的功能存在于所有的UNIX系统中。但是,以下的描述仅针对FHS,且对非Linux系统并非权威

目录/文件 用途 来源
/ /处于Linux文件系统树形结构的最顶端
它是Linux文件系统的入口
所有的目录、文件、设备都在/之下
/bin 该目录存放着系统最常用的最重要的命令
是以独立的文件形式存在
这个目录中的文件都是可执行的并且是普通用户都可以使用的命令
作为系统最基础的命令都放在这里
binary
/usr 该目录是系统存放程序的地方
比如普通命令、帮助文件、安装的软件等
当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里
/usr目录下包括涉及字体目录/usr/share/fonts、帮助目录/usr/share/man或/usr/share/doc等
unix shared resource
/var 该目录的内容是经常变动的
/var下有/var/log目录用来存放系统日志的目录
/var/www目录用来定义Apache服务器站点存放目录
/var/lib用来存放一些库文件
variable
/sbin 大多数涉及系统管理的命令都存放在该目录中
它是超级权限用户root的可执行命令存放地
凡是目录sbin中包含的命令都是root权限才能执行的
super user binary
/root Linux超级权限用户(系统管理员)root的主目录
/home 普通用户的主目录都默认存放在该目录中
/etc 该目录是系统配置文件的所在地
一些服务器的配置文件也在这里
etcetera
/dev 设备文件存储目录
该目录下是所有Linux的外部设备文件
device
/boot 存放Linux的内核及引导系统的程序所需要的文件
/opt 该目录是可选的软件包安装目录 optional
/tmp 该目录用于存放临时文件 temporary
/lib 该目录用于存放库文件
这个目录里存放着系统最基本的共享库
library
/mnt 该目录是用于存放挂载储存设备的挂载目录的 mount
/proc 操作系统运行时进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放处
/proc目录是伪装的文件系统proc的挂载目录
可以通过直接访问这个目录来获取系统信息
process
上一篇 下一篇

猜你喜欢

热点阅读