zoukankan      html  css  js  c++  java
  • Linux 基础入门

    1 Linux哲学思想

        这5个基本思想对理解Linux会很有帮助。

    • 一切皆文件
    • 短小且目的单一的程序组成
    • 串联多个小程序完成复杂人物
    • 尽量避免捕获用户接口
    • 通过文本文件保存软件的配置信息

    2 使用centos

    2.1 界面

        界面一般分为:

    • 字符界面(CLI程序)
    • 图形界面(GUI程序)

    2.1.1 字符界面

        CLI是Linux的使用基础。在Linux上需要抛弃许多Windows使用的习惯。通常使用CLI往往比GUI更高效。CLI本质上是一个shell程序。

    wps_clip_image-16545

    2.1.2 用户界面

        centos上默认安装的GUI程序为GNOME。前提是,安装系统时已经安装了该程序。

    wps_clip_image-10873

    2.1.3 在CLI下启动GUI

        若启动为CLI界面,即startx & 开启GUI界面。

    wps_clip_image-21419

    图像桌面,可以启动多个。

    例:启动第二个桌面。使用“--:2”就启动第三个桌面。以此类推。

    # startx -- :1 &

    2.2 用户与用户登录

    2.2.1 Linux用户分类

    • 管理员:又称超级用户。拥有任意系统权限。用户名为root。其命令可以工作在CPU内核模式下(ring 0)。只要管理员才允许使用管理命令。
    • 普通用户:

        注意:一般不要使用生产环境下的管理员登录系统。因为管理员太过于强大,同时我们一般都会存在误操作。

    2.2.2 用户登录

        登录系统时,Linux使用login应用程序使用户登录。

        Login程序在输入密码是不会有任何显示的。

    2.2.3 命令提示符

    用户登录后,可以看到如下文字与光标。

    wps_clip_image-29621

    root是当前有效用户。

    centos是主机名的简写。FQDN的第一段。

    ~:波浪线,表示当前目录,又称为工作目录。每个用户进入系统中后,都处于一目录中,当前所处的目录,即工作目录。此处显示表示基名。

    prompt:命令提示符。此处显示的#号。即在命令提示符后可以输入命令。

    • 对于管理员,命令提示符为 # 。
    • 对于普通用户,命令提示符为 $ 。

    2.2.4 注销用户

    注销命令:logout

    3 Mainframe与终端

        Linux不是Unix,是类Unix。Unix-like: Mainframe: 大型机 多用户、多任务

        Linux提供多任务,多用户。

    wps_clip_image-21685

        终端:terminal,显示设备+输入设备。Linux提供多个终端。Linux登录提示符与终端一一对应。

        有显卡的终端为VGA终端,没有显卡的终端为Serial终端(串行终端)。

        系统启动默认直接关联的终端称为控制台,Console。当内核初始化完成后,控制台记录了内核其他的信息。系统才可以使用应用程序,即可以开始使用多个终端了。

        终端类型:

    • 物理终端:控制台。
    • 串行终端:
    • 虚拟终端:并不是真正的终端。是虚拟出来的。即一个系统,一个终端,可以有多个用户同时登录。红帽Linux提供6个虚拟终端。切换方法:Ctrl+Alt+F[1-6] 。
    • 伪终端:远程登录的终端、图形界面下的终端。

    3.1 终端间切换

        使用ctrl+alt+F(1~n)。可以在不同终端间不断切换。   

    3.2 GUI终端

        在centos的桌面系统中,右击鼠标,点击Open in Terminal 。

    wps_clip_image-5368

    显示一个终端。这是一个模拟终端,也是一个伪终端。

    wps_clip_image-10100

    3.3 CentOS桌面命令行工具的一些技巧

    1. ctrl+shift+t 增加一个伪终端,同时新增一个标签。

    2. Ctrl+Shift+PgUp / Ctrl+Shift+PgDn   切换标签。

    3. Ctrl+Shift+C / Ctrl+Shift+V 复制选中的内容 / 粘贴。

    4. Shift+PgUp / Shift+PgDn 向上/向下翻页。

    wps_clip_image-31241

    4 初识shell与命令使用基础

        shell以命令的形式为用户提供操作Linux的接口。提供一个CLI环境与计算机使用者交互。

        shell程序严格区分大小写。

        Linux Shell命令的语法格式

        基本格式:

            COMMAND  options  arguments  即 命令名称 选项 参数

     

        参数:

            定义命令的作用对象。   

        选项:

            定义命令的执行特性。选择间用空格隔开。

    • 长选项:使用--引导,后跟单词,如--help, --verbose
    • 短选项:使用-引导,后跟单个字符,如-h, -l, -a

            多个短选项可以组合。如:-h, -l, -a 可组合为 -hla。有些选项也可以带参数。

        说明:

    • shell命令不能随意使用空格,因为可能会破坏命令格式。
    • 若必须使用空格可能会破坏命令格式的话,则使用双引号将部分内容括起来。

    4.1 shell命令命令分类

        shell本质是一个命令解释器,其负责调用外部程序或执行shell内置的命令。    

        所以,shell命令有两类:

    • 外部命令:此类命令由可执行程序提供。
    • 内建命令:shell程序自身附带的命令。

    4.2 命令使用初步

    4.2.1 清除屏幕

        输入:clear

        或使用快捷键【Ctrl】+【L】

    4.2.2 显示当前用户

        whoami 命令显示当前用户名。

    4.2.3 查看命令类型

    使用type命令 查看命令类型

    wps_clip_image-30104

    4.2.4 查看外部命令路径

        使用which命令查看外部命令的执行程序所在的路径。

    例,查看ls命令程序的路径。

    # which ls

    wps_clip_image-8852

    例,查看history命令程序的路径。

    # which history

    wps_clip_image-17036

    显示不存在。

    4.2.5 history的命令历史

    1、history命令:显示此前的命令。# history

        命令历史是保存在文件中的,保存于~/.bash_history文件中(~为家目录,即不同用户用于不同的.bash_history文件)。所以只要是正常退出,该文件就保持之前所有命令,再次登录,之前的命令依然可以使用history命令显示。

        Linux中“.”开头的文件名的文件都是隐藏的。使用ls -a 命令可以查看当前路径下的所有文件。

    wps_clip_image-31897

        ~/.bash_history该文件由环境变量HISTFILE所定义。

    wps_clip_image-31918

    2、命令参数的使用

    • 参数的使用

    # history 3  显示最后使用的3条命令记录。

    • 选项的使用

    # history -c  删除history的命令记录。

    # history -w 手动保存history,追加保存命令

    • 选项参数的使用

    # history -d 3   删除第3条命令记录。

    3、shell中利用命令历史的一些技巧:

    • 按“上下箭头”快速调用命令。
    • 根据history来快速调用命令

    !# 执行history中的第#条;

    !-#: 执行history中的倒数第#条;

    !!: 命令history中的最后一条命令;

    !string: 执行命令history中最近一条以“string”开头的命令;

    • !$快速使用上一条命令的参数

    wps_clip_image-16653

    • 使用快捷键快速自动显示上一条命令的参数。

        【Alt】+【.】

        按一下【Esc】松开,再按一下【.】

    4.2.6 日期相关命令

    1、date命令 日期命令

    date:

    显示天

    显示月

    显示年

    显示小时

    显示年-月-日

    显示小时:分钟:秒

    能否修改时间?如果可以,如何使用?

    date系统时间命令

    (1)显示日,月,年(2位)

    wps_clip_image-31507

    (2)显示指定格式的时间。

    wps_clip_image-1153

    (3)显示年月日。

    wps_clip_image-28213

    (4)显示当前时分秒。

    wps_clip_image-4562

    (5)使用date设定时间

    date 07091203   表示修改为当前年7月9日12:03:00。

    date 07091203.31 表示修改为当前年7月9日12:03:31

        说明:Linux有两套时间:硬件时钟。系统时钟。Linux在启动时系统时间会参考邮件时间。之后各走各的。所以这两个时间可能不一致。这与Windows不同。

    2、hwclock命令 硬件时间

    使用hwclock命令查看硬件时间。

    wps_clip_image-27839

    调整,以期在的某个时间为准

    hwclock -s  以系统时钟为准,将硬件时钟修改为系统时间。注意修改完仍可能有小小误差。

    hwclock -w 以硬件时钟为准,将系统时间修改为硬件时间。

    3、cal命令 日历命令

    输入cal

    wps_clip_image-4828

    补充知识

    HASH表

    hash,又称哈希,散列。

    hash算法,基本思想分析数据的特征,计算为一串字符串。hash码可能重复。

    hash表,key,hash码。value:数据。

    hash查找,在hash表中,利用hash码匹配查找。hash查找的时间复杂度为O(1)的,因此速度非常快。

    应用hash

    MySQL的索引技术。

    shell程序使用hash表存储以及使用过的外部命令。

    使用hash命令查看shell程序的hash存储。

    wps_clip_image-22919

    hits表示命中。在hash表中查找到一次,表示命中。

    4.3 命令帮助进阶

    4.3.1 获取内建命令的帮助 help命令

        使用格式:# help COMMAND

        例:查看history命令的帮助

            # help history

        help命令返回信息的意义:

    • []:可省略之内容。
    • <>:必须提供。
    • a|b:二选一,或多选一。
    • ...:前面的内容可重复出现多次。

    4.3.2 获取外部命令的使用手册

        Linux命令大概要学习200多个,工作中常用大概几十个。各个命令参数各不相同。因此命令帮助必不可少。

        获取外部命令帮助:

    1、manual: 使用手册,   man COMMAND

    2、info: 信息页,  info COMMAND

    3、简要使用帮助: COMMAND --help

    4、官方文档:google

    5、额外的文档:README、INSTALL、ChangeLog

    redhat这些文档存放于/usr/share/doc/ls-VERSION

    6、发行版官方文档,http://www.redhat.com/docs/

    1、man命令

        man手册:分章节

        程序:配置文件(用于定义程序的工作特性)

        对于不同类别的命令或配置等的手册位于不同的章节中;

    • 1:用户命令;
    • 2:系统调用;
    • 3:库调用;
    • 4:特殊文件,设备文件(一切皆文件,如硬件设备);
    • 5:文件格式,即配置文件;
    • 6:游戏;
    • 7:杂项;
    • 8:管理类命令;

        使用格式:

    man [章节数] 命令

    章节数可选。若为未指定章节,则使用第一次出现指定命令的章节中的资料。 

    例:使用man命令查看ls命令的使用手册

    man ls

    wps_clip_image-21066

    例:使用命令查看系统调用write()函数

    man 2 write

    例:如果知道自己要查询的内容是哪个章节,使用 -a 选项。根据提示查看章节内容。

    “printf”即是命令名称,也是函数名称。

    若只使用 man printf查询,则只会显示命令的printf帮助文档。

    使用 man -a printf ,即可查询出所有printf相关文档。

    例:查询man命令本身的帮助文档。

    man man

    2、man的控制命令

    滚动翻屏:

      • 空格键:向后翻一屏;
      • b: 向前翻一屏;
      • 回车键:向后翻一行;
      • k: 向前翻一行;
      • Ctrl+d: 向后翻半屏;
      • Ctrl+u: 向前翻半屏;
      • G: 跳转至文件尾;
      • 1G: 跳转至文件首;13G:跳转至13行;
      • q: 退出;

    文本查找:

      • /keyword: 从当前光标所在行开始,向文件尾部查找;支持正则表达式。
      • ?keyword: 从当前光标所在行开始,向文件首部查找;

    匹配一般会匹配多个,使用n,N查找上一个和下一个。

    n: 跟当前查找命令相同方向的下一个匹配;

    N:跟当前查找命令相反方向的下一个匹配;

        例:查找手册中“command”字符。输入/command 。

    wps_clip_image-16121

        command查找到后会反色显示。

        例:查看 passwd 命令。

        man passwd  显示第一章中的passwd。

    wps_clip_image-9574

        例:查看配置文件的使用帮助。配置文件位于第5章。

        passwd命令有一个配置文件。位于/etc/passwad。

        # man 5 passwd

    wps_clip_image-930

    3、获取命令所在章节 whatis 命令。

        whatis COMMAND 显示相应帮助所在的章节,及其简要说明;

        初装的系统whatis命令可能不能用。因为whatis是在数据库中查找的。但初装系统无相应数据库。

        生产数据库

        # makewhatis

    wps_clip_image-12175

        等待数据库生成时间。

        例:查看passwd命令所在章节与简要说明。

    wps_clip_image-9815

        若出现乱码则需要修改字符集。将语言设置为英文。# export LANG=en

    4、info命令

        info命令,较少使用。例:info ls

        info翻页:

    •     上下箭头,以及PageUp、PageDown
    •     q: 退出;

    补充:关于man手册的文件

    每个命令的man手册是有对应文件中的。

    wps_clip_image-9036

    man1,man2等表示第一章,第二章的man。其他表示语言包。

    进入man1 。cd man1;ls即可查看该目录下的文件。里面是命令手册的压缩文件。当需要查看某命令的文件时,会将手册临时解压出来以供查看。

    wps_clip_image-13143

  • 相关阅读:
    jdbc preparedstatement 调用存储过程的问题
    httpclient 优化
    httpclient 4种关闭连接
    Cloudstack介绍(一)
    Docker registry私有仓库(七)
    Docker生产实践(六)
    python装饰器
    Docker镜像构建(五)
    python 生成器和迭代器介绍
    Docker数据管理(四)
  • 原文地址:https://www.cnblogs.com/shijiaqi1066/p/3403582.html
Copyright © 2011-2022 走看看