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. react-native 签名

    完成项目时,我们需要将项目打包成一个apk,方便测试以及发布版本. 这时,需要把js代码和图片资源都放进apk中, 并且发布版本还需要签名,今天把这一系列操作记录下来. 一.生成离线bundle包 离 ...

  2. D. Concatenated Multiples 解析(思維)

    Codeforce 1029 D. Concatenated Multiples 解析(思維) 今天我們來看看CF1029D 題目連結 題目 給你一個序列\(a\)和一個數字\(k\),求有幾種ind ...

  3. 【转】Event Driven Programming

    FROM: http://lazyfoo.net/tutorials/SDL/03_event_driven_programming/index.php Event Driven Programmin ...

  4. vue父组件促发子组件中的方法

    实现在父组件中促发子组件里面的方法 子组件: <template> <div> 我是子组件 </div> </template> <script& ...

  5. 4g物联网模块的原理

    4G DTU模块也可以被称之为是含有第四代移动通信技术的模块,是随着科技不断发展进步下物联网和移动互联网发展下的又一产物.而4G技术包括TD-LTE和FDD-LTE两种制式.集3G与WLAN于一体并能 ...

  6. 「MCOI-03」村国题解

    第二篇题解! 可能是退役之前的最后一篇题解了 (好像总共都只写了两篇) 不说了,讲题: 题面 题意: 有T个数据 有一颗树(保证所有的的节点都是相连的),有n个节点,每个节点都有相应的权值与序号,现在 ...

  7. [Luogu P3899] [湖南集训]谈笑风生 (主席树)

    题面 传送门:https://www.luogu.org/problemnew/show/P3899 Solution 你们搞的这道题啊,excited! 这题真的很有意思. 首先,我们可以先理解一下 ...

  8. 微信小程序获取普通二维码

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. unix进程间通信方式(IPC)

    unix进程间通信方式(IPC) 管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信. 命名管道(named pipe):命名管道克服了管道没有 ...

  10. 2,flask URL进阶

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