一、 计算机基础知识
- 计算机组成:计算机主要硬件和软件2部分组成。
- 计算机软硬件的概念:硬件是可以看得见的物理实体,软件是运行在硬件上不可见的程序。
- 计算机软硬件的关系:没有硬件,程序就不会存在;没有软件,硬件就是破铜烂铁。
- 计算机硬件的组成:CPU(中央处理器)、内存、硬盘、主板、显卡、电源、扩展卡。
- 计算机软件的组成:操作系统软件和应用程序软件。
- 操作系统软件:操作系统也是一套软件程序,主要作用是驱动系统中所有硬件、管理硬件资源、提供用户与硬件交互的API(应用程序接口)。操作系统屏蔽硬件操作的细节,统一化管理硬件资源,将硬件的使用封装为统一接口,简化应用程序的开发,实现硬件的兼容。常用的计算机操作系统有微软的Windows、开源的Linux、苹果的IOS、谷歌的Android等。
- 应用程序软件:根据操作系统供的API,实现的专业功能程序。常见的应用软件有office办公软件、浏览器软件、即时聊天软件等。
- 工程师的分类:硬件工程师和软件工程师。硬件工程师主要是设计硬件电路的,需要精通数电和模电的专业知识;软件工程师主要是开发软件的,需要精通相应的编程语言和算法知识。软件工程师根据开发软件种类不同可以驱动工程师、系统工程师和应用工程师。驱动工程师需要掌握一些硬件相关的知识,针对专用的硬件设备,编写与系统对接的驱动程序软件,偏向底层程序;系统软件工程师需要掌握操作系统软件架构,需要具备深厚的软件知识功底和高超的编程技能,难度相对较高;应用工程师是基于操作系统提供的API编写面向业务的应用程序,往往需要深入研究编程语言,具备丰富的业务经验,解决实际的问题,入门门槛相对较低,技术迭代快。
图1 计算机主机示意图
图2 常用的操作系统
图3 常见的应用程序软件
二 、 Linux操作系统的介绍
- Linux是开源免费的操作系统,属于类Unix系统(借鉴了很多Unix操作系统的哲学思想,并和Unix保持兼容),主要作用是用于驱动和管理计算机硬件资源,并给用户提供操作硬件的API。
- Linux系统是开源的特点,每个人都可以获得源代码,实现免费的学习、使用、改进和传播,因此在全世界得到了广泛的应用,特别是在服务器领域应用占据了90%以上的市场份额。但是,这种自由的模式,导致Linux系统生态相对割裂,特别是在桌面操作和应用程序发布安装方面,因此桌面操作应用领域市场占有率不足5%。
- Linux发展历史:Multics计划–>Unix操作系统(专利系统,分支BSD、SystemV)–>Minix(教学内核)–>Gnu计划(工具集)–>Linux(开源内核)–>Linux发行版(Linux内核+Gnu软件集+包管理系统)
- Linux常见的发行版:RedHat系(rpm包管理系)、Debian系(dpkg包管理系)、Arch系。
- Linux发行版的选择:Linux发行版比较分裂,发行版有成百上千个,在圈子里常年吵吵,其实意义不是很大,工具是用来解决问题,而不是用以秀优越和炫技的,每个发行版都有其忠实的拥趸,各有各的优缺点,选择Linux发行版的关键在于自己的需求(比如用于开发、用于政务办公、用于搭建服务器等),用途不同选择自然就不同了。这个话题太大,抛砖引玉的简单概述下,基于Debian的Ubuntu系统提供开箱即用的配置,上手简单快速,初次接触Linux的新手可以选择这个版本,但是其背后的商业公司在技术上夹带私货,饱受争议,受到一部分人抵制,新手有一定经验后可以直接用相对灵活的发行版,比如上游的Debian、滚动更新的Arch等;RedHat是商业化非常成功的发行版,具备高稳定高安全的企业级特点,在大型企业服务器中得到广泛应用,但是其订阅服务收费,有很多企业选择其基于RedHat开源代码构建的免费下游发行版,比如CentOS(已经被收编,变成上游版本),资料丰富,使用人员多,适合构建高可用的服务器企业和人员使用。所以,根据自己的需求选择一个版本深入研究和使用,有一定经验后,版本差异基本可以忽略不计,重点在于积累经验和培养解决问题的能力,而不是无意义的争论和鄙视。 发行版排行榜可以参考网站:https://distrowatch.com/。
- Linux应用领域:企业环境应用、个人环境应用、云端环境应用、嵌入式应用。
- 自由软件(FreeSoftware)、开源软件(OpensourceSoftware)的商业模式:软件是免费的、开源的,可以软件服务收费(因为很多人并不是软件专家,使用软件时会可能会遇到问题,比如软件的部署、软件的使用培训等)
- Linux操作系统的学习:Linux系统主要是在无界面的服务器方向使用,命令行操作是基础,桌面操作为辅,需要着重命令行操作、命令学习和实践。
图4 Linux常见发行版
三、 Linux的安装
- Linux的安装可以采用实体机安装和虚拟机安装,虚拟机可以将PC虚拟成可以运行其他操作系统的应用程序,建议学习使用虚拟机就可以了。
- 虚拟机有Vmware(商业收费软件)和VirtualBox(免费开源软件),两款虚拟机都还可以,根据自己的实际情况选择。
- 虚拟机安装参见官方教程,安装相对比较简单,难点在于背后的一些专业知识,很多专业知识和虚拟机无关,需要不断的积累使用经验,比如网络相关的知识、虚拟机配置知识等。
- Linux的安装参见发行版教程,现在的发行版采用人机交互的模式,基本上保持默认配置,一路Next,网络资源已经足够丰富,不在此搬运。
图5 Vmware安装Linux系统
图6 VirtualBox安装Linux系统
四、Linux登录使用
-
登录
root用户:Linux操作系统权限最高的用户,可以管理其他用户和所有文件。
个人用户:根据需求建立的用户,可以用root赋予不同权限。 -
命令行界面和图形界面
命令行界面:只有终端,通过终端输入命令控制系统
图形界面:命令行界面+X Window软件
Ctrl+Alt+F1 切换到图形界面
Ctrl+Alt+F2~F6切换到命令行界面 -
Linux热键
【Tab】 命令行中命令自动补齐
【Ctrl+c】 结束程序执行(本质是向内核发送信号)
【Ctrl+d】 输入EOF或exit命令 -
Linux正确关机顺序
#sync
#reboot
五、Linux命令使用
-
目录与路径
cd change directory,改变目录
pwd print work directory,显示当前目录
mkdir make directory,创建目录
rmdir remove directory,删除目录 -
文件与目录管理
ls list,列出指定目录下的所有文件名称
ll 等价与ls -l,以长格式显示指定目录下的所有文件信息(权限、名称等)
cp copy,复制指定文件或者目录
mv move,移动/重命名指定文件或者目录,
rm remove,删除指定文件或者目录 -
文件查看
cat
head
tail
more
less -
文件操作
touch 新建文件
chgrp 改变文件所属组
chown 改变文件所属者
chmod 改变文件权限(rwx)
chattr 改变文件属性(隐藏权限,a只能追加内容,i不能删除/修改文件)
lsattr 列出文件属性(隐藏权限)
//设置文件特殊权限–暂未用到,可以以后再学习
SUID 针对二进制可执行程序,让二进制程序的执行者(非拥有者other)具备拥有者(owner)的执行权限
SGID
SBIT
find 查找文件
六、文件压缩
- 通过压缩算法,可以减少文件存储大小和文件传输带宽。
- Linux系统常用压缩算法
zip
gzip
bz2
xz
压缩比 xz>bz2>gzip
压缩时CPU消耗 xz>bz2>gzip
一般,通过打包命令tar配合压缩算法实现数据打包压缩 - 使用举例
tar -zcvf test.tar.gz test/
tar -zxvf test.tar.gz
tar -jcvf test.tar.bz2 test/
tar -jxvf test.tar.bz2
tar -Jcvf test.tar.xz test/
tar -Jxvf test.tar.xz
七、vim简单使用
1.vi/vim是linux最常用的文件编辑器命令
2.vi/vim的模式:
命令模式、编辑模式、命令行模式
注意三者切换的转换
3.vim 可视区块
命令模式【v】
v 字符选择
V 行选择
【Ctrl + v】 块选择
4.vim多文件编辑
#vim file1_name file2_name
命令行模式 :files 查看打开的编辑文件信息
命令行模式 :n 编辑下一个文件
命令行模式 :N 编辑上一个文件
5.vim多窗口编辑
命令行模式 【:sp /<path_name>/<file_name>】
窗口切换 【Ctrl+w+上箭头】 【Ctrl+w+下箭头】
6.vim关键词补全功能
【Ctrl+x】 --> 【Ctrl+n】 文件内容作为关键字补全
【Ctrl+x】 --> 【Ctrl+f】 目录文件名补全
【Ctrl+x】 --> 【Ctrl+o】 扩展名或vim内置关键字补全
不需要前面【Ctrl+x】 也可以匹配的
7.快捷键
文章来源:https://www.toymoban.com/news/detail-470117.html
未完待续…文章来源地址https://www.toymoban.com/news/detail-470117.html
到了这里,关于linux基础知识学习记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!