Linux学习笔记1

文章目录
  1. 1. Linux严格区分大小写
  2. 2. Linux domain
  3. 3. Linux版本
  4. 4. linux桌面环境介绍
  5. 5. 终端(Terminal)
  6. 6. 重要的快捷键
  7. 7. 学习使用通配符
  8. 8. apt-get update和 apt-upgrade的区别

####如何学习

  1. 学习心态
    明确目的:你是要用 Linux 来干什么,搭建服务器,做程序开发,还是日常办公,还是娱乐游戏;
    面对现实:Linux 大都在命令行下操作,能否接受不用或少用图形界面;
    是学习 Linux 操作系统本身还是某一个Linux发行版(Ubuntu,CentOS,Fedora,OpenSUSE,Debian,Mint 等等),如果你对发行版的概念或者它们之间的关系不明确的话可以参看Linux 发行版

  2. 学习路径(注重基础,重头开始)

Linux严格区分大小写
  • Linux不靠扩展名区分文件类型(靠文件的权限来区分文件类型)
  • .rpm 二进制软件包 .sh(脚本文件,可执行文件), *.conf(配置文件)
  • Linux中所有内容以文件方式保存,包括硬件、用户(一切东西皆是文件)
Linux domain
  • 字符界面占用资源更少,出错被攻击概率小
  • domainn service域名服务
    whois domain获取domain的whois信息
    dig domain 获取domain的DNS信息
Linux版本

一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDEGNOME,并包含数千种从[办公套件],[编译器],[文本编辑器]:到科学工具的应用软件。
格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统

linux桌面环境介绍

LInux/unix本身没有图形化界面,我们看到的图形化界面是运行在linux系统上的一套软件,这套软件现在是xorg(X本身只是工具包和架构协议,xorg是实现了x协议规范并提供图形用户界面服务的服务器),就像实现了HTTP协议提供web服务的Apach,如果只有服务器是不可能实现完整的桌面环境的,还需要一个客户端X client,最流行实现桌面客户端服务的客户端有KDE,GNOME,LXDE,XFCE,实验楼是XFCE

终端(Terminal)
  1. 在使用Linux系统时,我们不是直接与Linux系统本身打交道,而是通过Shell(命令行解释器)中间程序完成的,Teminal为了在图形化界面接受用户输入和显示输出,几个比较常见的终端模拟器,例如 gnome-terminal,kconsole,xterm,rxvt,kvt,nxterm 和 eterm
    注意这里说的终端(Termianl)和控制台(termianl)是有区别的

    终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录,在物理机系统上你可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,当你切换到其中一个终端后想要切换回图形界面,你可以按下[Ctrl]+[Alt]+[F7]来完成。

  2. shell
    在实际桌面环境的使用过程中,正真带来差异的不是不同发行版本的终端,而是shell(壳),有核就有壳,shell就是命令行解释器,普通意义上就是接受用户输入命令的程序,它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。 Unix/Linux 下的图形用户界面 GNOME 和 KDE有时也被叫做“虚拟 shell”或“图形 shell”。

    Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言,在 UNIX/Linux 中比较流行的常见的 Shell 有 bash,zsh,ksh,csh 等等,Ubuntu 终端默认使用的是 bash,默认的桌面环境是 GNOME 或者 Unity(基于 GNOME)

重要的快捷键
  1. tab 补全命令,补全路径,补全命令参数
    (可以一边输入,按tab下面提示,再在上方继续输入)
  2. ctrl+C 中止退出当前执行命令
    Python中( ctrl+C ctrl+z q exit()总有一个是)
  3. 键盘向键, 显示历史输入命令,恢复你之前输入过的命令
学习使用通配符

通配符是一种特殊语句,主要有星号和问号(?),用来对对字符串进行模糊匹配(比如文件名,参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。 通配符 实际上就是一种 Shell 实现的路径扩展功能。在 通配符被处理后, Shell 会先完成该命令的重组,然后再继续处理重组后的命令,直至执行该命令

终端里面输入的通配符是由 Shell 处理的,不是由所涉及到命令语句处理的,它只会出现在命令的“参数值”里(它不用在 命令名称里)。当 Shell 在“参数值”中遇到了通配符时,Shell 会将其当作路径或文件名去在磁盘上搜寻可能的匹配:若符合要求的匹配存在,则进行代换(路径扩展);否则就将该通配符作为一个普通字符传递给“命令”,然后再由命令进行处理。

######在命令行中获取帮助(其实就是获取在线手册)
在 Linux 环境中,如果你遇到困难,可以使用 man 命令,它是Manual page的缩写。

Manual pages 是在 UNIX 或类 UNIX 操作系统在线软件文档的一种普遍的形式。 内容包括计算机程序(包括库和系统调用),正式的标准和惯例,甚至是抽象的概念。用户可以通过执行 man 命令调用手册页。

你可以使用如下方式来获得某个命令的说明和使用方式的详细介绍:
$ man <command_name>
比如你想查看 man 命令本身的使用方式,你可以输入:
man man


通常情况下,man 手册里面的内容都是英文的,这就要求你有一定的英文基础。man 手册的内容很多,涉及了 Linux 使用过程中的方方面面,为了便于查找,是做了分册(分区段)处理的,在Research UNIX、BSD、OS X 和 Linux 中,手册通常被分为8个区段,安排如下:

要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如:
$ man 1 ls
会显示第一区段中的ls 命令man页面

所有的手册页遵循一个常见的布局,其为通过简单的 ASCII 文本展示而优化,而这种情况下可能没有任何形式的高亮或字体控制。一般包括以下部分内容:

apt-get update和 apt-upgrade的区别

update是下载源里面的metadata的. 包括这个源有什么包, 每个包什么版本之类的.
upgrade是根据update命令下载的metadata决定要更新什么包(同时获取每个包的位置).
安装软件之前, 可以不upgrade, 但是要update. 因为旧的信息指向了旧版本的包, 但是源的服务器更新了之后旧的包可能被新的替代了, 于是你会遇到404…

也就是说:
update更新软件包索引,就是告诉包管理器最新的一份源里面的软件包版本信息,upgrade是通常意义的更新软件包。

分享到 评论