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. 在阿里云Ubuntu 14.04.5 LTS下安装nethogs0.8.5

    由于默认安装的nethogs不能使用,提示:Creating socket failed while establishing local IP - are you root? 搜索资料后检查当前版本 ...

  2. requests库响应消息体的四种格式

    1.r.text  文本响应内容,返回字符串类型,获取网页html时用: 2.r.content  字节响应内容,返回字节类型,下载图片或者文件时用: 3.r.json json解码响应内容,返回字典 ...

  3. CodeForces 1418D Trash Problem

    题意 数轴上有 \(n\) 个点,每一次你可以将所有位置在 \(x\) 的点移动到 \(x-1\) 或者是移动到 \(x+1\),花费为 \(1\). 有 \(q\) 次操作,每一次会在数轴上添加一个 ...

  4. win10 hyper-v的开启和关闭

    一.开启: 1. 控制面板->程序->启用或关闭Windows功能,Windows功能中勾选hyper-v功能 2. powershell中使用管理员权限运行下面的命令 bcdedit / ...

  5. Java学习的第十五天

    1.今天复习了第四章的内容 重新看了看方法参数问题,final修饰的关键字 2.今天没问题 3.明天学习多态变化

  6. curl 錯誤碼

    CURL状态码列表 状态码 状态原因 解释 0 正常访问 1 错误的协议 未支持的协议.此版cURL 不支持这一协议. 2 初始化代码失败 初始化失败. 3 URL格式不正确 URL 格式错误.语法不 ...

  7. 一篇搞定Java集合类原理

    Java集合类实现原理 1.Iterable接口 定义了迭代集合的迭代方法 iterator() forEach() 对1.8的Lambda表达式提供了支持 2. Collection接口 定义了集合 ...

  8. python之冒泡排序改进

    冒泡排序改进 关注公众号"轻松学编程"了解更多. 一.普通冒泡排序 [22,3,1,6,7,8,2,5] 普通冒泡排序 思路: 第一趟排序 从下标0开始,取出对应的值22 22和3 ...

  9. [Luogu P1006]传纸条 (网格DP)

    题面 传送门:https://www.luogu.org/problemnew/show/P1006 Solution 挺显然但需要一定理解的网络(应该是那么叫吧)DP 首先有一个显然但重要的结论要发 ...

  10. 如何做可靠的分布式锁,Redlock真的可行么

    本文是对 Martin Kleppmann 的文章 How to do distributed locking 部分内容的翻译和总结,上次写 Redlock 的原因就是看到了 Martin 的这篇文章 ...