天天看点

Linux基础知识

linux基础知识

一.linux界面

    1)gui:图形化界面接口gnome是一个可视化的界面,对于初学者使用起来比较简单,由c语言编写;

    2)cli:命令行界面,通过输入命令来进行操作,熟悉后会大大增加工作效率。

二.命令

    1)命令提示符:在linux终端模式中会出现类似如下字符,称为命令提示符

        [root@localhost ~]# 

        root:当前成功登录系统的用户账户名称;

        localhost:当前主机名称的主机名部分;

        ~:当前用户操作时的工作目录,~意思是家目录;

        #:用户身份提示符;

            #:表示超级用户身份

            $:表示普通用户身份

    2)命令的格式:

        command options argument

        command:本次想要执行的操作,想要发起的进程;

            内部命令:也叫内建命令或内置命令;直接内建于shell的命令;

            外部命令:通过安装某些应用程序而安装的命令;

        options:修正命令的执行效果的组成部分;

            短选项:

                -char

                -a, -b, -i, ...

                某些特殊的命令还有特殊的短选项:

                    +char

                    +c, ...

                当同时使用多个短选项时,可以将其合并书写,如:

                    - a -b -i -c <==> -abci

            长选项:

                --word

                --help, --all, --verbose, --list, ...

                注意:当一个命令中同时有多个长选项时,不可以合并书写;

            注意:

                1.有些选项,其选项本身需要参数;

                2.有些特殊的命令在写选项时,可以不写"-";有些特殊的命令,在写选项时,一定不能写"-";

                3.有些特殊命令的长选项,只使用一个"-";

        argument(parameters):此次执行的命令的操作目标对象;

            1.有的命令无需写参数;

            2.有的命令必须写参数;

            3.有的命令必须要写多个参数;

        注意:

            1.在书写命令的时候,command、options、argument之间必须使用至少一个空白字符进行分隔;

            2.有些命令在执行的时候,options和argument可以交换位置;

            3.由于文件系统的限制,导致命令中的command、options、argument必须区分大小写;

三.获取命令帮助的方法

    1)使用man指令

        man 本身是一个命令,查看针对于外部命令的帮助手册,使用方法:

            man 命令/工具/程序名

        man共有九章内容:

            1.用户命令(所有用户都能执行的命令)

            2.系统调用

            3.c库调用

            4.设备和特殊文件,通常在/dev

            5.文件的格式和转换方式(配置文件格式)

            6.游戏

            7.杂项

            8.系统管理类命令(普通用户无法操作)

            9.与内核相关的帮助

        man中常见字段:

            name:程序名称及相关功能简单描述;

            synopsis(语法):命令使用的语法格式;

            description:相关应用程序的详细描述信息;

            options:选项的用法和选项含义的详细说明;

                前四项比较常见

      author:作者;

      examples;

      reporting bugs:报告bug;

      see also:额外参考的内容;

      files:与该程序相关的其他文献资料,如配置文件,readme文档等等;

        man中可能出现的符号:

            []:意味此处可省略不写,也可根据需要选择使用;

            {}:大括号中一般包含“|”,表示从所有项中选择且只能选择一个使用;

            <>:此处为必须书写内容;

             ...:此处可以有更多内容;

        注意:man指令只能获取外部指令的帮助信息,内部命令获取帮助需使用help命令,区分命令为外部指令还是内部 指令可以使用type命令。

    2)whereis

        获得应用程序的二进制文件/帮助手册/源代码等等的路径

    3)whatis

        读取whatis的数据库,可以获取被匹配到的命令的手册页的描述信息

    4)which

        显示命令别名定义方式,二进制文件路径

    5)info

        info command,获得在线的命令手册

    6)有很多的程序有自带的帮助文档,通常在/usr/share/doc/app_name-version/*

        readme:程序的相关信息

        install:程序的安装信息

        changes:程序的版本更迭的历程相关信息

        license:许可证类型

    7)搜索引擎

    8)相关站点的文档信息

    9)程序发行官方站点

    10)参考书籍

        o'reiley 

        wrox 

        电子工业出版社

四.简单的系统管理类命令

    注销类:

        exit

        logout

        crtl+d

    重新引导(重启类):

        reboot

        shutdown -r -t {#|now|time}(推荐)

        init 6

    关闭系统:

        shlt

        poweroff

        shutdown -h {#|now|time}(推荐)

        init 0

五.linux的哲学思想

    1)一切皆文件

        linux几乎把所有的数据和资源都抽象成文件的形式,甚至包括硬件,网络通信设备所使用的套接字以及管道都是如此。

        文件:一组有边界的位于存储设备中的流式数据

    2)由众多的功能单一的小程序组成,却可以实现复杂任务

    3)尽量避免与用户直接交互

    4)使用纯文本文件来保存程序的配置信息

        在程序出现错误或者执行不畅的时候,可以使用文本编辑工具分析程序的错误原因,而不必依赖于二进制文件。

六.文件系统

    1)文件是分为两部分来存放的:

        元数据:描述文件的属性

        数据:文件的内容

    2)分层编址方式:

        在文件系统中,基于文件名引用文件,按名进行文件存取。

        在文件系统中,对于文件名有一系列的规定:

            1.文件名中不能包含"/"

                "/"表示根文件系统:即为linux文件的原初起点

                "/"表示路径分隔符

            2.文件名的长度不能超过255字符

            3.在同一位置,文件名不能重复使用

            4.文件的名称严格区分大小写

                注意:是否区分大小写决定在文件系统而不在操作系统

    3)文件系统使用路径的概念标识文件的位置,所谓路径,就是定位一个文件所在的位置时所必须经过的木的层级结构的集合

        文件系统中的路径的描述方式:

            绝对路径:

                一切以"/"开始查找的路径

            相对路径:

                ".":当前工作目录

                "..":上一级目录

    4)家目录:每个用户在登录系统时默认的当前工作目录,也是每个用户的起始目录

        任何一个路径都是由两部分组成:

            文件的基名:

                basename

            文件的目录名:

                dirname

七.fhs:文件系统层级标准

    bin:binary,所有用户可以执行的普通操作命令,二进制文件

    boot:引导操作系统启动的静态文件,包括:引导程序,linux内核,initramfs等

    dev:device,设备文件所存的位置

        块设备:block device,随机访问,指的是能够实现数据存放的设备

        字符设备:character device,顺序访问(线性访问),指的是能够实现数据传输和数据处理功能的设备

    etc:extrenal text configure,额外的文本配置文件,存放主机中各应用程序的配置文件

    home:普通用户的默认家目录的根

    lib,lib64:library,存放应用程序共享库的目录,内核的模块;

    media:可移动设备的挂载点

    mnt:临时文件系统的挂载点

    opt:optional,可选的,以前此目录是非常流行的第三方应用程序的安装目录

    root:root用户的家目录

    run:保存一些进程的pid文件

    sbin:super binary,存放那些只有超级用户root才能执行的系统管理类的命令

    srv:存放由系统提供的服务的数据

    tmp:temporary,临时文件目录,系统每30天会自动清理该目录中的在30天以上没有访问过的文件

    usr:usual system root,通用系统根,相当于linux系统的第二根,现在主要用于安装第三方应用程序

        usr/local:第三根,主要用于通过编译源代码的方式来安装第三方应用程序

        usr/src:存放第三方应用程序的源代码

    var:variable,变量,存放可变化的数据,数据库类文件

    伪文件系统:其中存放的是内存中的数据通过操作系统映射的文件

    proc:process,进程

    sys:

八.文件类型

    1)根据颜色来区分文件类型:

         黑色或者白色:普通文本文件,regular file;

         绿色:可执行文件,命令

         ×××:设备文件,包括块设备和字符设备

         红色:包文件,包括软件包、压缩包、归档包等;

         深蓝色:目录

         青蓝色:符号链接文件,相当于windows的快捷方式

         紫色:套接字文件

         棕色:管道文件

    2)根据文件类型的标记来区分:

         -:普通文件

         b:块设备文件

         c:字符设备文件

         d:目录文件

         l:符号链接文件

         p:管道文件

         s:套接字文件

    3)用file命令

继续阅读