1、linux常见发行版

  • redhat:RHEL:RedHat Enterprise Linux,红帽公司项目
  • CentOS:Community Enterprise Operating System,兼容RHEL的格式
  • debian
  • ubuntu:主流操作系统之一
  • ArchLinux:轻量简洁
  • Gentoo:极致性能
  • Apline:一个面向安全的轻型Linux发行版。
  • LFS:Linux From scratch 自制Linux,只是一个说明书
  • Android:Kernel+busybox(工具集)+java虚拟机 更多版本参考Linux分支参考网站:http://futurist.se/gldt/

目前比较著名的三大主流发行版为Debian、RedHat、SUSE。 Debian是包括Ubuntu在内许多发行版的上游,Debian是一个纯开源计划并着重在一个关键点上,稳定性。它同时提供了最大的和完整的软件仓库给用户。 Ubuntu是基于Debian的unstable版本加强而来,Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux桌面系统。 RedHat Linux系列是红帽公司研发的Linux发行版,包括Fedora、RHEL、CentOS和Oracle Linux多种版本。

2、centos7.9及ubuntu安装

要想在vmware里面安装操作系统,先要创建一个虚拟机能够容纳镜像U盘等媒介,就好比在vmware里面模拟出一台没有安装过windows这类操作系统的空壳电脑一样,然后把镜像文件插入模拟出的电脑,就可以开始装系统。这意味着用vmware装系统就两个大步骤:一、模拟出一个空壳机器;二、插入镜像文件安装系统。
安装前准备好镜像 ①、安装centos7.9,直接看流程即可 image.png

image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png 到此我们就模拟出一个空壳机器了。

接下来就是插入镜像文件开始安装系统,按自己的需求安装,我这里安装的是centos7.9的版本 image.png

image.png 插入准备好的镜像,点击确定 image.png

image.png

第一次装的建议选第二项,可以检验镜像是否损坏,我这里直接选择install centos 7

image.png

image.png

设置时区 image.png

调到亚洲上海

image.png

LOCALZATION调成这样就行

image.png

image.png

SOFTWARE调整成这样就行 image.png

这个我们采取标准分区

image.png image.png

image.png

image.png

image.png

以上就分区完,留下剩余空间做实验用,也可以不留 分区格式如下 / 100G xfs /data 50G ext4 /boot 1G xfs swap 2G swap

image.png

image.png

image.png

至此SYSTEM配置完,点击开始安装 image.png

配置管理员和普通用户账号密码 image.png

至此centos7.9安装完毕,重启就可以使用 image.png




②、安装ubuntu18.04.5,直接看流程即可 image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

回车

image.png

回车 image.png

主机名任意修改,回车下一步 image.png

设置全名,回车下一步 image.png

设置密码 image.png

第二次输入 image.png

因为我设置的密码太弱,所以确定就选yes image.png

选yes image.png

手动分区 image.png

选中回车 image.png

选yes image.png

选中回车 image.png

创建分区

image.png

创建分区完回车 image.png

选yes

image.png

没有代理服务器,下一步 image.png

这里选不自动跟新 image.png

勾选mail和openssh服务,尤其是ssh,连接xshell用 image.png

image.png
以上安装完毕。

3、配置环境变量

[15:41:57 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo HISTTIMEFORMAT='%F %T' >> /etc/profile.d/histoty.sh
[15:44:44 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#source /etc/profile.d/histoty.sh

4、总结Linux哲学思想。

①一切皆文件 ②提供很多小型的单一用途的程序 ③连接程序,共同完成复杂功能 ④避免令人困惑的用户界面 ⑤配置数据存储在文本中

5、Linux常用命令使用格式,echo、screen、date、ifconfig、export等命令

echo

echo 命令可以将后面跟的字符进行输出功能:显示字符,echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号语法:

echo [-neE][字符串]

选项:

  • -E (默认)不支持\解释功能
  • -n 不自动换行
  • -e 启用\字符的解释功能 显示变量
echo "$VAR_NAME”   #双引号用变量值替换,弱引用
echo '$VAR_NAME’   #单引号变量不会替换,强引用

启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出 \a 发出警告声 \b 退格键 \c 最后不加上换行符号 \e escape,相当于\033 \n 换行且光标移至行首 \r 回车,即光标移至行首,但不换行 \t 插入tab \ 插入\字符 \0nnn 插入nnn(八进制)所代表的ASCII字符 \xHH插入HH(十六进制)所代表的ASCII数字(man 7 ascii)

范例:

[15:44:44 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo -e 'a\x0Ab'
a
b
[16:07:57 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo -e '\033[43;31;1;5mmagedu\e[0m'
magedu
[16:08:46 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo -e '\x57\x41\x4E\x47'
WANG
[16:37:03 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo \$PATH
$PATH
[16:37:54 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo \
> 
[16:40:00 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo \\
\
[16:40:02 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo \\\
> 
[16:40:31 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo \\\\
\\
[16:40:35 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[16:40:59 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#echo '$PATH'
$PATH

echo高级用法

在终端中,ANSI定义了用于屏幕显示的Escape屏幕控制码具有颜色的字符,其格式如下:

"\033[字符背景颜色;字体颜色m字符串\033[0m"

\033[30m -- \033[37m 设置前景色 \033[40m -- \033[47m 设置背景色

#字符背景颜色范围: 40--47                   
40:黑                       
41:红                        
42:绿                        
43:黄                        
44:蓝                        
45:紫                        
46:深绿                      
47:白色                      

#字体颜色: 30--37
30: 黑
31: 红
32: 绿
33: 黄
34: 蓝
35: 紫
36: 深绿
37: 白色

加颜色只是以下控制码中的一种,下面是常见的一些ANSI控制码:

\033[0m   关闭所有属性  
\033[1m   设置高亮度  
\033[4m   下划线  
\033[5m   闪烁  
\033[7m   反显  
\033[8m   消隐  
\033[nA   光标上移n行  
\033[nB   光标下移n行  
\033[nC   光标右移n列  
\033[nD   光标左移n列  
\033[x;yH 设置光标位置x行y列  
\033[2J   清屏  
\033[K   清除从光标到行尾的内容  
\033[s   保存光标位置  
\033[u   恢复光标位置  
\033[?25l   隐藏光标  
\033[?25h   显示光标
\033[2J\033[0;0H 清屏且将光标置顶

screen

利用screen 可以实现会话管理,如:新建会话,共享会话等 注意:CentOS7 来自于base源,CentOS8 来自于epel源 范例:安装 screen

#CentOS7 安装screen
[root@centos7 ~]# yum install screen -y

#CentOS8 安装screen
[16:41:20 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#dnf install screen -y

screen命令常见用法:

  • 创建新screen会话 screen –S [SESSION]
  • 加入screen会话 screen –x [SESSION]
  • 退出并关闭screen会话 exit
  • 剥离当前screen会话 Ctrl+a,d
  • 显示所有已经打开的screen会话 screen -ls
  • 恢复某screen会话 screen -r [SESSION]

date (print or set the system date and time)

Linux有两种时钟

  • 系统时钟:由Linux内核通过CPU得工作频率进行的
  • 硬件时钟:主板

语法: date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] -d :显示字符串表示的时间 -s :设置字符串表示的时间 范例:

[17:21:14 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#date
Fri Jul  9 17:21:33 CST 2021
[17:21:33 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#date +%F-%T
2021-07-09-17:23:03
[17:19:51 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#date +%s
1625822401
[17:20:01 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#date -d @`date +%s`
Fri Jul  9 17:20:39 CST 2021
[17:20:39 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#date -d @1584689051
Fri Mar 20 15:24:11 CST 2020

ifconfig

来自于net-tools,建议使用ip代替 语法:

ifconfig [interface]
ifconfig -a
ifconfig IFACE [up|down]
ifconfig interface [aftype] options | address ...
ifconfig IFACE IP/netmask [up]
ifconfig IFACE IP netmask NETMASK

范例:

[17:23:03 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig ens33 10.0.0.3 netmask 255.255.0.0

#清除ens33上面的IP地址
[17:23:03 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig ens33 0.0.0.0

#启用或禁用网卡
[17:23:03 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig ens33 down
[17:23:03 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig ens33 up

#对一块网卡设置多个IP地址
[17:23:03 root@centos-8 date]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig ens33:1 10.0.0.3/24
[17:38:51 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.150  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::14f2:778b:2d4:6839  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:9b:e3:27  txqueuelen 1000  (Ethernet)
        RX packets 18144  bytes 26434291 (25.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6400  bytes 427032 (417.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255
        ether 00:0c:29:9b:e3:27  txqueuelen 1000  (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48  bytes 4080 (3.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 4080 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:eb:36:54  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig -s DEV (查看网卡流量信息) 范例:

[17:41:10 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig -s 
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500    18206      0      0 0          6450      0      0      0 BMRU
ens33:1          1500      - no statistics available -                        BMRU
lo              65536       48      0      0 0            48      0      0      0 LRU
virbr0           1500        0      0      0 0             0      0      0      0 BMU

[18:22:08 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#ifconfig -s ens33
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500    18457      0      0 0          6660      0      0      0 BMRU

export

变量可以export变量名="值"形式存放在/etc/profile或~/.bash_profile 范例:

[18:23:49 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#cat .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 HISTCONTROL=ignoreboth
export HISTTIMEFORMAT="%F %T "

[18:30:30 root@centos-8 ~]
	~     数据无价
        ~ ~ ~ ~ ~ ~ ~ ~ ~~>#history
    8  2021-07-09 17:37:00bash 99.sh 
    9  2021-07-09 17:37:00vim 99.sh
   10  2021-07-09 17:37:00bash 99.sh 
   11  2021-07-09 17:37:00vim 99.sh
   12  2021-07-09 17:37:00bash 99.sh 
   13  2021-07-09 17:37:00vim 99.sh
   14  2021-07-09 17:37:00bash 99.sh 
   15  2021-07-09 17:37:00vim 99.sh

6、Linux发行版的系统目录名称命名规则以及用途。

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(boot loader,grub)都存放于此目录
/bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置 
	b: block device,块设备 
	c: character device,字符设备
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr: universal shared, read-only data 
     bin: 保证系统拥有完整功能而提供的应用程序 
     sbin: 
     lib:32位使用 
     lib64:只存在64位系统 
     include: C程序的头文件(header files) 
     share:结构化独立的数据,例如doc, man等       
	  local:第三方应用程序的安装位置   
/var: variable data files 
     cache: 应用程序缓存数据目录 
     lib: 应用程序状态信息数据 
     local:专用于为/usr/local下的应用程序存储可变数据 
     lock: 锁文件 
     log: 日志目录及文件 
     opt: 专用于为/opt下的应用程序存储可变数据 
     run: 运行中的进程相关数据,通常用于存储进程pid文件 
     spool: 应用程序数据池 
     tmp: 保存系统两次重启之间产生的临时数据
/proc: 用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

Linux下的文件类型

- 普通文件
d 目录文件
l 符号链接文件
b 块设备
c 字符设备
p 管道文件
s 套接字文件