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. D. Palindromic characteristics 解析(DP)

    Codeforce 835 D. Palindromic characteristics 解析(DP) 今天我們來看看CF835D 題目連結 題目 略,請看原題 前言 想不到這種狀態... @copy ...

  2. Error response from daemon: conflict: unable to delete a2f2e369e78e (cannot be forced) - image has dependent child images

    错误现象: Error response from daemon: conflict: unable to delete a2f2e369e78e (cannot be forced) - image ...

  3. Java 复制到剪贴板

    public void copy(String str) { StringSelection stsel = new StringSelection(str); Toolkit.getDefaultT ...

  4. Luogu P3262 [JLOI2015]战争调度

    题意 给定一棵高度为 \(n\) 的完全二叉树,可以将节点设置成两种状态.如果某个叶子 \(x\) 的状态为 \(i\) 同时他的某个祖先也为 \(i\),那么这个叶子就会对祖先产生 \(f_{x,i ...

  5. NOI2020D1T1美食家

    传送门:QAQQAQ 完了完了NOI签到题全班打不出来,真就全部成为时代的眼泪了... 首先$O(mT)$的$dp$显然,然后因为$T$很大$w$很小矩阵快速幂显然,但是有$k=200$卡不过去. 然 ...

  6. 手写cli

    惠善一的博客:http://huishanyi.club/ 通过命令行工具,初始化团队项目,并生成团队规范代码,一键创建项目,一键生成代码,一键生成功能模块··· 解放双手,从 cli 开始, JSe ...

  7. 6 MVVM进阶

    1. 背景 MVVM是一种常用的设计模式,它的最主要功能是将数据与代码隔离,实现viewmodel的可测试.架构图如下: 2. 命令-Command 2.1 WPF 路由命令 WPF提供一种内置的命令 ...

  8. Python基本数据类型与数据结构(数据挖掘学习)

    前言 最近工作和研究涉及到数据挖掘和机器学习,出于归纳和总结知识的目的写下这一系列的文章,这一系列文章将会包括Python的基本数据类型和数据结构,函数和面向对象相关的知识,然后会介绍数据挖掘和机器学 ...

  9. Java实现FTP跨服务器文件操作

    在过去的几年工作中,曾经多次需要把文件上传到单独的服务器,而程序是在单独的服务器上部署的,在进行文件操作的时候就需要跨服务器进行操作包括:文件上传.文件下载.文件删除等.跨服务器文件操作一般是需要FT ...

  10. 《Machine Learning in Action》—— 剖析支持向量机,单手狂撕线性SVM

    <Machine Learning in Action>-- 剖析支持向量机,单手狂撕线性SVM 前面在写NumPy文章的结尾处也有提到,本来是打算按照<机器学习实战 / Machi ...