计算机及Linux基础简介
一、计算机的组成及其功能
计算机由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机,每一部件分别按要求执行特定的基本功能。
- 运算器或称算术逻辑单元(Arithmetical and Logical Unit) 运算器的主要功能是对数据进行各种运算。这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行 "逻辑判断" 的逻辑处理能力,即 "与"、"或"、"非" 这样的基本逻辑运算以及数据的比较、移位等操作。
- 存储器(Memory unit) 存储器的主要功能是存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有 "记忆" 功能的设备,它用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。由于记忆元件只有两种稳定状态,因此在计算机中采用只有两个数码 "0" 和 "1" 的二进制来表示数据。记忆元件的两种稳定状态分别表示为 "0" 和 "1"。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。
- 控制器(Control Unit) 控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。 控制器从存储器中逐条取出指令,分析每条指令规定的是什么操作以及所需数据的存放位置等,然后根据分析的结果向计算机其它部分发出控制信号,统一指挥整个计算机完成指令所规定的操作。因此,计算机自动工作的过程,实际上是自动执行程序的过程,而程序中的每条指令都是由控制器来分析执行的,它是计算机实现 "程序控制" 的主要部件。 通常把控制器与运算器合称为中央处理器(Central Processing Unit-CPU)。工业生产中总是采用最先进的超大规模集成电路技术来制造中央处理器,即 CPU 芯片。它是计算机的核心部件。
- 输入设备 (Input device) 用来向计算机输入各种原始数据和程序的设备叫输入设备。输入设备把各种形式的信息,如数字、文字、图像等转换为数字形式的 "编码",即计算机能够识别的用 1 和 0 表示的二进制代码 (实际上是电信号),并把它们 "输入"(INPUT)到计算机内存储起来。键盘是必备的输入设备、常用的输入设备还有鼠标器、图形输入板、视频摄像机等。
- 输出设备 (Output device) 从计算机输出各类数据的设备叫做输出设备。输出设备把计算机加工处理的结果(仍然是数字形式的编码)变换为人或其它设备所能接收和识别的信息形式如文字、数字、图形、声音、电压等。常用的输出设备有显示器、打印机、绘图仪等。
二、Linux 发行版
发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统。已经有超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。
- Debian 诞生于 1993 年 8 月 13 日,它的目标是提供一个稳定容错的 Linux 版本。支持 Debian 的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期 Linux 的经验。Debian 以其稳定性著称。。作为服务器平台,Debian 提供一个稳定的环境。为了保证它的稳定性,开发者不会在其中随意添加新技术,而是通过多次测试之后才选定合适的技术加入。
- MandrakeSoft 是 Linux Mandrake 的发行商,在 1998 年由一个推崇 Linux 的小组创立,它的目标是尽量让工作变得更简单。作为 Red Hat Linux 的一个分支,Mandrake 将自己定位在桌面市场的最佳 Linux 版本上。Mandrak 对桌面用户来说是一个非常不错的选择,它还可作为一款优秀的服务器系统,尤其适合 Linux 新手使用。
- Ubuntu 是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的 "ubuntu" 一词(译为吾帮托或乌班图),意思是 "人性"、"我的存在是因为大家的存在",是非洲传统的一种价值观,类似华人社会的 "仁爱" 思想。Ubuntu 基于 Debian 发行版和 unity 桌面环境,与 Debian 的不同在于它每 6 个月会发布一个新版本。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu 具有庞大的社区力量,用户可以方便地从社区获得帮助。
- Red Hat Linux 可能这是最著名的 Linux 版本了,Red Hat Linux 已经创造了自己的品牌,越来越多的人听说过它。Red Hat 在 1994 年创业,当时聘用了全世界 500 多名员工,他们都致力于开放的源代码体系。Red Hat Linux 是公共环境中表现上佳的服务器。它拥有自己的公司,能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的 Linux 也使用最新的内核,还拥有大多数人都需要使用的主体软件包。
- SuSE 总部设在德国的 SuSE AG 在商界已经奋斗了 8 年多,它一直致力于创建一个连接数据库的最佳 Linux 版本。为了实现这一目的,SuSE 与 Oracle 和 IBM 合作,以使他们的产品能稳定地工作。SuSE 还开发了 SuSE Linux eMail Server III,一个非常稳定的电子邮件群组应用。 基于 2.4.10 内核的 SuSE 7.3,在原有版本的基础上提高了易用性。安装过程通过 GUI 完成,磁盘分区过程也非常简单,但它没有为用户提供更多的控制和选择。
- Linux Mint 是一份基于 Ubuntu 的发行版,其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对 DVD 播放的支持、Java 和其他组件。它与 Ubuntu 软件仓库兼容。Linux Mint 是一个为 pc 和 X86 电脑设计的操作系统。
- Gentoo Gentoo 是 Linux 世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点。Gentoo 最初由 Daniel Robbins(FreeBSD 的开发者之一)创建,首个稳定版本发布于 2002 年。由于开发者对 FreeBSD 的熟识,所以 Gentoo 拥有媲美 FreeBSD 的广受美誉的 ports 系统 ——Portage 包管理系统。
- Centos (Community ENTerprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同,在于 CentOS 并不包含封闭源代码软件, CentOS 是一个基于 Red Hat Linux 提供的可自由使用源代码的企业级 Linux 发行版本。每个版本的 CentOS 都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。
- Fedora Core (自第七版直接更名为 Fedora)是众多 Linux 发行版之一。它是一套从 Red Hat Linux 发展出来的免费 Linux 系统。Fedora Core 的前身就是 Red Hat Linux。Fedora 是一个开放的、创新的、前瞻性的操作系统和平台,基于 Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat, Inc. 的支持。
三、Linux 的哲学思想
1 . 一切皆文件
是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;
2 . 小型,单一用途的程序
一个程序只做一件事,并且做好,这样才能保证了 Linux 内核的高效运行;
3 . 连接程序,共同完成复杂功能;
对于复杂的功能 Linux 通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的;
4 . 避免令人困惑的交互界面;
无论什么问题都可以通过简洁的命令行实现,一切都是简洁明了为基础。并易于以编程的方式实现自动化任务;
5 . 配置数据存储在文本中;
Linux 所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可;
四、Linux 的命令格式及简单示例
(1)命令通用格式
- COMMAND [OPTIONS] [ARGUMENTS]
- COMMAND(命令)
- 命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;Linux 遵循的命令格式规范(ELF);
- 命令分为两类:
由 shell 程序的自带的命令,内建命令 (builtin);
独立的可执行程序文件,文件名即命令名,外部命令; - 查看命令类型:
- type COMMAND
- OPTIONS(选项)
- 选项指定命令的运行特性;
- 选项有两种表现形式:
短选项:- ls -a
- ls -l
同一命令同时使用多个短选项,多数可合并 - ls -al
长选项:- ls --help
长选项不能合并
- ARGUMENTS(参数)
- 命令的作用对象;命令对什么生效;
- 有些命令可同时带多个参数,多个之间以空白字符分隔;
(2)基础命令示例
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
- ifconfig [interface] [options]
- -a: 显示所有网卡配置
- -s: 显示网卡的简要信息
- up: 启用网卡
- down: 禁用网卡
- address: 为网卡设置IPv4地址
- [[email protected]/* *//]# ifconfig
- eth0 Link encap:Ethernet HWaddr 00:0C:29:6B:12:5F
- inet addr:192.168.1.135 Bcast:192.168.1.255 Mask:255.255.255.0
- inet6 addr: fe80::20c:29ff:fe6b:125f/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:11 errors:0 dropped:0 overruns:0 frame:0
- TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:2455 (2.3 KiB) TX bytes:1608 (1.5 KiB)
- lo Link encap:Local Loopback
- inet addr:127.0.0.1 Mask:255.0.0.0
- inet6 addr: ::1/128 Scope:Host
- UP LOOPBACK RUNNING MTU:16436 Metric:1
- RX packets:12 errors:0 dropped:0 overruns:0 frame:0
- TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:0
- RX bytes:720 (720.0 b) TX bytes:720 (720.0 b)
echo 会将输入的字符串送往标准输出
- echo [OPTION] [STRING]
- -n:不进行自动换行
- -e:使转义符生效
- -E:禁用转义符并且当做一般字符(默认)
- [[email protected]/* *//]# echo -e "Hello \nWorld"
- Hello
- World
查看 "当前工作目录" 的完整路径
- pwd
- -P:显示实际路径,而非输出链接(link)路径;
- [[email protected]/* */rc.d]# pwd
- /etc/rc.d
history 用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。
- history [OPTIONS] [ARGUMENTS]
- -c:清空当前历史命令;
- -a:将历史命令缓冲区中命令写入历史命令文件中;
- -r:将历史命令文件中的命令读入当前历史命令缓冲区;
- -w:将当前历史命令缓冲区命令写入历史命令文件中;
- -d offset:删除指定命令历史;
shutdown 用来系统关机命令。shutdown 指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。
- shutdown [OPTIONS] [ARGUMENTS]
- -c:取消关机指令;
- -f:重新启动时不执行fsck;
- -F:重新启动时执行fsck;
- -h:将系统关机;
- -k:只是送出信息给所有用户,但不会实际关机;
- -n:不调用init程序进行关机,而由shutdown自己进行;
- -r:shutdown之后重新启动;
- -t<秒数>:送出警告信息和删除信息之间要延迟多少秒;
- 时间参数:now 、hh:mm 、+m
- [[email protected]/* *//]# shutdown -k now
- [[email protected]/* *//]#
- Broadcast message from [email protected]/* */ (/dev/pts/0) at 17:13 ...
- The system is going down for maintenance NOW!
date 是显示或设置系统时间与日期。
- date [OPTION] [+FORMAT]
- %H 小时,24小时制(00~23)
- %M 分钟(00~59)
- %r 显示时间,12小时制(hh:mm:ss %p)
- %s 从1970年1月1日00:00:00到目前经历的秒数
- %S 显示秒(00~59)
- %T 显示时间,24小时制(hh:mm:ss)
- %X 显示时间的格式(%H:%M:%S)
- %c 日期和时间(Tue Nov 20 14:12:58 2012)
- %d 一个月的第几天(01~31)
- %x,%D 日期(mm/dd/yy)
- %m 月份(01~12)
- [[email protected]/* *//]# date +%D-%T
- 07/02/17-17:22:40
- [[email protected]/* *//]# date +%s
- 1498987400
hwclock 可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。
- hwclock [OPTION]
- -s, --hctosys:以硬件为准,把系统调整为与硬件时间相同;
- -w, --systohc:以系统为准,把硬件时间调整为与系统时钟相同;
五、Linux 获取帮助
(1) 获取命令帮助的几种方式
- 内部命令:help COMMAND
- 外部命令:
- 命令自带简单的使用帮助 COMMAND --help
- 使用 man 手册 man COMMAND
(2)man 页面内容及章节分类
- man 页里分成几个部分来介绍查询的命令
- NAME:简单的功能性说明
- SYNOPSIS:简单的语法格式
- DESCRIPTION:完整描述
- OPTIONS:所有可用选项
- EXAMPLES:使用示例
- AUTHOR: 作者
- BUGS: 报告程序 bug 的方式
- SEE ALSO: 参考
- man 命令的章节分类
- 1:用户命令;
- 2:系统调用;
- 3:C 库调用;
- 4:设备文件及特殊文件;
- 5:文件格式或者配置文件格式;
- 6:游戏使用帮助;
- 7:杂项;
- 8:管理工具及守护进行;
- 9:与 kernel 有关的文件
六、Linux 文件命名规则
- 除了 / 以外,任意字符都合法;
- 文件名严格区分字符大小写;
- 文件名长度不能超过 255 字符;
- 以 . 开头的为隐藏文件;
- "." 代表当前目录
- ".." 代表上一级目录
七、Linux 目录结构详解
FHS(文件系统层次化标准)的缩写,多数 Linux 版本采用这种文件组织形式,类似 Windows 系统中 c 盘的文件目录,FHS 采用树形结构组织文件。FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。
- /bin:所有用户可用的基本命令程序文件;
- /sbin:供系统管理使用的工具程序;
- /boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub 等;
- /dev:存储特殊文件或设备文件;设备有两种类型:字符设备 (线性设备)、块设备 (随机设备);
- /etc:系统程序的配置文件,只能为静态;
- /home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录
- /root:管理员的家目录;
- /lib:为系统启动或根文件系统上的应用程序 (/bin, /sbin 等) 提供共享库,以及为内核提供内核模块
- libc.so.*:动态链接的 C 库;
- ld*:运行时链接器 / 加载器;
- modules:用于存储内核模块的目录;
- /lib64:64 位系统特有的存放 64 位共享库的路径;
- /media:便携式设备挂载点,cdrom, floppy 等;
- /mnt:其它文件系统的临时挂载点;
- /opt:附加应用程序的安装位置;可选路径;
- /srv:当前主机为服务提供的数据;
- /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;
- /usr:全局共享的只读数据路径;
- bin, sbin
- lib, lib64
- include:C 程序头文件;
- share:命令手册页和自带文档等架构特有的文件的存储位置
- local:让系统管理员安装本地应用程序;也通常用于安装第三方程序;
- X11R6:X-Window 程序的安装位置
- src:程序源码文件的存储位置
- /var:存储常发生变化的数据的目录;
- /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;因为这个目录下的资料都是在内存当中,所以本身不占任何硬盘空间
- /sys:sysfs 虚拟文件系统提供了一种比 proc 更为理想的访问内核数据的途径;其主要作用在于为管理 Linux 设备提供一种统一模型的的接口;
来源: http://www.bubuko.com/infodetail-2150030.html