linux基础知识学习记录

这篇具有很好参考价值的文章主要介绍了linux基础知识学习记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、 计算机基础知识

  1. 计算机组成:计算机主要硬件和软件2部分组成。
  2. 计算机软硬件的概念:硬件是可以看得见的物理实体,软件是运行在硬件上不可见的程序。
  3. 计算机软硬件的关系:没有硬件,程序就不会存在;没有软件,硬件就是破铜烂铁。
  4. 计算机硬件的组成:CPU(中央处理器)、内存、硬盘、主板、显卡、电源、扩展卡。
  5. 计算机软件的组成:操作系统软件和应用程序软件。
  6. 操作系统软件:操作系统也是一套软件程序,主要作用是驱动系统中所有硬件、管理硬件资源、提供用户与硬件交互的API(应用程序接口)。操作系统屏蔽硬件操作的细节,统一化管理硬件资源,将硬件的使用封装为统一接口,简化应用程序的开发,实现硬件的兼容。常用的计算机操作系统有微软的Windows、开源的Linux、苹果的IOS、谷歌的Android等。
  7. 应用程序软件:根据操作系统供的API,实现的专业功能程序。常见的应用软件有office办公软件、浏览器软件、即时聊天软件等。
  8. 工程师的分类:硬件工程师和软件工程师。硬件工程师主要是设计硬件电路的,需要精通数电和模电的专业知识;软件工程师主要是开发软件的,需要精通相应的编程语言和算法知识。软件工程师根据开发软件种类不同可以驱动工程师、系统工程师和应用工程师。驱动工程师需要掌握一些硬件相关的知识,针对专用的硬件设备,编写与系统对接的驱动程序软件,偏向底层程序;系统软件工程师需要掌握操作系统软件架构,需要具备深厚的软件知识功底和高超的编程技能,难度相对较高;应用工程师是基于操作系统提供的API编写面向业务的应用程序,往往需要深入研究编程语言,具备丰富的业务经验,解决实际的问题,入门门槛相对较低,技术迭代快。
    linux基础知识学习记录
    图1 计算机主机示意图
    linux基础知识学习记录
    图2 常用的操作系统

linux基础知识学习记录
linux基础知识学习记录
图3 常见的应用程序软件

二 、 Linux操作系统的介绍

  1. Linux是开源免费的操作系统,属于类Unix系统(借鉴了很多Unix操作系统的哲学思想,并和Unix保持兼容),主要作用是用于驱动和管理计算机硬件资源,并给用户提供操作硬件的API。
  2. Linux系统是开源的特点,每个人都可以获得源代码,实现免费的学习、使用、改进和传播,因此在全世界得到了广泛的应用,特别是在服务器领域应用占据了90%以上的市场份额。但是,这种自由的模式,导致Linux系统生态相对割裂,特别是在桌面操作和应用程序发布安装方面,因此桌面操作应用领域市场占有率不足5%。
  3. Linux发展历史:Multics计划–>Unix操作系统(专利系统,分支BSD、SystemV)–>Minix(教学内核)–>Gnu计划(工具集)–>Linux(开源内核)–>Linux发行版(Linux内核+Gnu软件集+包管理系统)
  4. Linux常见的发行版:RedHat系(rpm包管理系)、Debian系(dpkg包管理系)、Arch系。
  5. Linux发行版的选择:Linux发行版比较分裂,发行版有成百上千个,在圈子里常年吵吵,其实意义不是很大,工具是用来解决问题,而不是用以秀优越和炫技的,每个发行版都有其忠实的拥趸,各有各的优缺点,选择Linux发行版的关键在于自己的需求(比如用于开发、用于政务办公、用于搭建服务器等),用途不同选择自然就不同了。这个话题太大,抛砖引玉的简单概述下,基于Debian的Ubuntu系统提供开箱即用的配置,上手简单快速,初次接触Linux的新手可以选择这个版本,但是其背后的商业公司在技术上夹带私货,饱受争议,受到一部分人抵制,新手有一定经验后可以直接用相对灵活的发行版,比如上游的Debian、滚动更新的Arch等;RedHat是商业化非常成功的发行版,具备高稳定高安全的企业级特点,在大型企业服务器中得到广泛应用,但是其订阅服务收费,有很多企业选择其基于RedHat开源代码构建的免费下游发行版,比如CentOS(已经被收编,变成上游版本),资料丰富,使用人员多,适合构建高可用的服务器企业和人员使用。所以,根据自己的需求选择一个版本深入研究和使用,有一定经验后,版本差异基本可以忽略不计,重点在于积累经验和培养解决问题的能力,而不是无意义的争论和鄙视。 发行版排行榜可以参考网站:https://distrowatch.com/。
  6. Linux应用领域:企业环境应用、个人环境应用、云端环境应用、嵌入式应用。
  7. 自由软件(FreeSoftware)、开源软件(OpensourceSoftware)的商业模式:软件是免费的、开源的,可以软件服务收费(因为很多人并不是软件专家,使用软件时会可能会遇到问题,比如软件的部署、软件的使用培训等)
  8. Linux操作系统的学习:Linux系统主要是在无界面的服务器方向使用,命令行操作是基础,桌面操作为辅,需要着重命令行操作、命令学习和实践。

linux基础知识学习记录
图4 Linux常见发行版

三、 Linux的安装

  1. Linux的安装可以采用实体机安装和虚拟机安装,虚拟机可以将PC虚拟成可以运行其他操作系统的应用程序,建议学习使用虚拟机就可以了。
  2. 虚拟机有Vmware(商业收费软件)和VirtualBox(免费开源软件),两款虚拟机都还可以,根据自己的实际情况选择。
  3. 虚拟机安装参见官方教程,安装相对比较简单,难点在于背后的一些专业知识,很多专业知识和虚拟机无关,需要不断的积累使用经验,比如网络相关的知识、虚拟机配置知识等。
  4. Linux的安装参见发行版教程,现在的发行版采用人机交互的模式,基本上保持默认配置,一路Next,网络资源已经足够丰富,不在此搬运。

linux基础知识学习记录
图5 Vmware安装Linux系统
linux基础知识学习记录
图6 VirtualBox安装Linux系统

四、Linux登录使用

  1. 登录
    root用户:Linux操作系统权限最高的用户,可以管理其他用户和所有文件。
    个人用户:根据需求建立的用户,可以用root赋予不同权限。

  2. 命令行界面和图形界面
    命令行界面:只有终端,通过终端输入命令控制系统
    图形界面:命令行界面+X Window软件
    Ctrl+Alt+F1 切换到图形界面
    Ctrl+Alt+F2~F6切换到命令行界面

  3. Linux热键
    【Tab】 命令行中命令自动补齐
    【Ctrl+c】 结束程序执行(本质是向内核发送信号)
    【Ctrl+d】 输入EOF或exit命令

  4. Linux正确关机顺序
    #sync
    #reboot

五、Linux命令使用

  1. 目录与路径
    cd change directory,改变目录
    pwd print work directory,显示当前目录
    mkdir make directory,创建目录
    rmdir remove directory,删除目录

  2. 文件与目录管理
    ls list,列出指定目录下的所有文件名称
    ll 等价与ls -l,以长格式显示指定目录下的所有文件信息(权限、名称等)
    cp copy,复制指定文件或者目录
    mv move,移动/重命名指定文件或者目录,
    rm remove,删除指定文件或者目录

  3. 文件查看
    cat
    head
    tail
    more
    less

  4. 文件操作
    touch 新建文件
    chgrp 改变文件所属组
    chown 改变文件所属者
    chmod 改变文件权限(rwx)
    chattr 改变文件属性(隐藏权限,a只能追加内容,i不能删除/修改文件)
    lsattr 列出文件属性(隐藏权限)

//设置文件特殊权限–暂未用到,可以以后再学习
SUID 针对二进制可执行程序,让二进制程序的执行者(非拥有者other)具备拥有者(owner)的执行权限
SGID
SBIT

find 查找文件

六、文件压缩

  1. 通过压缩算法,可以减少文件存储大小和文件传输带宽。
  2. Linux系统常用压缩算法
    zip
    gzip
    bz2
    xz
    压缩比 xz>bz2>gzip
    压缩时CPU消耗 xz>bz2>gzip
    一般,通过打包命令tar配合压缩算法实现数据打包压缩
  3. 使用举例
    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.快捷键
linux基础知识学习记录

未完待续…文章来源地址https://www.toymoban.com/news/detail-470117.html

到了这里,关于linux基础知识学习记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go基础知识学习

    百度百科中Go语言的介绍: Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。 Go 语言出生名门,是由Google公司开发出来的。 Go(

    2024年02月12日
    浏览(15)
  • Javascript 基础知识学习

    参考自:https://www.w3cschool.cn/javascript/ JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。 JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代码。 JavaScript 插入 HTML 页面

    2024年02月05日
    浏览(23)
  • 基础知识学习---排序算法

    1、本栏用来记录社招找工作过程中的内容,包括基础知识学习以及面试问题的记录等,以便于后续个人回顾学习; 暂时只有2023年3月份,第一次社招找工作的过程; 2、个人经历: 研究生期间课题是SLAM在无人机上的应用,有接触SLAM、Linux、ROS、C/C++、DJI OSDK等; 3、参加工作

    2024年02月09日
    浏览(20)
  • 机器学习基础知识

    卷积神经网络中,batch是什么? 在卷积神经网络(Convolutional Neural Network,CNN)中,batch是指每次输入模型的一组样本。通常情况下,训练数据集非常庞大,批量处理可以提高计算效率和并行化能力。 在训练过程中,将训练数据集分为多个批次(batches),每个批次包含一定数

    2024年02月16日
    浏览(21)
  • 深度学习基础知识笔记

    怎么样提特征 (1)无人驾驶, 计算机视觉 (2)人脸识别 移动端-计算量太大,速度慢,卡。 参数:成千上百万的。 (3)医学 (4)变脸 (5)图像自动上色 有监督的问题, 1 分类: 挑战:照射角度,形状改变,部分遮挡,背景混入 套路:收集数据给定标签,训练分类器

    2024年02月13日
    浏览(26)
  • 深度学习基础知识整理

    Auto-encoders是一种人工神经网络,用于学习未标记数据的有效编码。它由两个部分组成:编码器和解码器。编码器将输入数据转换为一种更紧凑的表示形式,而解码器则将该表示形式转换回原始数据。这种方法可以用于降维,去噪,特征提取和生成模型。 自编码器的训练过程

    2024年01月17日
    浏览(21)
  • 机器学习基础知识(1)

    机器学习是一种通过输入大量数据来构建一种模型(网络),这个训练好的模型将会被用来预测或执行某些操作,这个训练的过程和方法就是机器学习。 我们也可以理解为构建一个“函数”,使得这个函数面对我们的输入数据能够返回出某些结果,而寻找或者说构建这个函数

    2024年02月14日
    浏览(12)
  • 音频数据处理基本知识学习——降噪滤波基础知识

    滤波是一种信号处理方法,它可以通过消除或减弱信号中的某些频率分量,来实现信号的去噪、去除干扰、增强某些频率成分等目的。常见的滤波方法包括低通滤波、高通滤波、带通滤波等。 降噪是一种信号处理方法,它可以通过消除或减弱信号中的噪声成分,来提高信号的

    2024年02月15日
    浏览(19)
  • (学习笔记)TCP基础知识

    TCP 是 面向连接的、可靠的、基于字节流 的传输层通信协议。 面向连接:一定是[一对一]才能连接,不能像UDP协议可以一个主机同时向多个主机发送消息,也就是一对多是无法做到的; 可靠的:无论网络链路中出现了怎样的链路变化,TCP都可以保证一个报文一定能够到达接收

    2024年02月16日
    浏览(28)
  • 【TypeScript】基础知识学习笔记

    TypeScript的特点: JavaScript的超集,满足所有的JS语法 含有面向对象的静态类型 起步安装:1、npm i typescript -g 2、tsc 文件名 一、TS的基本数据类型 基本数据类型:number、boolean、string、undefined、null、symbol、bigint、void 当中的类型有大小写的区分:大写的类型是给对象使用,小写

    2024年02月09日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包