Week 1 Linux Intro

I.  Linux的各种发行版

All Kinds of Linux

    在Linux诞生的20多年里,Linux衍变出了许许多多的版本,每个都有自己的名字,但它们的本质和它们的哲学观还是一样的。下面是从外网上扒下来的一张Linux进化图,跨度一直到了2016年。

QQ图片20160620192015_看图王(1).png

2.png

3.png

    按照图上的来看,Linux的3大分支分别是Slackware,Debian和Redhat,其中Debian最为庞大。

    Debian中比较出名的有Ubuntu和Linux Mint。其中Ubuntu是很多新手第一个知道的Linux发行版(包括我)。

    Redhat是一家做系统的公司。他们针对的是主要是企业级用户。他们旗下本来有两个Linux系统,一个针对企业级的,一个针对个人。虽然系统是开源的,但升级补丁和其服务价格比较昂贵。后来Redhat放弃了个人级系统,把这个系统移交给一个叫做Fedora的社区维护。这个系统现在叫Fedora,每6个月会发行一个新版本。CentOS是Redhat企业级,RedHat Eenterprise Linux,的二次发行的版本。比起CentOS,RHEL修复了很多漏洞,各方面也比较完美。CentOS就是一个相对旧版本的RHEL。RHEL一般每18个月发行一个新版本。Redhat并不在意CentOS作为他们系统的二次发行,因为他们的客户重视的不是系统而是他们提供的服务和支持。CentOS是以后进大公司之前的一个很好的联系平台。

    Slackware这个名字本身可能比较陌生,但它的一个发行版,SUSE,比较有名而且也有不少用户。

    Android(安卓)也是Linux的一个发行版。Android=Linux kernel+busybox+Java虚拟机。它有着一颗Linux的心。

    以上是常见的Linux发行版。

II.  Linux的哲学思想

The Philosophy behind Linux

    Linux的哲学思想为以下4点。每一条都附上了我本人的理解。

        1. 一切皆文件:不仅普通文件是文件,目录(文件夹),硬件设备等等都算文件。

        2. 由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好:Linux的程序就像很多零件拼成的高达。你这么想象一下。

        3. 尽量避免跟用户交互:尽可能自动化,因为与用户的交互有时会带来错误:把工作都交给计算机。

        4. 使用纯文本文件保存配置信息:这样使用文本编辑器即可完成系统配置。

II.  Linux的基本命令

The Philosophy behind Linux

    Linux上的命令格式为:Command+[Options…]+[Arugments…]

    其中Options可以开启或关闭命令的某些功能。Options分为长选项和短选项。长选项为“–”加上一个单词,比如“–vertical”。短选项为“-”加上一个字母,比如“-p”。

    Arguments,即参数,是向命令提供数据的。

    有些命令是不需要Options或者Arguments的。接下来我会介绍几个常见的命令。

    

ifconfig


    QQ图片20160625214020.png

    以上为ifconfig在man手册里的介绍。关于man命令我们稍后会讲到。顺带一提,作者还很亲切地提示到这个命令已经非常过时了。他推荐我们使用ip这个命令。

    简单的来说ifconfig就是一个开机的时候配置网络的。平时我们用到这个命令要么是为了debug要么是为了调试系统。

    12.png

    如图,ifconfig显示了系统网络的状态。

echo


    13.png

    在manual里面,echo的描述是显现一行文字。

    下面是一些echo的例子。

    14.png

    echo有些短选项比较常用,比如-n。

    18.png

    你看这就没换行。

tty


    15.png

    上面是tty在man里面的描述。tty就是告诉你你现在在哪个terminal上运行。

    比如:

    16.png

    17.png

startx

    

    19.png

    startx用来启动X Window,一般不需要参数。

    20.png

    然而我的CentOS上会报错,希望了解的人可以解释下。

export


    21.png

    export可以用来改变变量等等。比如上面的例子中,HISCONTROL这个变量就改成了ignoreboth。

pwd

    

    23.png

    pwd显示现在所在的目录。

    下面是一些例子:

    22.png

    

history


    history这个命令显示过去执行过的命令。

    比如:

         24.png

        history也用几个常用的选项。在help里面有提到。

        25.png

        比较常用的有-c:消除所有的记录。

        26.png

    

shutdown

    

    shutdown这个命令如其名,默认就是关机。

    27.png

    shutdown有很多短选项。 

    28.png

    比如说 -r: 重启

                -h:关机

     等等

poweroff & reboot


    poweroff即关机,reboot即重启。

hwclock


    计算机的主板上有一个硬件时钟一直记录着时间。hwclock可以显示这个时间。

    29.png

    有两个比较常用选项。

    -s, –hctosys(将系统时间设置为硬件时间)

    -w, –systohc(将硬件时间设置为系统时间)

date


    30.png

    date这个命令显示现在系统时间。注意,这个时间可能和硬件时钟不一样。

    date也可以设定系统时间。选项为-s。

    格式为 date -s [MMDDhhmm[[CC]YY][.ss]]

    比如:

            date -s 111623122016.23

            即把系统时间设置为2016年11月16日23点12分23秒

    

III.  在Linux上获取帮助

How to get professional help?

    用type命令查看下命令是内建的还是外部的。

    内建的命令用“help”+命令查看帮助。

    外部的命令用命令+”-h"或者“–help”来查看帮助,亦可用"man"+命令来查看。

    以下为“help cd”的运行结果。

    32.png

     以下为“man ls”的运行结果。

    33.png

    

    man位于/usr/share/man。man里面的文档分为8个章节

        man1: 普通用户命令

man2: 系统调用

man3: C库调用

man4: 设备文件及特殊文件,是/dev下的文件

man5: 文件的格式

man6: 留给游戏开发商来定义。

man7: 杂项,比如说环境变量这里就有说明。

man8: 系统管理类的命令。这个只能有root运行,如ifconfig。


IV.  Linux的基础目录名称命名

FileSystem Hierarchy Standard

    36.png

    /bin:供所有用户使用的基本命令。bin不能关联到独立分区。这些是OS启动就会用到的命令。

    /sbin:管理类的基本命令,亦不能关联至独立分区。这些是OS启动就会用到的命令。

    /lib:基本共享库文件,以及内核模块文件(/lib/modules)

    /lib64:64位系统的辅助共享库文件存放位置

    /etc:配置文件目录(注意,Linux的配置文件为纯文本文件)

    /home/USERNAME:普通用户家目录

    /root:管理员的家目录

    /media:便携式移动设备挂载点。u盘啊,移动硬盘之类的。

    /mnt:临时文件系统挂载点。挂载的固态硬盘的挂载点。

    /dev:设备文件及特殊文件的存储位置

    /opt:第三方应用程序的安装位置

    /srv:系统上运行服务所用到的数据

    /tmp:临时文件存储位置

    /usr: Universal Shared, Read-only Data(共享只读类文件的存储位置)

    /var: variable data files

        cache: 应用程序缓存数据目录

lib: 应用程序状态信息数据

local:专用于为/usr/local下的应用程序存储可变数据

        lock: 锁文件

log: 日志目录及文件

opt: 专用于为/opt下的应用程序存储可变数据

run: 运行中的进程相关的数据;通常用于存储进程的pid文件

spool: 应用程序数据池

tmp: 保存系统两次重启之间产生的临时数据

    /proc: 用于输出kernel与进程信息相关的虚拟文件系统

    /sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统

    /selinux: Security Enhanced Linux。selinux相关的安全策略信息的存储位置

    以上为Linux文件系统的命名方式。


原创文章,作者:mercerchen,如若转载,请注明出处:http://www.178linux.com/19008

(0)
上一篇 2016-06-26 22:49
下一篇 2016-06-26 22:49

相关推荐

  • 对文件目录操作命令详解

    对文件目录操作命令详解 cd——切换目录 pwd——显示当前工作目录 ls——列出目录内容 touch——创建空文件和刷新时间 stat——查看文件状态 cp——复制文件和目录 mv——移动和重命名文件 rm——删除文件或目录 目录操作 tree 显示目录树 mkdir 创建目录 rmdir 删除空目录 rm -r 递归删除目录树 alias——命令别名 文…

    Linux干货 2016-09-06
  • 几个有意思的小脚本

    ①.用脚本画一个圣诞树 效果 ②.用脚本画一个类似国际象棋的棋盘 半成品效果 再像这样在下面多写几个循环,就可以了,我这个方法太笨,全写完要截图的太多,就放一部分意思下 ③.编写一个脚本,打印出九九乘法表 效果 ④.编写一个脚本,可接收一个 1-7 的数字作为参数,用 if 和 case 两种方法实现根据输入的数字输出对应星期的英文 用if的方法 用case…

    2017-05-11
  • shell脚本编程之函数、case语句

    一、函数 调用函数前必须先定义,调用时仅使用函数名即可。 语法: function  函数名 {      函数体 } 也可表示为: 函数名 () { 函数体 } 示例:写一个脚本,判定网络内有哪些主机在线,在线的用绿色显示,不在线的用红示表示: c_net&…

    Linux干货 2015-08-24
  • 互联网的实现

    互联网的实现 全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡就收到了,两者实际上根本就不知道对方的物理位置,这难道不是一件很神奇的事情吗? 互联网的**核心**是一些列协议,总称为“互联网协议”(Internet Protocol Suite)。它们对电脑如何连接和组网做出了详细的规定。 互联网协议入门 概述 五层模型…

    Linux干货 2017-05-05
  • Linux终端类型

    Linux终端类型 Linux系统中的终端基本都在/dev目录下,可分为文本命令行模式和图形界面模式。命令行模式是一种字符设备,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机,是由Teletype公司生产的。 1、 物理终端 在Unix系统中,计算机显示器通常被称为控制台终端。…

    Linux干货 2016-10-14
  • http请求过程

    1、浏览器根据访问的域名找到其IP地址。DNS查找过程如下: 1.浏览器缓存:浏览器会缓存DNS记录一段时间。 2.系统缓存:如果在浏览器缓存里没有找到需要的域名,浏览器会查系统缓存中的记录。 3.路由器缓存:如果系统缓存也没找到需要的域名,则会向路由器发送查询请求。 4.ISP DNS缓存:如果依然没找到需要的域名,则最后要查的就是ISP缓存DNS的服务器…

    Linux干货 2017-10-23

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:24

    写的很好,可以多注意一下排版问题,加油