MG ST HW-1


Linux主流发行版的介绍与它们之间的联系与区别

        1. Linux发行版介绍

        2. 主流发行版之间的联系与区别

安装CentOS7.8操作系统,创建登录用户

        1. 安装CentOS7.8

        2. 创建登录用户

配置环境变量,实现history显示执行命令的时间功能

        1. history命令的介绍

        2. 实现history显示执行命令的时间功能

Linux哲学思想

        1. Linux哲学思想

Linux命令使用格式及一些基础命令的使用

        1. 命令使用格式

        2. 基础命令介绍

                2.1 echo命令

                2.2 screen命令

                2.3 date命令

                2.4 hwclock, clock命令

                2.5 lscpu命令

                2.6 lsblk命令

                2.7 free命令

                2.8 uname命令

                2.9 ifconfig命令

                2.10 whoami, who, w命令

                2.11 export命令

             

Linux主流发行版的介绍与它们之间的联系与区别

1. 主流发行版介绍    

        Linux 发行版(英语:Linux distribution,也被叫做GNU/Linux 发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。Linux发行版通常包含了包括桌面环境、办公包、媒体播放器、数据库等应用软件。这些操作系统通常由Linux内核、以及来自GNU计划的大量的函数库,和基于X Window的图形界面。下一小节将介绍主流的几款Linux发行版。

2. 主流发行版之间的联系与区别

        这些发行版可以分为商业发行版,比如Ubuntu、Red Hat Enterprise Linux、openSUSE(Novell);和社区发行版,它们由自由软件社区提供支持,如CentOS、Debian、Fedora、Arch和Gentoo。它们都是类UNIX操作系统。

        Ubuntu是以桌面应用为主的Linux发行版,Ubuntu项目公开承诺开源软件开发的原则;鼓励人们使用自由软件,研究它的运作原理,改进和分发。Ubuntu是著名的Linux发行版之一,它也是目前最多用户的Linux版本。

        Red Hat Enterprise Linux(RHEL)是一个由Red Hat开发的商业市场导向的Linux发行版。红帽公司从 Red Hat Enterprise Linux 5 开始对企业版 LINUX 的每个版本提供 10 年的支持。Red Hat Enterprise Linux 常被简称为 RHEL。Red Hat Enterprise Linux 大约 3 年发布一个新版本。

        openSUSE,前身为SUSE Linux和SuSE Linux Professional,是一个Linux发行版与项目,它的开发重心是为软件开发者和系统管理者创造适用的开放源代码的工具,并提供易于使用的桌面环境和功能丰富的服务器环境。openSUSE针对桌面环境进行了一系列的优化,是一个对Linux新手较为友好的Linux发行版。

        CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux(RHEL)依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。CentOS和RHEL一样,都可以使用Fedora EPEL来补足软件。

        Debian是完全由自由软件组成的类UNIX操作系统,其包含的多数软件使用GNU通用公共许可协议授权,并由Debian计划的参与者组成团队对其进行打包、开发与维护。作为最早的Linux发行版之一,Debian在创建之初便被定位为在GNU计划的精神指导下进行公开开发并自由发布的项目。Debian也接受世界多个非营利组织的资金支持。

        Fedora Linux(第七版以前为Fedora Core)是较具知名度的Linux发行包之一,由Fedora项目社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由(开放源代码)的操作系统。Fedora是商业化的Red Hat Enterprise Linux发行版的上游源码。Fedora对于用户而言,是一套功能完备、更新快速的免费操作系统;而对赞助者Red Hat公司而言,它是许多新技术的测试平台,被认为可用的技术最终会加入到Red Hat Enterprise Linux中。Fedora大约每六个月发布新版本。


安装CentOS7.8操作系统,创建登录用户

1. 安装CentOS7.8

安装CentOS7.8的详细操作步骤,请参阅下列CentOS官方说明文档。

https://docs.centos.org/en-US/centos/install-guide/

2. 创建登录用户

在安装操作系统中创建用户的方式,请参考下列官方说明文档。

https://docs.centos.org/en-US/centos/install-guide/UserSpoke-x86/

注意:虽然建议在安装过程中创建登录用户,但此步骤是可选项,可以在操作系统安装完成后执行创建用户操作。


配置环境变量,实现history显示执行命令的时间功能

1. history命令

history命令用于显示和操作命令历史列表,可以列出此前操作过的命令,并可以通过!快速调用之前执行过的命令。

默认历史命令的最大条目为1000条,记录在$HISTSIZE变量中,可以通过编辑 /etc/profile文件中的HISTSIZE值来修改。

登录终端后操作过的命令,记录在内存中,当正常退出终端后,内存中的历史命令记录会自动保存到当前用户家目录下的.bash_history文件中,当下次用户登录时,系统会自动读取此文件的历史命令记录到内存中。


2.  实现history显示执行命令的时间功能

[root@centos7-1 ~]# history    # 在命令行中执行history,可以显示历史命令列表
1  vi /etc/profile.d/init.sh
2  . /etc/profile.d/init.sh
[root@centos7-1 ~]# vi .bash_profile  # 使用vi命令打开用户家目录中的.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export "HISTTIMEFORMAT=%F %T "    # 在文本最后行加入此命令
[root@centos7-1 ~]# source .bash_profile # 执行source或 . 命令,使配置文件立即生效
[root@centos7-1 ~]# history                       # 实现显示执行命令的时间功能
1  2021-01-27 14:06:18 vi /etc/profile.d/init.sh
2  2021-01-27 14:06:18 . /etc/profile.d/init.sh


Linux哲学思想

1. Linux哲学思想

1.1 一切皆为文件
        在Linux操作系统中,无论是硬件设备,内核参数,虚拟内存等等,都以文件的形式呈现。

1.2 单一的小程序组合后,完成复杂任务
        每一个小程序都解决成功一个单一任务,多个单一的程序组合后,可以完成复杂的任务,并且能完成的很好。

1.3 尽量避免与用户交互
        不同于Windows操作系统的实时与用户交互,Linux中,在执行命令完成任务时,尽量避免与用户交互是Linux的一大核心理念。

1.4 所有配置信息以文本形式保存
        Linux中,无论修改任何服务的配置信息,只需修改其配置文件。


Linux命令使用格式及一些基础命令的使用

1. 命令使用格式

在Linux中,命令的使用格式为 COMMAND [OPTION...] ARGUMENT...
COMMAND    为执行的命令
OPTION         为命令执行时,以何种形式呈现
        长选项    --help; --human-readable
        短选项    -l; -n
        BSD风格的选项    a; u; x
        注意:长选项不可以合并;短选项可以合并;
ARGUMENT  为命令的执行作用对象

2. 部分基础命令介绍

在Linux中,命令分为内部命令与外部命令,可以使用type命令查看命令类型。
示例:

[root@centos7-1 ~]# type echo
echo is a shell builtin

[root@centos7-1 ~]# type date
date is /usr/bin/date

2.1 echo命令

echo命令 在标准输出中使用换行符显示参数
        常用选项
                -n    显示输出,不换行
                -e    启用转义解释  

[root@centos7-1 ~]# echo "Hello World!"
Hello World!
[root@centos7-1 ~]# echo -n "Hello World!"        # 显示输出,不换行
Hello World![root@centos7-1 ~]#
[root@centos7-1 ~]# echo -e "Hello\vWorld"          # 纵表显示
Hello
         World
[root@centos7-1 ~]# echo -e "Hello\tWorld"            # 横表显示
Hello  World

2.2 screen命令

Screen是一种全屏窗口管理器,用于物理终端在几个进程之间多路传输(通常是交互式shell)

Use: screen [-opts] [cmd [args]]
        常用选项
                -S sockname创建会话
                -x  加入会话
                exit 退出所有会话
                ctrl+a, d 退出当前会话,不影响对端会话

2.2.1 screen命令实现多屏模式
        在同一台主机,使用同一个账户登录,启用screen后,即可实现在任何一个终端上的操作,另一个终端都可以实时看到,实现多屏模式的功能。

[root@centos7-1 ~]# screen -S multi-screen        # 开启名为multi-screen的会话
[root@centos7-1 ~]# screen -x multi-screen        # 在另一个终端加入multi-screen会话

2.2.2 screen命令实现远程终端窗口关闭时,会话并不终止,而是继续运行
        例如 SSH登录远端主机,打开远程终端执行命令时,终端软件故障或网络突然断线会导致SSH会话中止,在进程中执行的与之绑定的前端任务随之消失。可以通过screen命令,把进程会话与终端窗口分离,以避免上述的问题。

[root@centos7-1 ~]# screen                 # screen开启会话

[root@centos7-1 ~]# ping 127.0.0.1     # 执行ping命令
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.013 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.023 ms

[root@centos7-1 ~]# ps auxf                # 查看进程
root 77851 0.0 0.6 161360 6044 ? Ss 16:40 0:00 \_ sshd: root@pts/4
root      77853  0.0  0.2 115836  2424 pts/4    Ss  16:40  0:00  |  \_ -bash
root      78056  0.0  0.1 127636  1172 pts/4    S+  16:44  0:00  |      \_ screen
root      78057  0.0  0.1 127900  1436 ?        Ss  16:44  0:00  |          \_ SCREEN
root      78058  0.0  0.2 115840  2444 pts/7    Ss  16:44  0:00  |              \_ /bin/bash
root      78097  0.0  0.1 128440  1272 pts/7    S+  16:44  0:00  |                  \_ ping 127.0.0.1

[root@centos7-1 ~]# ps auxf                # 关闭SSH远程登录后,再查看进程,ping进程依然在执行
root 78057 0.0 0.1 127900 1436 ? Ss 16:44 0:00 SCREEN
root      78058  0.0  0.2 115840  2444 pts/7    Ss  16:44  0:00  \_ /bin/bash
root      78097  0.0  0.1 128440  1272 pts/7    S+  16:44  0:00      \_ ping 127.0.0.1

2.3 date命令

date 按格式显示当前系统时间或设置系统时间
Usage: date [OPTION]... [+FORMAT] or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

[root@centos7-1 ~]# date                                      # 显示当前系统时间
Wed Jan 27 16:54:48 CST 2021
[root@centos7-1 ~]# date "+%F %T"                    # 按格式输出当前系统时间
2021-01-27 16:55:06
[root@centos7-1 ~]# date 100112302030.30        # 修改系统时间为2030年10月1日12时30分30秒
Tue Oct  1 12:30:30 CST 2030
[root@centos7-1 ~]# date -d '-1 day'                     # 显示当前系统时间的前一天
Mon Sep 30 12:30:47 CST 2030
[root@centos7-1 ~]# date -d '100 day'                  # 显示当前系统时间后第100天
Thu Jan  9 12:30:52 CST 2031
[root@centos7-1 ~]# date -d '100 day' +%F          # 按格式显示当前系统时间后第100天
2031-01-09

2.4 hwclock,clock命令

hwclock, clock 查询和设置硬件时钟
        常用选项
        -w 以系统时钟为准,设定硬件时钟
        -s  以硬件时钟为准,设定系统时钟

[root@centos7-1 ~]# date
Tue Oct  1 12:58:35 CST 2030
[root@centos7-1 ~]# hwclock
Thu 28 Jan 2021 03:19:39 AM CST  -0.318648 seconds
[root@centos7-1 ~]# hwclock -w                # 以系统时钟为准,设定硬件时钟
[root@centos7-1 ~]# hwclock
Tue 01 Oct 2030 12:59:03 PM CST  -0.489770 seconds
[root@centos7-1 ~]# date 012707202021.30
Wed Jan 27 07:20:30 CST 2021
[root@centos7-1 ~]# hwclock -w
[root@centos7-1 ~]# hwclock
Wed 27 Jan 2021 07:20:44 AM CST  -0.130455 seconds
[root@centos7-1 ~]# date 010101012022
Sat Jan  1 01:01:00 CST 2022
[root@centos7-1 ~]# hwclock -s                # 以硬件时钟为准,设定系统时钟
[root@centos7-1 ~]# date
Wed Jan 27 07:21:12 CST 2021

2.5 lscpu命令

lscpu 显示cpu架构信息
cat /proc/cpuinfo 也可显示cpu架构信息

[root@centos7-1 ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:  0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):            1
NUMA node(s):          1
Vendor ID:            GenuineIntel
CPU family:            6
Model:                142
Model name:            Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
Stepping:              10
CPU MHz:              2111.999
BogoMIPS:              4223.99
Hypervisor vendor:    VMware
Virtualization type:  full
L1d cache:            32K
L1i cache:            32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):    0
Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat spec_ctrl intel_stibp flush_l1d arch_capabilities

2.6 lsblk命令

lsblk 列出块设备信息
        常用选项
        -f 列出文件系统信息,包含名称,类型,标签,UUID和挂载点

cat /proc/partitions 也可列出块设备信息

[root@centos7-1 ~]# lsblk
NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk
├─sda1  8:1    0    1G  0 part /boot
├─sda2  8:2    0  100G  0 part /
├─sda3  8:3    0  50G  0 part /data
├─sda4  8:4    0    1K  0 part
└─sda5  8:5    0    2G  0 part [SWAP]
sr0    11:0    1  10G  0 rom  /media

2.7 free命令

free 显示系统的总内存与以使用内存的大小
        常用选项
        -h 以人类易读方式显示(M,G,T...),默认以字节大小显示

[root@centos7-1 ~]# free -h
                   total           used        free         shared  buff/cache  available
Mem:          972M        124M        545M        13M        302M        659M
Swap:          2.0G          0B        2.0G

2.8 uname命令

uname 显示系统信息
        常用选项
        -n 显示主机名
        -r  显示内核版本
        -a 显示所有信息

[root@centos7-1 ~]# uname -a
Linux centos7-1.magedu.org 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@centos7-1 ~]# uname -n
centos7-1.magedu.org
[root@centos7-1 ~]# uname -r
3.10.0-957.el7.x86_64

2.9 ifconfig命令

ifconfig 配置网络接口
        常用选项
        -a 显示所有网络接口,默认
        -s 显示简短列表,等同于netstat -i
        -v 如果有错误,显示详细信息
        up 开启指定网络接口
        down 关闭指定网络接口

[root@centos7-1 ~]# ifconfig eth0                     # 显示eth0网络接口信息
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 10.0.0.53  netmask 255.255.255.0  broadcast 10.0.0.255
 inet6 fe80::4bb8:f97c:3040:e0bc  prefixlen 64  scopeid 0x20<link>
ether 00:0c:29:fa:49:49  txqueuelen 1000  (Ethernet)
RX packets 49819  bytes 16321961 (15.5 MiB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 102392  bytes 11731010 (11.1 MiB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@centos7-1 ~]# ifconfig down eth1            # 关闭eth1网络接口
[root@centos7-1 ~]# ifconfig eth1 up                 # 启用eth1网络接口

2.10 whoami, who, w命令

whoami 显示当前用户
who 显示当前登录系统的用户,终端,登录时间,时长和远端IP地址
w 显示当前主机CPU负载,登录系统的用户,终端,登录时间,时长,远端IP地址和正在执行的命令或程序

[root@centos7-1 ~]# whoami
root
[root@centos7-1 ~]# who
root    tty1        2021-01-27 13:33
root    pts/0        2021-01-27 14:06 (10.0.0.1)
[root@centos7-1 ~]# w
08:02:42 up 22:56,  6 users,  load average: 0.01, 0.02, 0.05
USER    TTY      FROM            LOGIN@  IDLE  JCPU  PCPU WHAT
root    tty1                      13:33    ?    0.12s  0.12s -bash

2.11 export命令

export 显示和声明环境变量

[root@centos7-1 ~]# export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HISTTIMEFORMAT="%F %T root "
declare -x HOME="/root"
declare -x HOSTNAME="centos7-1.magedu.org"
......

[root@centos7-1 ~]# export NAME=pete
[root@centos7-1 ~]# echo $NAME
pete




    




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容

  • 1、按系列罗列Linux的发行版,并描述不同发行版之间的联系和区别。​ Linux的发行版大体可以分两...
    陌路残蝉阅读 120评论 0 0
  • 一、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 1.Linux发行系列 Debian U...
    神牧阅读 93评论 0 0
  • linux发行版 red hat linux Red Hat(红帽公司)创建于 1993 年,是目前世界上资深的 ...
    紫火红云阅读 327评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,160评论 2 33
  • 1、Linux的各系列发行版,不同发行版之间的联系与区别。 linux发展至今主流的有三大版本,分别为:Debia...
    小罗很忙阅读 257评论 0 1