计算机,人们生活、工作常用的一种工具,如电脑、手机以及各种智能穿戴设备等等。它通过接收外部的信息输入,进行相应的计算,实现信息的存储、显示。计算机由硬件和软件组成(就像人的身体和灵魂)
计算机的硬件通常包含:CPU、存储器、输入、输出设备。1.CPU,可分成运算器和控制器。运算器主要用于实现算数(如:加 减 乘 除)、逻辑运算(如:与 或 非);控制器用于控制、协调计算机的各项工作,保证计算机能有条不紊的运行。这两者就好比战场上的指挥官和战士。2.存储器,在计算机中一般称为内存,用于存储程序和数据,CPU通过总线对内存进行读写访问,实现程序读取、数据存储。3.输入设备,计算机获取外部信息输入的设备,如键盘、鼠标、传感器等。4.输出设备,用于信息输出的设备,如显示器、音箱、打印机
Linux操作系统是一种开源的操作系统,其内核由Linus Torvalds于1991年首次发布,经过世界上广大程序员的贡献,它已经成为了世界上应用最广泛、性能优良的操作系统。
Linux就其本质而言仅仅是指操作系统的内核,并不包括应用软件、编译器等。由于Linux是开源的,因此任何人、组织或者厂商都可以在遵循开源协定的情况下将LInux内核与应用软件、工具软件组合在一起,形成一套功能强大的操作系统,这便是LInux发行版。Linux发行版根据不同来源分为商业发行版(商业公司提供)和民间发行版(社区或个人提供),主要有Redhat系列、Debian系列、Slackware系列。
Redhat系列由Redhat(红帽)公司发行的Linux操作系统,主要有一下3种:1、REHL(Redhat Enterprise Linux),收费版本,功能、性能十分强大,一般用于大型服务器2、Fedora Core,免费版,由Redhat桌面版演变而来,其功能、性能相对REHL较差,只用于桌面应用。但是该版本会集成最新的功能(用户可尝鲜),成熟稳定后将集成到REHL中,因此它也被视为REHL的“试验田”3、CentOS(Community enterprise OS),是由社区按开源协定将REHL的源代码重新编译而来,且会修复一些REHL原有的BUG,因此比较稳定,免费版.
Debian系列是完全由社区发行的Linux操作系统。1、Ubuntu,基于Debian的桌面版Linux,界面十分漂亮,稳定,易学。此外Ubuntu还有Linux Mint,Kubuntu,Xubuntu等衍生版本2、Knopix,桌面系统,可通过光盘直接启动,无需安装3、MEPIS ,桌面系统,它集合了Debian Sid和Knoppix的特点,可安装,也可直接通过光盘启动。
最初是由Patrick Volkerding个人发起的SLS项目而来,坚持UNIX风格。1、Slackware,遵循KISS理念,坚持BSD启动风格,稳定、但配置稍复杂,比较适合有经验的人使用。2、S.u.S.E,由Slackware衍生而来,稳定、管理方便,但是对中文支持较差。3、openS.u.S.E,由S.u.S.E发展而来,界面华丽,性能良好。
1、ArchLinux ,简洁、更新速度快,需要用户花时间配置2、Gentoo,提供源代码,用户可重新编译源代码重构Linux。3、LFS,只提供制作LInux系统的方法以及一些必须的脚本、补丁,适合骨灰级玩家,也可用于学习如何制作一个操作系统,
1、这几个版本最大的区别在于程序包管理器不同,Debian系列用的是dpkg,使用apt-get命令进行软件安装、卸载。Redhat系列用的是rpm,S.u.S.E等其他Linux版本也有采用,使用yum(升级版:dnf)命令进行软件安装、卸载。此外,S.u.S.E本身有的软件包管理器zypper(针对对rpm进行了一些优化),调用命令为zypper。注:程序包管理器用于管理程序的安装和卸载。2、适用环境不同,RHEL系列主要适用于企业适用,Debian系列桌面环境较好,适合个人桌面
3.提供机制,而非策略提供宽松的环境,给予用户更多自由使用空间,类似于炒菜,只给食材,不约束具体做成那种菜(湘菜、川菜)
6.组合小程序完成复杂任务可将多个单独小程序组合在一起实现更复杂的功能,方便通过编程实现任务自动化运行。
在Windows系统上运行程序通常是通过鼠标实现的,如通过双击左键打开文件。LInux系统进行操作则需要通过输入命令告诉系统该做些什么,因此Linux系统需要提供一个可以输入命令的窗口(Windows中也有类似的窗口如cmd).
命令的通用格式:COMMAND [OPTIONS] ARGUMENTS 如:ls -a /homeCOMMAND为命令名称,如ls(列出某目录下的文件);ARGUMENTS为该命令的作用对象,对于ls命令,则表示列出哪个目录下的文件[OPTIONS]命令的选项,一般用-option表示,可使用多个选项,-option -option,中间用空格分开。对于ls命令,如选项为-a,则显示所有文件,-a -l 则表示显示所有文件及其详细信息
选项:-n 不换行-e 让转义符“\”生效-E不让转义符生效(默认)转义符选项\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;\f 换行但光标仍旧停留在原来的位置;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\t 插入tab;\v 与\f相同;实例:输入echo Linux,则显示Linux
用于查看当前终端设备用法:tty [option]常用方式:tty 或者tty -s,即什么都不输出
用于打开X Window(图形界面),即运行X Window程序常用方式: starx,在服务器、终端上启动图形界面,按ctrl c组合键取消
用于环境变量的声明和赋值用法:export [-fn] [name[=value] ...] 或者 export -p-f:代表[name]中为函数名称;-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中;-p:列出所有的shell赋予程序的环境变量。
以绝对路径的方式显示用户当前工作目录选项:-L 显示全部路径,包括链接路径-P 仅显示物理路径,不显示链接路径
用于显示历史命令(缓存中),读取历史命令文件到缓存中,将缓存中的历史命令写入历史命令文件中用法:history显示历史命令选项 -c 清空;历史命令缓存-d 删除指定的历史命令缓存-a 手工追加当前会话的命令历史到历史文件中去n 显示最近的n条历史命令-r:将历史命令文件中的命令读入当前历史命令缓冲区-w:将当前历史命令缓冲区命令写入历史命令文件中输入history 3,显示最近3条历史命令
用于关闭、重启计算机选项:-h,关闭电源-r, 重启-k 不进行任何操作,仅发出警告--no-wall 关机或重启前不提示-c 取消操作,当使用+0 或now时间选项时无法取消时间选项:+m,m分钟后关机或重启now 表示马上关机hh:mm,具体时间,如20:30
用于关闭计算机,用法poweroff [option]选项-p,关闭计算机-f,强制关机-w,不关机,仅仅写入日志文件-d,关机,写入日志文件
重启命令,用法reboot [option]选项:-p,关闭计算机-f,强制重启-w,不重启,仅仅写入日志文件-d,重启,写入日志文件
显示当前时间,设置硬件时钟的时间以及设置硬件时钟为系统时间或设置系统时间为硬件时钟的时间选项:-s,设置系统时间为硬件时间-w,设置硬件时间为系统时间-u,使用格林威治时间-c 比较硬件时间和系统时间
%D 显示日期,等同于%m/%d/%y%Y:显示年份,如2018%y:显示年份,如18%m:显示月份%H:小时(24小时进制)
当我们不知道一个命令如何使用时,可以通过查看Linux系统提供的帮助信息,就像是命令的使用说明书。
从上图中可知cd以及其他一些命令是Bash的内部命令,当我们再往下面看时,就能找到这些命令的帮助信息,但是这样用起来十分不方便,因此我们可以使用help命令来查看Bash的内部命令,如:help cd
由此我们可以知道man命令不仅可以查看命令帮助文档,还可查看配置文件帮助和编程帮助等信息,man文档有8个章节:
对于Linux系统而言一切皆文件,我们可以用ls / 命令查看根目录下的文件及目录,结果如下:
/proc :用于输入内核于进程信息相关的虚拟文件系统,也称伪文件系统,由内核参数映射而来/sys :用输出当前系统上硬件设备相关信息的虚拟文件系统,内核中与硬件设备相关的信息映射
发现centos和Ubuntu的目录结构基本差不多,其原因是有个LSB组织定义了Linux发行版基础目录的名称命名发展及功用规定,即FHS,文件系统层级标准。

