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

原文地址:https://www.cnblogs.com/shijiaqi1066/p/3403582.html