Chapter 1. Linux 概述

Linux 是一种自由和开放源码的 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多CPU的操作系统。只要遵循 GNU 通用公共许可证(GPL),任何个人和机构均可自由地使用Linux的所有底层源代码。

Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议,继承了 Unix 以网络为核心的设计思想,一个性能稳定的多用户网络操作系统。

1.2 Linux 发行版

一个 Linux 发行版 包括 Linux 内核,以及 整个软件安装到电脑上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件

基于的包管理工具 商业发行版 社区发行版
RPM(Redhat Package Manager) Red Hat Fedora / CentOS
DPKG (Debian Package) Ubuntu Debian

Linux 各发行版的特点:回答源自@王小龙的知乎回答

  • Ubuntu

    国内乃至全球热门的发行版。

    • 安装简单
    • Unity 3D 图形界面较华丽
    • 对一些专有驱动支持较好
    • 社区活跃,几乎遇到的问题均可获得答案
    • 版本更新快,基本半年一个版本
  • Debian

    基础发行版之一,而 Ubuntu 基于 Debian 的。

    • Free最符合开源精神的发行版,默认不包含任何专有驱动。
    • 不求新,求稳。软件包通常选择比较稳定的版本。
    • 系统开发维护完全由社区驱动。
    • APT 软件包管理
    • 图形化安装方式友好
  • Fedora

    常与 Ubuntu 比较的发行版。

    • YUM包管理(提供一些软件工具集合包,例如开发套件)
    • 新技术吸纳快
    • 基本半年一个版本
    • 图形化安装方式友好
    • 由红帽赞助
    • 官网提供多种桌面环境镜像
  • openSUSE

    • 基于企业级的SUSE Linux,再加上德国制造,非常稳定
    • 华丽的KDE桌面,业界称为“最华丽的Linux发行版”
    • 包管理(YaST)倾向于图形化管理,图形界面用户友好程度高。
  • Arch Linux

    • 轻量级且灵活,从选择键盘布局到分区硬盘到安装引导全部由你决定。
    • pacman 软件包管理工具
    • 滚动更新,实时更新。
    • 完备的WIKI,且中文化程度高。
  • CentOS

    • 相当稳定
    • 版本更新紧跟 RedHat Linux 的社区版
    • 适合作为服务器操作系统的使用

1.3 Linux 常用的快捷键

Tab :命令补全 或 文件补齐

ctrl + C :若在Linux底下输入了错误的指令或参数,希望将当前程序中断时,可键入该快捷键。

Ctrl + D :结束键盘输入(End Of File)

Shift + PageUp /PageDown :往 前/后 翻页

1.4 Linux 系统启动过程

1.5 VI / VIM

所有 Unix Like 系统 都会内建 vi 文书编辑器。而 Vim 是从 vi 发展出来的文本编辑器,它是一个程序开发工具而不是文本处理软件。

vi/vim 共有 三种模式:

  • 指令模式(Command mode)

    用户刚启动vi/Vim,即$ vi 文件名,便进入命令模式,注意,此模式下敲击键盘动作会作为Vim识别为命令,而非输入字符

    常用命令(包含但不限于)有:

    • i 切换到编辑模式,以输入字符。注意,iI不同,i为 从目前光标所在处输入
    • x 删除当前光标所在处的字符。
    • : 切换到指令列模式,以在最底一行输入命令。
    • r 进入取代模式(Replace mode),注意,r代表只会取代光标所在的那一个字符一次。

    搜索替换:

    • /字符串:向光标之下寻找一个名称为 word 的字符串。
    • ?字符串:向光标之上寻找一个字符串名称为 word 的字符串。
    • n:重复前一个搜寻的动作
  • 编辑模式(Insert mode)

    该模式下,可以观察到左下角状态栏有-INSERT-字符。

    • BACK SPACE,退格键,删除光标前一个字符
    • DEL,删除键,删除光标后一个字符
    • ESC,退出编辑模式,切换到指令模式
  • 指令列模式(Bottom-line mode)

    在指令模式下按下:即可进入指令列模式,如下有:

    • :w:写入磁盘
    • :w [文件名]:将编辑的数据存储成另一文件(类似另存新档)
    • :w!:当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关
    • :q离开
    • :q!:强制离开
    • :wq写入磁盘后离开
    • :wq!:强制写入磁盘后离开

    ! 往往具有“强制”含义。

1.6 apt 命令

apt(Advanced Packaging Tool)命令,提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令。

注意,apt 命令的执行,往往需要超级管理员权限(root)

1.6.1 apt 语法

$ apt [options] [command] [package ...]
  • [options]:可选,包含 -h(帮助)、-y(当安装过程提示选择全部为"yes")-q(不显示安装的过程)
  • [command]:要进行的操作。
  • [package]:安装的包名。

1.6.2 apt 常用命令

  • $sudo apt update:会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑中。软件包管理器可看到的软件列表,正是通过该命令更新的。

  • $sudo apt upgrade :会将本地已安装的软件,与刚下载的软件列表里对应软件进行对比,提示你哪些软件可升级、新安装了哪些软件包、要卸载哪些软件包。

  • $sudo apt install 软件包1名称 软件包名称 ... :安装指定的软件。如下举例:

    $ sudo apt install qtcreator
  • $sudo apt remove 软件包名称:卸载指定的软件包

Linux 学习笔记02丨Linux 概述、常用快捷键、apt命令的更多相关文章

  1. Linux学习笔记(一)----Ubuntu下的apt命令

    一.原理与目录 先介绍几个和apt-get相关的目录: /var/lib/dpkg/available文件的内容是软件包的描述信息, 该软件包括当前系统所使用的 Debian 安装源中的所有软件包,其 ...

  2. Linux 学习笔记04丨Linux的用户和用户组管理

    Chapter 3. 用户和用户组管理 由于Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号身份进入系统. 3.0 用户与 ...

  3. Linux 学习笔记03丨Linux文件系统、文件基本属性、目录处理及文件查看

    Chapter 2. 文件系统 2.1 Linux 系统目录结构 命令窗口下输入命令: $ ls /,能够看到根目录下的全部目录及文件 树状目录结构为: 最顶级的目录: / :根目录 / 是根目录,~ ...

  4. 【linux学习笔记之一】linux系统目录结构以及常用系统命令

    序 ???这破笔记也要序?? 昨天开始学linux,做好笔记以备日后翻阅 Linux系统目录结构图 bin  --主要用于存放二进制文件(如:命令文件) boot--引导目录 dev  --设备目录 ...

  5. linux学习笔记3:linux的网络配置,rpm包,shell以及samba服务器的使用和安装

    1.linux下的shell<linux命令.编辑器和shell编程> (1)shell种类有很多,常用的有三种,在linux可以通过ls -l /bin/*sh 来显示所有已安装的she ...

  6. Linux学习笔记之查看Linux版本信息

    0x00 概述 这里所谓的Linux版本信息,包括Linux内核版本信息和Linux系统版本信息. 0x01 查看Linux内核版本信息 方法1:登陆Linux,在终端输入 cat /proc/ver ...

  7. Linux学习笔记之(1)~Linux有趣的历史概览

    献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时 ...

  8. linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程

    1.设置任务调度命令crontab 任务调度是指系统在某个时间执行的特定的命令或程序.任务调度分为:1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.2)个别用户工作:个别用户可能希望执行某 ...

  9. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

随机推荐

  1. vue获取路由中的值

    vue中获取路由中的值 在vue中如何获取路由中的值呢?大家先看下面这段代码: this.$route.params && this.$route.params.id 这行代码就是在v ...

  2. oracle 查询数据库锁及锁处理

    1.数据库锁表查询语句: SELECT SESS.SID, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME, AO.OBJECT_NAME 被锁对象 ...

  3. Windows炫酷桌面钢铁侠主题 雨滴 Rainmeter

    首先附上我现在的这个桌面,喜欢的话可以直接使用,我在公众号中设置了回复,[雨滴桌面下载]可以查看下载链接. 介绍一下我们用的工具. Rainmeter 雨滴程序 喜欢的人有研究应该都知道这个程序 这里 ...

  4. java查询elasticsearch聚合

    java查es多分组聚合: SearchRequestBuilder requestBuilderOfLastMonth = transportClient.prepareSearch(TYPE_NA ...

  5. [Luogu P2278] [HNOI2003]操作系统

    题面 传送门:https://www.luogu.org/problemnew/show/P2278 Solutiton 挺简单的一道模拟题,拿堆模拟一下题目意思就好 堆中有两个关键字,分别是优先级和 ...

  6. Maven魔法堂:安装Oracle JDBC Driver依赖的那些坑

    前言 由于Oracle并没有向公开Maven仓库提供任何Oracle JDBC Driver的Jar包,因此我们无法像MySQL.SQLite等那么轻松直接通过Maven加载依赖. 而手动下载Orac ...

  7. Spark架构与原理这一篇就够了

    一.基本介绍 是什么? 快速,通用,可扩展的分布式计算引擎. 弹性分布式数据集RDD RDD(Resilient Distributed Dataset)弹性分布式数据集,是Spark中最基本的数据( ...

  8. Boltzmann Machine 玻尔兹曼机入门

    Generative Models 生成模型帮助我们生成新的item,而不只是存储和提取之前的item.Boltzmann Machine就是Generative Models的一种. Boltzma ...

  9. 2,flask URL进阶

    video5 flask特点: 1,为框架,简介,高扩展性. 2,flask相关依赖(jinja2,werkzeug)设计优秀. 3,开发高效,如SQL的ORM video6 debug模式 我只推荐 ...

  10. MyBatis源码解析

    在讲解MyBatis之前,先说下传统JDBC连接数据库的弊端: 1.JDBC底层没有实现连接池,从而导致操作数据库需要频繁的创建和释放,影响性能: 2.JDBC的代码散落在Java代码中,如果需要修改 ...