Linux基础知识

2018-12-11  本文已影响0人  请叫我飘哥

1、计算机的组成及其功能

  说到计算机的组成那就不得不提冯·诺依曼体系结构,美籍匈牙利数学家冯·诺依曼于1946年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯·诺依曼体系结构冯·诺依曼理论的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行,人们把冯·诺依曼的这个理论称为冯·诺依曼体系结构。半个多世纪以来,计算机制造技术发生了巨大变化,但冯· 诺依曼体系结构仍然沿用至今,人们总是把冯· 诺依曼称为“计算机鼻祖”。
  根据冯·诺依曼体系结构特点,计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成,其功能我们如下图所示:


冯· 诺依曼体系结构

  以上是计算机的硬件组成及功能,当然光有这些硬件,计算机是不能正常运行的。我们还需要一个非常重要的东西,我们叫做操作系统(kernel也称内核),它负责加载控制使用运算器、控制器、存储器、输入/输出这些硬件设备。那操作系统组成如下图:


Linux操作系统组成

2、Linux的发行版,及不同发行版之间的联系与区别

2.1、什么是Linux发行版

  Linux 发行版(英语:Linux distribution,也被叫做GNU/Linux 发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。Linux发行版通常包含了包括桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常由Linux内核、以及来自GNU计划的大量的函数库,和基于X Window的图形界面。有些发行版考虑到容量大小而没有预装 X Window,而使用更加轻量级的软件,如:busybox, uclibc,dietlibc。现在有超过300个Linux发行版(Linux发行版列表)。大部分都正处于活跃的开发中,不断地改进。

2.2、Linux发行版的三个主流分支

  从上图Linux发行版列表我们可以看到,有三个linxu发行版的主流分支,它们分别如下:

2.2.1、Debian

  Debian由Lan Murdock与1993年创建,有stable(稳定分支),testing(测试分支)和unstable(不稳定分支)三个版本分支,该发行版主要以社区方式运作,没有商业公司支持,目前最流行的为其中一个分支Ubuntu,主要针对桌面和服务器。

2.2.2、Slackware

  是由Patrick Volkerding开发的GNU/Linux发行版。它的最大特点就是安装灵活,目录结构严谨,版本力求稳定而非追新,其代表分支S.u.S.E,它又包含商业版(SLES)和开源版(openSUSE)。

2.2.3、Redhat

  Redhat是由美国Red Hat(RHT)公司出品的计算机操作系统,一系列包括Redhat Enterprise Linux(收费)、Fedora Core(免费)、CentOS(免费)。国内使用的人数较多,资料非常丰富。目前国内用得比较多的为CentOS,Centos是基于Red hat Linux提供的可自由使用源代码的企业级Linux发行版本。每个版本的Centos都会获得十年的支持(通过安全更新的方式)。新版本的Centos大约每两年发行一次,而每个版本的Centos会定期(大概6个月)更新一次,以支持新的硬件。

2.2.4、其他有代表的发行版本

2.3、Linux发行版之间的联系与区别

3、Linux的哲学思想

4、Linux系统上命令的使用格式,及常用命令示例

4.1、命令提示符

登录系统后,第一眼看到的内容是:

[root@node01 ~]# 

上图就是 Linux 系统的命令提示符。那么,这个提示符的含义是什么呢?

4.2、命令的语法通用格式

~]# COMMAND [OPTIONS] [ARGUMENTS]
~]# 命令名 [选项] [参数]
命令格式中的 [] 代表可选项,也就是有些命令可以不写选项或参数,也能执行。例如:

[root@node01 ~]# ls
abc  anaconda-ks.cfg
[root@node01 ~]

接着,我们就用 Linux 中最常见的 ls 命令来解释一下命令的格式。

[root@node01 ~]# ls -l
总用量 8
-rw-r--r--. 1 root root   20 11月 30 14:35 abc
-rw-------. 1 root root 1647 11月 28 14:46 anaconda-ks.cfg
[root@node01 ~]# 

如果加一个"-l"选项,则可以看到显示的内容明显增多了。"-l"是长格式(long list)的意思,也就是显示文件的详细信息。至于"-l"选项的具体含义,我们稍后再详细讲解。可以看到选项的作用是调整命令功能。如果没有选项,那么命令只能执行最基本的功能;而一旦有选项,则可以显示更加丰富的数据。

[root@node01 ~]# ls -l /root
总用量 8
-rw-r--r--. 1 root root   20 11月 30 14:35 abc
-rw-------. 1 root root 1647 11月 28 14:46 anaconda-ks.cfg
[root@node01 ~]# 

但是为什么一开始 ls 命令可以省略参数?那是因为有默认参数。命令一般都需要加入参数,用于指定命令操作的对象是谁。如果可以省略参数,则一般都有默认参数ls -l 后面默认是以当前目录为参数。

4.3、常用基本命令示例

[root@node01 ~]# ifconfig ens32
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.192.2.222  netmask 255.255.255.0  broadcast 10.192.2.255
        inet6 fe80::58e9:fb25:8d97:81fa  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:84:af:8b  txqueuelen 1000  (Ethernet)
        RX packets 54298  bytes 12290214 (11.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9123  bytes 1309540 (1.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@node01 ~]# 

 给网卡ens32设置IP地址

[root@node01 ~]# ifconfig  ens32 10.192.2.224/24
[root@node01 ~]# ifconfig ens32
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.192.2.224  netmask 255.255.255.0  broadcast 10.192.2.255
        inet6 fe80::58e9:fb25:8d97:81fa  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:84:af:8b  txqueuelen 1000  (Ethernet)
        RX packets 55775  bytes 12408989 (11.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9757  bytes 1399059 (1.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@node01 ~]# echo -e "hello\nworld"
hello
world

打印上一个命令执行状态

[root@node01 ~]# ls -l
总用量 8
-rw-r--r--. 1 root root   20 11月 30 14:35 abc
-rw-------. 1 root root 1647 11月 28 14:46 anaconda-ks.cfg
[root@node01 ~]# echo "$?"
0
[root@node01 ~]# 
ps:""表示弱引用,''表示强引用,0表示执行状态成功,非0表示执行状态错误。
[root@node01 ~]# tty --version
tty (GNU coreutils) 8.22
Copyright (C) 2013 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。

由David MacKenzie 编写。
[root@node01 ~]# tty
/dev/pts/0
[root@node01 ~]# 
ps:pts表示伪终端。
[root@node01 ~]# date
Tue Dec 11 11:33:25 CST 2018
[root@node01 ~]# export LANG="zh_CN.UTF-8"
[root@node01 ~]# date
2018年 12月 11日 星期二 11:33:48 CST
[root@node01 ~]# 
[root@node01 ~]# cd /etc/sysconfig/
[root@node01 sysconfig]# echo "$(pwd)"
/etc/sysconfig
[root@node01 sysconfig]#

或 history -anrw [文件名]

或 history -ps 参数 [参数...]

-c:清空内存中的命令历史,不会清空历史文件中的记录

-d:删除制定命令历史记录,不会清空历史文件中的记录

-r:从历史命令文件中读取历史命令到内存中

-w:将内存中历史命令追加至历史命令文件中
常用示例:
查看并清除当前shell用户的历史命令

[root@node01 ~]# history 
    1  history -w
    2  ls
    3  cd
    4  pwd
    5  ls -ld
    6  history 
[root@node01 ~]# history -c
[root@node01 ~]# history -w
[root@node01 ~]# history 
    1  history -w
    2  history 
[root@node01 ~]# 
[root@node01 ~]# cat .bash_history 
history -w
[root@node01 ~]# shutdown -k 5 Pay attentionman shutdownsystemctl restart network well shutdown after 5min.
Shutdown scheduled for 二 2018-12-11 09:59:26 CST, use 'shutdown -c' to cancel.
[root@node01 ~]# 
Broadcast message from root@node01 (Tue 2018-12-11 09:54:26 CST):

Pay attentionman shutdownsystemctl restart network well shutdown after 5min.
The system is going down for power-off at Tue 2018-12-11 09:59:26 CST!

 立即关闭机器

[root@node01 ~]# shutdown -h now

Connection closed by foreign host.

Disconnected from remote host(10.192.2.224:22) at 10:12:42.
[root@node01 ~]# poweroff 

Connection closed by foreign host.

Disconnected from remote host(10.192.2.222:22) at 10:28:43.
[root@node01 ~]# reboot -f

Connection closed by foreign host.

Disconnected from remote host(10.192.2.222:22) at 10:34:06.
[root@node01 ~]# date 
2018年 12月 11日 星期二 10:55:00 CST
[root@node01 ~]# hwclock -r
2018年12月11日 星期二 10时49分05秒  -0.240715 秒
[root@node01 ~]# hwclock -w
[root@node01 ~]# hwclock -r
2018年12月11日 星期二 10时55分46秒  -0.927907 秒

5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的

5.1、命令帮助

[root@node01 ~]# type history
history 是 shell 内嵌
[root@node01 ~]#

5.2、man手册使用

使用手册(manual),手册压缩格式的文件,有章节之分。手册分为man1-man8。

6、Linux发行版的基础目录名称命名法则及功用规定

6.1、命名法则

  Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。参考:Filesystem Hierarchy Standard 故根据这个标准,Linux目录名如下图:

Filesystem Hierarchy Standard(文件系统层次化标准)

6.2、目录功用规定描述

上一篇 下一篇

猜你喜欢

热点阅读